![在具有 amd64 翻译的 arm64 PC 上;我可以使用 apt 安装应用程序两次,针对两种架构但使用不同的命令调用吗?](https://linux22.com/image/212920/%E5%9C%A8%E5%85%B7%E6%9C%89%20amd64%20%E7%BF%BB%E8%AF%91%E7%9A%84%20arm64%20PC%20%E4%B8%8A%EF%BC%9B%E6%88%91%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20apt%20%E5%AE%89%E8%A3%85%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E4%B8%A4%E6%AC%A1%EF%BC%8C%E9%92%88%E5%AF%B9%E4%B8%A4%E7%A7%8D%E6%9E%B6%E6%9E%84%E4%BD%86%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E5%91%BD%E4%BB%A4%E8%B0%83%E7%94%A8%E5%90%97%EF%BC%9F.png)
apt 似乎不允许同时安装一个包的两个版本:
$ sudo apt install make:amd64
$ sudo apt install make:arm64
我的系统本身是arm64,但我有amd64翻译,需要amd64库来添加对依赖于这些库的某些amd64二进制文件的支持。
也就是说,我很想尝试比较 amd64 翻译的应用程序和本机 arm64 应用程序的性能。
我可以并排安装两个应用程序并使用 apt 将别名应用到其中一个应用程序吗?
$ sudo apt install tar:amd64 --alias tar_amd64
$ sudo apt install tar:arm64
答案1
您无法并行安装包含两种不同体系结构的程序的软件包,因为它们会带来冲突的文件;就tar
而言,至少/bin/tar
和/usr/sbin/rmt-tar
。
不过,您可以手动提取相关的二进制文件来比较它们的性能:
apt download tar:amd64
dpkg-deb -x tar_*_amd64.deb tar-amd64
这将留下tar-amd64/bin/tar
,您应该能够运行它并与您的进行比较arm64
/bin/tar
。
大多数库都安装在特定于体系结构的目录中(例如/usr/lib/x86_64-linux-gnu
和/usr/lib/arm64-linux-gnu
),如果它们的包元数据允许,apt
将允许您并行安装它们。