Libreofficeをアンインストールしたい。このプログラムは、約30個のモジュールで構成されています。理想的には、次の方法で削除できます。
aptitude remove libreoffice3.6* libreoffice-debian-menus libobasis3.6-*
しかし、それは失敗します
Couldn't find any package whose name or description matched "libreoffice3.6*"
等.
パターンごとにパッケージのセットを削除するにはどうすればよいですか?
PS:dpkg
またはapt
を使用した回答にも満足しています
aptitude
ではなくapt-get
を使用し、正規表現を使用します。
正規表現では、.
は任意の文字を意味し、*
は0回以上を意味します。したがって、式libreoffice.*
は、文字列libreoffice
に任意の数の文字が続く文字列を含むパッケージ名に一致します。
シェルがアスタリスクを解釈しないように、正規表現を単一引用符で囲みます。 (たとえば、現在のディレクトリにlibreoffice.example
という名前のファイルがある場合、シェルはlibreoffice.*
をlibreoffice.example
に置き換えるため、この動作を停止するには単一引用符を使用する必要があります。)
結果:
Sudo apt-get remove 'libreoffice.*'
別の方法は次のとおりです。
dpkg -l | grep libreoffice | awk '{print $2}' | xargs -n1 echo
これにより、libreoffice
に一致するすべてのパッケージがリストされます。すべて削除することを確認したら、次のコマンドを実行します... 注意して:
dpkg -l | grep libreoffice | awk '{print $2}' | xargs -n1 Sudo apt-get purge -y
アイデア:
libreoffice
に一致するもののみを表示するフィルターAptitudeはグローバルパターンをサポートしており、次のような非常にクールなマッチもあります。
aptitude remove '?and(?name(libreoffice), name(3.6), ~i)' libreoffice-debian-menus
これは、名前にlibreoffice
および3.6
があり、インストールされているパッケージと一致します(~i
の略です)。