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
アンインストールされたのですか? qjackctl
2 回目のインストールでは取得されなかったのはなぜですか?
のみ糸見つかったのは問題のパッケージに固有のものでした。
ご協力ありがとうございました
PS: Arch Linux パーティションのインストールが終わったところです (将来的には Ubuntu パーティションを置き換える予定です)。今のところあまり詳しくありませんpacman
。この動作はこのパッケージ マネージャーでより適切に管理できますか? (より正確には、非等操作と予測可能な動作)
答え1
追加のパッケージは、jackd
:に直接 (おそらく間接的に) 依存しているためインストールされ、 .をjackd2
介した残りは: がそれを推奨しているためインストールされ、推奨パッケージはデフォルトでインストールされます。jackd2
qjackctl
jackd2
詳細には、インストールされたパッケージの依存関係ツリーは次のようになります。
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-firewire
は に依存しjackd2
、qjackctl
は に依存しますjackd
。
後者の依存関係はjackd2
、 が削除されたときにqjackctl
も削除する必要があることを意味します (パッケージは、その厳密な依存関係なしにインストールすることはできません)。他のパッケージは に依存していないjackd
ため、削除されませんでした。 によって削除されるはずでしたが、 がに依存しているapt autoremove
ため、どのパッケージも不要になりません... (覚えていません)jackd2-firewire
jackd2
apt
どの特定のパッケージ別のパッケージがインストールされました。autoremove
自動的にインストールされたパッケージのみをチェックして、それらに依存するものがなくなったかどうかを確認します。追加の工夫として、autoremove
推奨事項をパッケージをインストールしたままにしておくのに十分重要であると見なします。
2回目にインストールしたときにjackd
依存apt
関係を確認したところ、つまり jackd2
または はjackd1
、 がすでにインストールされていることに気付き、そこで停止しました。 は 自身ではなくによって推奨されているため、 が「不足している」jackd2
ことに気付きませんでした。qjackctl
jackd2
jackd
aptitude
は、依存パッケージが削除されるとすぐに、別のautoremove
手順なしで不要なパッケージを削除します。使いやすいかもしれません。コマンドは と同じですapt
。また、テキストベースのフルスクリーン ユーザー インターフェイスも備えており、非常に便利です。