i386 architectureのパッケージをすべて削除する

昨日メイン PCとサーバを Ubuntu 22.10に上げたけど改めて考えると i386パッケージいらないだろってことで消してみた. 複数あることでアップデートなんかも遅くなるので.

パッケージを削除する

下記のコマンドなどで i386パッケージを一覧を得て, :i386 が末尾についているパッケージを削除していく. 一応依存を確認したりしながら行ったが, 基本的には全部いらないと思う.

## 一覧表示
% dpkg -l  |grep ':i386'

## パッケージ削除
% sudo apt purge some_package:i386

## 依存関係を見る
% apt rdepends --installed some_package:i386

22.04で i386環境がある場合, おそらく以下のパッケージが削除できない

  • gcc-12-base
  • libc6
  • libcrypt1
  • libgcc-s1

これらのパッケージは下記のコマンドで強制的に削除する

sudo dpkg --purge --force-remove-protected {gcc-12-base,libc6,libcrypt1,libgcc-s1}:i386

アーキテクチャリストから i386を削除する

依存パッケージをすべて削除したら, 下記のコマンドで i386アーキテクチャリストから削除する

% sudo dpkg --remove-architecture i386

最後に i386が削除されたことを確認する. 何も表示されなければ OK

% dpkg --print-foreign-architectures