먼저 용어를 명확히 하겠습니다.
종속성 <-> 역 종속성/종속성
헤드리스 RPI에 설치 했는데 xvt
왜 자동으로 제거되지 않는지 모르겠습니다.
$ sudo apt autoremove
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ apt show xvt Package: xvt Version: 2.1-20.3
Priority: optional
Section: x11
Maintainer: Sam Hocevar (Debian packages) <[email protected]>
Installed-Size: 85.0 kB
Provides: x-terminal-emulator
Depends: libc6 (>= 2.4), libx11-6
Suggests: menu
Conflicts: suidmanager (<< 0.50)
Download-Size: 36.3 kB
APT-Manual-Installed: no
APT-Sources: http://raspbian.raspberrypi.org/raspbian bullseye/main armhf Packages
Description: ...
$ apt-cache rdepends --installed xvt
xvt
Reverse Depends:
이것들은 목록에 없습니다xvt
$ dpkg-query -Wf '${Package;-40}${Essential}\n' | grep yes
$ dpkg-query -Wf '${Package;-40}${Priority}\n' | grep -E "important"
$ dpkg-query -Wf '${Package;-40}${Priority}\n' | grep -E "required"
$ apt-config dump | grep '^APT::NeverAutoRemove::'
$ apt-mark showmanual
bullseye-default
equivs
pihole-deps
smbclient
transmission-daemon
wireguard-tools
$ apt-mark showhold
(명시적인 종속성을 제외하면 데비안이 목록과 필드를 사용하는 방식이 마음에 들지 않고 모호하다고 생각합니다. 그래서 불스아이 기본 메타패키지를 만들었습니다.)
이 패키지가 제거되는 것을 방지하는 다른 메커니즘은 무엇입니까?
질문으로 돌아가서, xvt
이 예와 같이 비밀리에 중복되는 다른 패키지를 어떻게 찾나요?
요청된 명령
$ dpkg -l xvt
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=====================================>
ii xvt 2.1-20.3 armhf X terminal-emulator similar to xterm,
답변1
귀하의 apt-cache rdepends
출력은 패키지 설치를 유지할 것이 아무것도 없음을 나타냅니다. xvt
이는 귀하의 행동을 고려하면 이상합니다.autoremove
일반적으로 특정 패키지가 유지되는 이유를 파악하는 가장 좋은 도구는 다음과 같습니다 aptitude why
.
aptitude why xvt
aptitude
( 먼저 설치 해야 할 수도 있습니다 ).
수동으로 설치된 패키지가 없는 역방향 종속성의 모든 패키지를 나열하려면 apt autoremove
권장 및 제안 패키지를 무시하고 시뮬레이션 모드에서 실행하십시오.
sudo apt autoremove -s -o Apt::AutoRemove::SuggestsImportant=0 -o Apt::AutoRemove::RecommendsImportant=0
기본적으로 autoremove
불균형이 있습니다. 권장 패키지가 아닌 권장 패키지가 기본적으로 설치되지만 권장 패키지는 자동 제거를 방지합니다. 바라보다apt-get dist-upgrade 및 apt-get autoremove와 상호 작용하는 방법에 대한 권장 사항 및 제안은 무엇입니까?더 알아보기.
답변2
이 패키지가 제거되는 것을 방지하는 다른 메커니즘은 무엇입니까?
이를 사용하여 apt-mark hold
패키지가 자동으로 업그레이드되거나 제거되는 것을 방지할 수 있습니다.
bullseye-default
예를 들어, 다른 패키지가 해당 패키지가 의존하는 패키지 중 하나와 충돌하는 경우 유용합니다. 보관됨으로 표시하면 bullseye-default
자동으로 제거되는 것을 방지할 수 있습니다(따라서 다른 패키지에 의존/권장/제안하지 않는 경우 해당 패키지가 자동 제거 후보가 됩니다).
업그레이드해야 하는 경우 bullseye-default
수동으로 수행한 다음 다시 실행해야 합니다 apt-mark hold bullseye-default
(업그레이드 패키지가 보류를 해제하므로).
BTW는 apt-mark
패키지의 자동/수동 설치 상태를 변경하는 데에도 사용할 수 apt-mark auto packagename
있습니다 apt-mark manual packagename
. 자동 설치 및 수동 설치 패키지 목록 을 표시하는 데에도 사용할 수 있습니다 apt-mark showauto
.apt-mark showmanual