在ARM板上操作
如果你是在arm板上使用apt安装和下载包,那么安装过的包会在以下路径里:
/var/cache/apt/archives
只需要复制出来就可以
如果只下载不安装,可以使用命令
sudo apt-get -d install package_name:arm64 # 如果是32位,把arm64换成armhf
包会存在上面说过的路径里。
如果希望指定存储路径,采用以下命令:
sudo apt-get -d -o dir::cache::archives="/your/path" install package_name:arm64 # 如果是32位,把arm64换成armhf
在X86机器上操作
以Ubuntu16.04为例
在 x86 架构的 Ubuntu 系统中下载 ARM 架构的 deb 包到指定路径,可以按照以下步骤操作
配置多架构支持
添加源:
sudo vim /etc/apt/sources.list
在最后面添加:
# ARM64 清华大学源
deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main restricted universe multiverse
deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse
deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse
deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse
deb-src [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main restricted universe multiverse
deb-src [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse
deb-src [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse
deb-src [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse
由于你要在 x86 架构的系统上处理 ARM 架构的软件包,需要先开启多架构支持。打开终端,执行以下命令:
sudo dpkg --add-architecture arm64 # 如果是ARM 64位架构,如果是32位,则是armhf
#卸载方法: sudo dpkg --remove-architecture arm64 # 卸载架构
sudo apt update
上述命令中,dpkg --add-architecture 用于添加 ARM 架构支持,arm64 对应 64 位 ARM 架构,armhf 对应 32 位 ARM 架构。apt update 用于更新软件包索引。
手动查找和下载包的方法
拿下载libsuitesparse-dev包举例
查看包的位置信息:
apt-cache show libsuitesparse-dev:arm64 | grep "Filename"
输出:
Filename: pool/main/s/suitesparse/libsuitesparse-dev_4.4.6-1_arm64.deb
打开网页(其实就是源的网址,这里拿清华源举例):
https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports
依次点击pool->main -> s -> suitesparse , 找到libsuitesparse-dev_4.4.6-1_arm64.deb 并点击,便会自动下载