外部アーキテクチャを削除するにはどうすればいいですか?

外部アーキテクチャを削除するにはどうすればいいですか?

dpkgUbuntu 12.04 LTS x64 では、付属の i386 外部アーキテクチャを削除したいのですが、これをきれいに行うコマンドが見つかりません。

apt-get を使用すると foreign-architecture=i386 で止まる、ユーザーには から行を削除するようにアドバイスされています/etc/dpkg/dpkg.cfg.d/multiarchが、それを実行することはできます (またはそのファイル全体を削除することもできます) が、それを実行するより「適切な」方法があるかどうか疑問に思っていました。

私たちがそうしたい理由は、Puppet を使用して多数の継続的インテグレーション エージェントを維持しており、「純粋な 64」にこだわりたいからです。私たちは、独自に管理しているリポジトリから独自の Debian パッケージをインストールしますが、パッケージの i386 バージョンを提供しない限り、これは失敗します。特定のリポジトリ構成でアーキテクチャをオーバーライドできることはわかっていますが、非 64 アーキテクチャを完全に無効にする方がきれいです。

答え1

アーキテクチャを削除する標準的な方法は、dpkg を使用することです。

sudo dpkg --remove-architecture i386

Ubuntu 16.0.4 LTS でテスト済み。

また、sources.list ですべての deb ... の後にアーキテクチャを追加するよりも高速かつ簡単です。

答え2

どうやらタンブルウィードのコメント問題は解決しました。

Apt ソース定義に、そのソースのアーキテクチャを制限するオプションを追加できます。

deb [arch=amd64] ...

詳細については、コミュニティWikiページをご覧ください。マルチアーキテクチャパッケージ管理

関連情報