メタパッケージとそのパッケージの両方を削除する方法はありますか?メタパッケージのサブセットは、メタパッケージにまったく依存しないパッケージです。これがメタパッケージを削除しても、そのパッケージのメタパッケージサブセットが削除されない理由です。
たとえば、メタパッケージには、apache2
インストール時にインストールされるいくつかのパッケージが含まれていますapache2
。apt-get install apache2
シェルでこのコマンドを使用し、synaptic
いくつかのパッケージをインストールしました。コマンドapache2
でメタパッケージを削除したりパッケージapt-get autoremove apache2
のみを削除したりすると、メタパッケージのサブセットである他のパッケージは削除されません。synaptic
apache2
私の考えの最善の方法は、メタパッケージのすべてのパッケージを削除することです。問題を解決するには?
答え1
私が知る限りでapache2
はない慰安宝。さまざまなパッケージには依存関係があるため、インストールすると他のパッケージもインストールapache2
されますが、メタパッケージにはなりません。
とにかく、正確に何を達成したいのか分からないので、いくつかのオプションを提供します。
apache2
不要になったパッケージ(たとえば、インストールして削除した後に不要になったパッケージ)を削除するには、次のようにしますautoremove
。apt-get autoremove
実際のメタパッケージでインストールされているすべてのパッケージを削除するには、次のようにします(
wicd
例:メタパッケージを使用)。私。ログを検索して、メタパッケージとしてインストールされたパッケージを見つけます
apt
。$ grep -A 3 wicd /var/log/apt/history.log Commandline: apt-get install wicd Install: rfkill:amd64 (0.4-1, automatic), wicd:amd64 (1.7.2.4-4), python-wicd:amd64 (1.7.2.4-4, automatic), wicd-daemon:amd64 (1.7.2.4-4, automatic), wicd-gtk:amd64 (1.7.2.4-4, automatic) End-Date: 2013-05-07 18:10:24
2.これを解析してパッケージ名のみを取得できます。
$ grep -A 3 wicd /var/log/apt/history.log | perl -ne 's/Install:*// && do { @a=(/\s+([^\s]+?):/g); print "@a\n" }' rfkill wicd python-wicd wicd-daemon wicd-gtk
iii.これで削除できます(コマンドを
apt
実行するのではなく、コマンドを印刷して最初に削除する項目を確認します)。$ grep -A 3 wicd /var/log/apt/history.log | perl -ne 's/Install:*// && do { @a=(/\s+([^\s]+?):/g); print "apt-get remove @a\n" }' apt-get remove rfkill wicd python-wicd wicd-daemon wicd-gtk