まず、用語を明確にします。
依存関係<->逆依存関係/依存関係
私はヘッドレス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
(明示的な依存関係を除いて、Debianはリストとフィールドの使用方法が気に入らず曖昧だと思います。だからブルズアイの基本メタパッケージを作成しました。)
このパッケージが削除されないようにする他のメカニズムは何ですか?
質問に戻って、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
たとえば、他のパッケージがそのパッケージが依存するパッケージの1つと競合する場合に便利です。アーカイブ済みとマークすると、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