アンインストール/クリーニング時に「apt」は依存関係の削除をどのように確認しますか? AkAは「apt」の動作を理解するのに役立ちました。

アンインストール/クリーニング時に「apt」は依存関係の削除をどのように確認しますか? AkAは「apt」の動作を理解するのに役立ちました。

Linuxでサウンドで遊んでパッケージをインストールしようとしていますjackd。返された内容の関連抜粋は次のとおりですapt

$ 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 purge jackd
The following packages will be REMOVED:
  jackd* qjackctl*

後続のインストール:

$ sudo apt install jackd
The following NEW packages will be installed:
  jackd

- - - - - 編集する - - - - -

それから:

sudo apt autoremove
The following packages will be REMOVED:
  libfwup1

(これはjackdをインストールする前にすでに述べたパッケージです)

-----------編集終了----------

この実験では、apt依存関係は削除されていないようです。ところで、qjackctlまとめでは、私が特に言及したパッケージ()に加えて、他のパッケージ()も削除しましたjackd

qjackctlデーモンの対応するGUIインターフェースのパッケージですjackd。もう必要ないかどうかを知っていますjackd。ただし、論理的に他の依存関係もインストールされるため、次のようになります。

  • なぜ削除されなかったのですか?
  • なぜ削除されたのですqjackctlか?
  • 2番目のインストールではなぜqjackctl得られませんでしたか?

ただワイヤー発見は問題のパッケージにのみ当てはまります。

ご協力ありがとうございました

PS:Arch Linuxパーティションをインストールしました(後でUbuntuパーティションを交換する予定)。私はpacmanまだそれについてよく知っていません。このパッケージマネージャを使用すると、この動作をよりよく管理できますか? (より正確には非対称動作と予測可能動作)

ベストアンサー1

追加のパッケージは(おそらく間接的に)依存するため、インストールされますjackdjackd2直接依存関係、残りの依存関係は推奨されるためインストールされ、推奨パッケージjackd2はデフォルトでインストールされます。qjackctljackd2

特に、インストールされたパッケージの依存関係ツリーは次のとおりです。

jackd
└─ jackd2
   ├─ python-dbus
   │  └─ python-gi (recommended)
   ├─ jackd2-firewire (recommended)
   │  └─ libffado2
   │     ├─ libconfig++9v5
   │     ├─ libglibmm-2.4-1v5
   │     │  └─ libsigc++-2.0-0v5
   │     └─ libxml++2.6-2v5
   └─ qjackctl (recommended)

2つの追加の依存関係はインストール段階には影響しませんが、後で重要になります。依存関係jackd2-firewirejackd2依存qjackctl関係jackd

後者の依存関係は、アンインストールjackd2時にqjackctlパッケージも削除する必要があることを意味します(厳密な依存関係がないとパッケージをインストールできません)。他のパッケージはそれに依存していないjackdので削除されませんでした。ただし、依存性apt autoremoveのためにどのパッケージも不要になりませんでした...(覚えられない)jackd2-firewirejackd2apt具体的にどんなパッケージですか?別のパッケージをインストールするようにしてください。autoremove自動的にインストールされたパッケージのみを確認して、そのパッケージに依存しないことを確認してください。追加の変更でautoremoveパッケージのインストールを維持するのに十分な提案が重要だと思いました。 )

2番目のインストール時に依存jackd関係aptを確認してください。つまり jackd2または、jackd1お知らせは既にインストールされており、そのままであるため、お知らせ自体ではなくお知らせが推奨しているため、「欠落」をjackd2認識しません。qjackctljackd2jackd

aptitude依存パッケージを削除した後は、別途のautoremove手順を必要とせずに不要なパッケージを削除すると、使いやすくなります。コマンドはと同じですapt。フルスクリーンのテキストベースのユーザーインターフェイスもあります。

おすすめ記事