回答:
それらがあなたの邪魔にならないなら、私は彼らを彼らがいるところに置いておくでしょう。
削除をdpkg -l | grep i386
要求する場合は、i386パッケージのリストを作成するために使用します。のようなもので注意深くチェックした後、これらを削除できsudo apt-get purge <package-name>
ます。
apt-get purge <package-name>
それでも動作するはずです。
dpkg -l | grep amd64
i386 pkgをリストに取得しamd64-microcode 3.20160316.3 i386
ました.grepパターンの「:」は重要 !(dpkg -l | grep ":amd64"
)
上部の自動化されたソリューションは危険であり、常に機能するとは限りません(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」と表示されます)。
awk
とにかく使用しているので、grep
呼び出しを取り除くこともできます。また、$()
バックティックよりも望ましいです。私はちょうどあなたが与えたものに基づいてこのコマンドを使用して私のi386パッケージを取り除きました:sudo apt purge $(dpkg --get-selections | awk '$1 ~ /:i386$/ { print $1 }')
私はすべての32ビットパッケージを次のようにブリッツしました。
sudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`
dpkg -l | grep i386
、パッケージをチェックするときにまだアイデアがあります。また、前述のコメントとシェルスクリプトテクニックに関連する私の推測のために+1
sudo dpkg --remove-architecture i386
さらにリスクの低い別の方法を次に示します。
apt-get remove "^.*:i386$"
これは":i386"
、すべてのi386
アーキテクチャDebianパッケージの標準の命名規則であるで終わるパッケージのみに特に一致します。
sudo apt-get purge .*:i386
Debianのmultiarchガイドは:このコマンドの言及apt-get purge ".*:<arch>"
のために、このような、希望ルックスをi386
:
apt-get purge ".*:i386"
その後、dpkgからアーキテクチャを削除できます。
dpkg --remove-architecture i386