在 Ubuntu 12.04 LTS x64 上,我们想要删除它附带的 i386 外部架构,但我没有看到dpkg
可以干净地执行此操作的命令。
在使用 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
看起来tumbleweed 的评论解决了你的问题。
您可以向 Apt 源定义添加一个选项来限制该源的体系结构:
deb [arch=amd64] ...
欲了解更多信息,请参阅社区 Wiki 页面多架构包管理。