Debian からメタパッケージを完全に削除する方法

Debian からメタパッケージを完全に削除する方法

メタパッケージとそのパッケージの両方を削除する方法はありますか?メタパッケージのサブセットは、メタパッケージにまったく依存しないパッケージです。これがメタパッケージを削除しても、そのパッケージのメタパッケージサブセットが削除されない理由です。

たとえば、メタパッケージには、apache2インストール時にインストールされるいくつかのパッケージが含まれていますapache2apt-get install apache2シェルでこのコマンドを使用し、synapticいくつかのパッケージをインストールしました。コマンドapache2でメタパッケージを削除したりパッケージapt-get autoremove apache2のみを削除したりすると、メタパッケージのサブセットである他のパッケージは削除されません。synapticapache2

私の考えの最善の方法は、メタパッケージのすべてのパッケージを削除することです。問題を解決するには?

ベストアンサー1

私が知る限りでapache2はない慰安宝。さまざまなパッケージには依存関係があるため、インストールすると他のパッケージもインストールapache2されますが、メタパッケージにはなりません。

とにかく、正確に何を達成したいのか分からないので、いくつかのオプションを提供します。

  1. apache2不要になったパッケージ(たとえば、インストールして削除した後に不要になったパッケージ)を削除するには、次のようにしますautoremove

    apt-get autoremove
    
  2. 実際のメタパッケージでインストールされているすべてのパッケージを削除するには、次のようにします(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
    

おすすめ記事