麒麟桌面系统【在x86机器上查找arm的软件包】

现在麒麟的软件源,已经不能通过web浏览器查看包列表了,那我们要如何查找相关软件包的下载链接呢?

  1. 使用apt命令查看软件包信息,比如kshell软件

    apt  --print-uris  download   kshell

    file
    如果想简介显示,可以用awk过滤输出内容

    apt   --print-uris   download   kshell   |   awk   -F   " "   '{print $1}'

    file
    以上是显示当前架构对应的软件包
     

  2. 查看当前系统架构

    dpkg  --print-architecture #显示您系统的原生架构

    file
     

  3. 添加arm64架构的支持

    sudo  dpkg  --add-architecture  arm64
    sudo  apt  update   -y

    显示所有额外添加的架构

    sudo  dpkg  --print-foreign-architectures

    file
     

  4. 查看arm架构的包

    apt  --print-uris  download   kshell:arm64  #显示您系统的原生架构

    file
    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架构的支持后,本机以后安装软件时会不会有影响?

    通常没有影响

      1. 架构隔离:apt 和 dpkg 能够非常清晰地区分不同架构的软件包。当您执行 sudo apt install package-name 时,它默认只会安装您主机原生架构(即 amd64)的软件包。它不会自动去安装 arm64 的包。
      1. 明确指定:只有当你明确在包名后加上架构(如 sudo apt install package-name:arm64)时,系统才会尝试去安装那个特定架构的软件包。
        所以,仅仅添加了 arm64 架构支持,只是让系统知道有这些包的存在,并不会主动去安装它们,因此不会干扰您正常使用 amd64 的软件。
         
      1. 但是也有风险:假设您要安装一个名为 libexample-dev 的库,它被标记为 Multi-Arch: same。在只有 amd64 架构时,apt 会毫无疑问地安装 amd64 版本。但在添加了 arm64 架构后,如果这个包的两个架构版本在某些元数据上存在细微差异(比如“Provides”或“Conflicts”声明),apt 在解决依赖关系时可能会感到“困惑”,从而报错。这在处理大量底层依赖(尤其是在进行部分升级或使用非主流软件源时)时,有可能遇到。在执行 sudo apt upgrade 或 sudo apt install 时遇到关于架构冲突的错误,您可以考虑先移除 arm64 架构支持。

Your email address will not be published.


bearkr

bearkr

还有依赖怎么办?

peturn

peturn

结合这个文章看看:https://gxxc.wiki/kd/3250.html

bearkr

bearkr

软件包名称如何知道?例如上述kshell