Administrator
Published on 2026-01-18 / 2 Visits
0
0

不进 ARM 机器,也能下 ARM 软件? APT 交叉架构下载:国产化运维必须掌握的一项“隐藏技能”


真实场景:
ARM 麒麟服务器在内网,
不能上网、不能装仓库、不能随便拷工具;
你手上只有一台 x86 麒麟桌面
却被要求:
“把 ARM 版本的软件准备好,能离线安装,依赖也要齐全。”

如果你还在:

  • 网上乱找 .deb

  • 靠感觉猜 arm64 / amd64

  • 在 ARM 机器上反复 dpkg -i 报错补依赖

那这篇文章,你一定要看完。


一、先搞清楚一件事:

“ARM 软件,真不一定要在 ARM 上下载”

Debian / Ubuntu / 麒麟 这套体系里,有一个非常成熟但很少被讲清楚的能力

APT 支持交叉架构下载(Multi-Arch)

意味着什么?

👉 你可以在 x86 系统上,直接下载 ARM 架构的软件包
👉 不安装、不污染系统
👉 拿走就是一个标准、合规、可审计的 .deb


二、第一步:确认你“要给谁下包”

在任何国产化环境里,第一原则只有一句话:

不要凭感觉猜架构。

在 ARM 麒麟 / x86 麒麟上,统一用这三条命令确认:

uname -m
dpkg --print-architecture
lscpu | grep Architecture

你会看到两种典型结果:

平台

关键输出

x86 麒麟

x86_64 / amd64

ARM 麒麟

aarch64 / arm64

结论记住即可:

  • x86_64amd64

  • aarch64arm64

后面所有下载,只围绕这一点展开


image-DDAQ.png
image-GrhT.png

三、核心操作来了:APT 交叉架构下载

假设现在的场景是:

  • 当前机器:麒麟 V10 x86

  • 目标机器:麒麟 V10 ARM(aarch64)

  • 目标软件:Flameshot(截图工具)


① 在 x86 麒麟上启用 arm64 架构

sudo dpkg --add-architecture arm64
sudo apt update

这一步不会改变你系统的运行架构
只是告诉 APT:
“我也认识 arm64 包了。”


78093d395cc35d39cf1f7ae2579caf53.png

② 只下载,不安装(关键设计)

apt download flameshot:arm64
3ae90e0a23a2d72269683d9b6989ec4c.png

上面的提示这不是错误,而是 APT 的安全提示。

APT 发现:

  • _apt 写不了目录

  • 但这是用户主动执行的下载命令

于是它自动做了一件事

退出沙盒,用 root 权限继续下载

所以才会看到这句提示。

执行完成后,你会在当前目录看到:

flameshot_*.deb

注意三点:

  • ✔ 是 arm64

  • ✔ 是 官方仓库来源

  • ✔ 没有安装到本机

这一步,已经完胜 90% 的“离线下载方案”


四、离线环境真正会踩坑的地方:依赖

很多人失败,不是软件下不来,
而是:

ARM 机器离线安装时,缺 Qt / 缺库 / 缺一堆依赖

正确做法是:在 x86 机器一次性准备好

① 查看 ARM 依赖

apt depends flameshot:arm64
root@kylin-pc:/home/kylin# apt depends flameshot:arm64
flameshot:arm64
  依赖: <hicolor-icon-theme:arm64>
    hicolor-icon-theme
  依赖: libqt5svg5:arm64
  依赖: libc6:arm64 (>= 2.17)
  依赖: libgcc-s1:arm64 (>= 3.0)
  依赖: libqt5core5a:arm64 (>= 5.10.0)
  依赖: libqt5dbus5:arm64 (>= 5.0.2)
 |依赖: libqt5gui5:arm64 (>= 5.10.0)
  依赖: libqt5gui5-gles:arm64 (>= 5.10.0)
  依赖: libqt5network5:arm64 (>= 5.0.2)
  依赖: libqt5widgets5:arm64 (>= 5.11.0~rc1)
  依赖: libstdc++6:arm64 (>= 5.2)
 |推荐: xdg-desktop-portal-gtk:arm64
    xdg-desktop-portal-gtk
 |推荐: <xdg-desktop-portal-gnome:arm64>
 |推荐: xdg-desktop-portal-kde:arm64
  推荐: <xdg-desktop-portal-wlr:arm64>
  推荐: grim:arm64
    grim
  建议: <ca-certificates:arm64>
    ca-certificates
  建议: openssl:arm64
    openssl
root@kylin-pc:/home/kylin# 

② 批量下载依赖(示例)

apt download \
flameshot:arm64 \
hicolor-icon-theme:arm64 \
libqt5svg5:arm64 \
libc6:arm64 \
libgcc-s1:arm64 \
libqt5core5a:arm64 \
libqt5dbus5:arm64 \
libqt5gui5:arm64 \
libqt5gui5-gles:arm64 \
libqt5network5:arm64 \
libqt5widgets5:arm64 \
libstdc++6:arm64 \
xdg-desktop-portal-gtk:arm64 \
grim:arm64

原则只有一个:

在能联网的 x86 机器,把 ARM 该用的东西一次性下齐。


五、在 ARM 麒麟上,离线安装就是“顺水推舟”

拷贝 .deb 到 ARM 机器后:

sudo dpkg -i *.deb
  • 没有网络

  • 没有仓库

  • 没有猜测

一次装完,成功率极高


六、为什么说这种方式“国产化最优雅”?

和常见做法对比一下

做法

风险

网上随便下 deb

架构错 / 版本乱

ARM 机器直接装

内网不通 / 报错多

源码编译

不可审计 / 运维成本高

APT 交叉架构下载

✅ 合规 / 稳定 / 可复用

特别适合:

  • 国产化替代环境

  • 涉密 / 内网

  • 运维交付

  • 软件白名单审批


七、一句话给你“运维级总结”

APT 交叉架构下载,本质是:
用 x86 的“联网能力”,
为 ARM 的“隔离环境”提前准备弹药。

会用这一招,你就不再是“装软件的人”,
而是 能设计交付方案的人



Comment