Ubuntu/Debian でマルチアーキテクチャを有効/無効にする備忘録です.
Wine をインストールしてて Windows のあるプログラムが動くかどうか試したのですが,残念ながら上手く行かない.
仕方ないので Wine を一旦削除したのですが,合わせて導入した i386 のパッケージ(Wine では i386 アーキテクチャのパッケージじゃないと色々動かないらしい.公式に書いてある)は不要なので,これを消すためにアレコレしてみた記録です.
まず,標準のアーキテクチャの表示は,
$ dpkg --print-architecture
アーキテクチャを追加するときは,
$ sudo dpkg --add-architecture i386
追加されたアーキテクチャを表示するときは,
$ sudo dpkg --print-foreign-architectures
実際に i386 アーキテクチャのパッケージを追加してみる.
$ sudo apt install libc6:i386 パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: gcc-8-base:i386 libgcc1:i386 提案パッケージ: glibc-doc:i386 locales:i386 以下のパッケージが新たにインストールされます: gcc-8-base:i386 libc6:i386 libgcc1:i386 アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 0 個。 2,617 kB のアーカイブを取得する必要があります。 この操作後に追加で 11.0 MB のディスク容量が消費されます。 続行しますか? [Y/n] ...
追加された i386 のパッケージをリストアップする.
$ sudo dpkg -l | grep i386 ii gcc-8-base:i386 8.3.0-6ubuntu1~18.04.1 i386 GCC, the GNU Compiler Collection (base package) ii libc6:i386 2.27-3ubuntu1 i386 GNU C Library: Shared libraries ii libgcc1:i386 1:8.3.0-6ubuntu1~18.04.1 i386 GCC support library
このまま i386 パッケージのサポートを取り消そうとしても導入済みパッケージがあるので怒られてしまう.
$ sudo dpkg --remove-architecture i386 dpkg: エラー: データベースで現在使用中のアーキテクチャ 'i386' を削除できません
i386 のパッケージを全部消してからだときちんとサポートを取り消せる.
$ sudo apt-get purge '*:i386' $ sudo dpkg --remove-architecture i386 $ sudo dpkg --print-foreign-architectures
なお,上記のほとんどは Debian 管理者ハンドブックに書いてあります.
5.4. dpkg を用いたパッケージの操作
以上!