packageAが依存する他のすべてのパッケージを削除したいが、依存packageA
関係のあるパッケージを削除したいのですが。
$ apt-cache depends packageA
packageA
Depends: packageB
Depends: packageC
$ apt-cache depends packageD
Depends: packageC
$ apt-cache rdepends packageB
Reverse Depends:
packageA
$ apt-cache rdepends packageC
Reverse Depends:
packageA
packageD
packageA
、packageB
およびpackageC
がpackageD
現在インストールされています。を削除したいと思いますpackageA
。packageB
これが唯一の依存パッケージなので、削除したいとpackageA
思います。必須なので、インストールを続ける必要がありますpackageC
。packageD
を削除したくありませんpackageD
。
私はそこにいることを知っていますapt autoremove
。しかし、apt autoremove
実際に使用される「未使用」パッケージがあるので、使用したくありません。しかし、数が多すぎるため、どのパッケージが使用されていないのかわからず、未使用のパッケージをすべてインストールしたくありません。
依存関係は修正されていますが、時間がかかります。今、解決策が必要です。
答え1
適性があなたのためにそうしなければなりません。packageB
サイレントインストールとしてマークされている場合
aptitude remove packageA
packageA
とを削除しますpackageB
。他のパッケージでまだそれを必要とするため、packageC
削除されません。
答え2
自動削除などの他のプログラムは見つかりません。私は自動除去を試してみましたが、システムが破損していませんでした。たぶんこれが考慮する価値があるのでしょうか?インストールされているすべてのパッケージのバックアップリストの作成
sudo cp -a /etc/apt/sources.list{,.bak} && sudo apt install apt-clone -y && mkdir ~/mypackages && sudo apt-clone clone ~/mypackages
これで実行できますsudo apt 自動削除問題が発生した場合は復元してください。
sudo apt-clone restore apt-clone-state-ubuntuserver.tar.gz