现在麒麟的软件源,已经不能通过web浏览器查看包列表了,那我们要如何查找相关软件包的下载链接呢?
1.使用apt命令查看软件包信息,比如kshell软件
apt --print-uris download kshell
如果想简介显示,可以用awk过滤输出内容
apt --print-uris download kshell | awk -F " " '{print $1}'
以上是显示当前架构对应的软件包
2.查看当前系统架构
dpkg --print-architecture #显示您系统的原生架构

3.添加arm64架构的支持
sudo dpkg --add-architecture arm64
sudo apt update -y
显示所有额外添加的架构
sudo dpkg --print-foreign-architectures

4.查看arm架构的包
apt --print-uris download kshell:arm64 #显示您系统的原生架构
kshell:arm64:[包名:架构] 的格式,明确告诉 apt 我们需要 ARM64 版本的kshell
5.移除支持arm64架构的支持
sudo dpkg --remove-architecture arm64
sudo apt update -y
其他说明
1.“sudo dpkg --add-architecture arm64” 命令,并不会让您的 x86 系统运行 ARM 程序,它只是在软件源列表中注册了 ARM 架构,使得 apt 能够获取到 ARM 软件包的元数据(如版本、依赖、下载链接等)。
2.添加arm架构的支持后,本机以后安装软件时会不会有影响?
通常没有影响
架构隔离:apt 和 dpkg 能够非常清晰地区分不同架构的软件包。当您执行 sudo apt install package-name 时,它默认只会安装您主机原生架构(即 amd64)的软件包。它不会自动去安装 arm64 的包。
明确指定:只有当你明确在包名后加上架构(如 sudo apt install package-name:arm64)时,系统才会尝试去安装那个特定架构的软件包。所以,仅仅添加了 arm64 架构支持,只是让系统知道有这些包的存在,并不会主动去安装它们,因此不会干扰您正常使用 amd64 的软件。
但是也有风险:假设您要安装一个名为 libexample-dev 的库,它被标记为 Multi-Arch: same。在只有 amd64 架构时,apt 会毫无疑问地安装 amd64 版本。但在添加了 arm64 架构后,如果这个包的两个架构版本在某些元数据上存在细微差异(比如“Provides”或“Conflicts”声明),apt 在解决依赖关系时可能会感到“困惑”,从而报错。这在处理大量底层依赖(尤其是在进行部分升级或使用非主流软件源时)时,有可能遇到。在执行 sudo apt upgrade 或 sudo apt install 时遇到关于架构冲突的错误,您可以考虑先移除 arm64 架构支持。




