web-dev-qa-db-ja.com

Ubuntu 64ビットからすべてのi386パッケージを削除する方法は?

時間が経つにつれて、私は多くのi386パッケージをインストールしましたが、これはもう必要ありません。システムをクリーンアップし、AMD64パッケージのみを使用するにはどうすればよいですか?

33
yossile

それらがあなたの邪魔にならないなら、私は彼らを彼らがいるところに残します。
削除を要求する場合は、dpkg -l | grep i386を使用してi386パッケージのリストを作成します。 注意深いチェックの後、Sudo apt-get purge <package-name>のようなものでこれらを削除できます。

15
Henk

上部の自動化ソリューションは危険であり、常に機能するとは限りません(1)。

Sudo aptitude purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`

または

Sudo apt-get purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`

(常に1つのツールのみを使用してみてください。依存関係の問題がある場合はaptitudeの方が優れているため、それを好みます。)

また良いアイデア

dpkg --remove-architecture i386

そして多分

dpkg --print-foreign-architectures

(1)前のコマンドは、名前にi386のみを含むパッケージもリストします(64ビットアーキテクチャ用ですが)、正規表現は機能せず、dpkgは既に削除されているが構成ファイルが残っているパッケージを表示します(dpkg -lステータスとして「ii」の代わりに「rc」と表示されます)。

23
PythoNic

私はすべての32ビットパッケージを次のようにブリッツしました。

Sudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`
22
Mathnode

誰かが疑問に思っている場合、これを行うためのはるかに正気で優雅な方法があります。前の最後の答えは同じことをしたいと思っていますが、特別な場合を除いて、アーキテクチャは実際にはパッケージ名の一部ではないため、検索は失敗します。

ルートとして(またはSudoで)実行:

aptitude remove ~i~ri386

Apt-getではなくaptitudeをまだ使用していない場合は、実行してください。本当に素晴らしいです。 aptitudeの検索用語のリストを見つけることができます here

9
Patrick

さらにリスクの低い別の方法を次に示します。

apt-get remove "^.*:i386$"

これは、":i386"で終わるパッケージのみに一致します。これは、すべてのi386アーキテクチャDebianパッケージの標準命名規則です。

6
kevinarpe

debianのmultiarchガイド は、このコマンドについて言及しています:apt-get purge ".*:<Arch>"、これはi386のようになります:

apt-get purge ".*:i386"

その後、dpkgからアーキテクチャを削除できます。

dpkg --remove-architecture i386
4
Francisco Couzo