`apt`は自動的にインストールされた依存関係を削除しません

`apt`は自動的にインストールされた依存関係を削除しません

システム: Ubuntu 18.04

aptjackdをアンインストールした後も の依存関係jackd2(および 自身の依存関係)は削除されませんjackd

$ sudo apt install jackd
The following additional packages will be installed:
  jackd2 jackd2-firewire libconfig++9v5 libffado2 libglibmm-2.4-1v5 libsigc++-2.0-0v5 libxml++2.6-2v5 python-dbus python-gi qjackctl

$ sudo apt remove jackd
The following packages will be REMOVED:
  jackd qjackctl

$ sudo apt autoremove 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded.

$ sudo apt remove jackd2
The following packages were automatically installed and are no longer required:
  libconfig++9v5 libffado2 libglibmm-2.4-1v5 libsigc++-2.0-0v5 libxml++2.6-2v5 python-dbus python-gi
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  jackd2 jackd2-firewire
$ sudo apt autoremove 
The following packages will be REMOVED:
  libconfig++9v5 libffado2 libglibmm-2.4-1v5 libsigc++-2.0-0v5 libxml++2.6-2v5 python-dbus python-gi
0 upgraded, 0 newly installed, 7 to remove and 15 not upgraded.

答え1

システムに を推奨または提案する別のパッケージがインストールされている可能性がありますjackd2。 を使用しaptitude why jackd2てそれを確認できます。

私の場合は、別の依存関係を介したパッケージですblender

$ aptitude why jackd2                                                                                      
i   blender          Depends  libjack-jackd2-0 (>= 1.9.10+20150825) | libjack-0.125
i A libjack-jackd2-0 Suggests jackd2 (= 1.9.12~dfsg-2+b1)                          

また、apt はおそらく推奨事項と提案を依存関係として扱うように設定されており、この設定は およびAPT::Autoremove::RecommendsImportantと呼ばれますAPT::Autoremove::SuggestsImportant

最初の設定はそのままにしておくことをお勧めしますが、推奨設定を無効にしても問題ありません (ただし、保持したいパッケージがアンインストールされる可能性があり、その場合は自動的にインストールされたパッケージとしてマークが解除されます)。

suggests と depends を autoremove で処理する設定を無効にするには:

sudo apt-get autoremove -o APT::Autoremove::SuggestsImportant=0

関連情報