時間が経つにつれて、私は多くのi386パッケージをインストールしましたが、これはもう必要ありません。システムをクリーンアップし、AMD64パッケージのみを使用するにはどうすればよいですか?
それらがあなたの邪魔にならないなら、私は彼らを彼らがいるところに残します。
削除を要求する場合は、dpkg -l | grep i386
を使用してi386パッケージのリストを作成します。 注意深いチェックの後、Sudo apt-get purge <package-name>
のようなものでこれらを削除できます。
上部の自動化ソリューションは危険であり、常に機能するとは限りません(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」と表示されます)。
私はすべての32ビットパッケージを次のようにブリッツしました。
Sudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`
誰かが疑問に思っている場合、これを行うためのはるかに正気で優雅な方法があります。前の最後の答えは同じことをしたいと思っていますが、特別な場合を除いて、アーキテクチャは実際にはパッケージ名の一部ではないため、検索は失敗します。
ルートとして(またはSudoで)実行:
aptitude remove ~i~ri386
Apt-getではなくaptitudeをまだ使用していない場合は、実行してください。本当に素晴らしいです。 aptitudeの検索用語のリストを見つけることができます here 。
さらにリスクの低い別の方法を次に示します。
apt-get remove "^.*:i386$"
これは、":i386"
で終わるパッケージのみに一致します。これは、すべてのi386
アーキテクチャDebianパッケージの標準命名規則です。
debianのmultiarchガイド は、このコマンドについて言及しています:apt-get purge ".*:<Arch>"
、これはi386
のようになります:
apt-get purge ".*:i386"
その後、dpkgからアーキテクチャを削除できます。
dpkg --remove-architecture i386