요청된 명령

요청된 명령

먼저 용어를 명확히 하겠습니다.
종속성 <-> 역 종속성/종속성

헤드리스 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

관련 정보