御风灰灰
发布于 2024-07-11 / 14 阅读
0
0

使用apt下载deb软件包

1. amd64平台下载arm的deb

本方法主要用于在amd64平台上下载其他平台的deb,同时也会下载依赖包

1.1 核心下载代码

其中dropbear是示例软件包

# 下载
apt download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances dropbear | grep arm64 | grep "^\w" | sort -u)

1.2 参数示例

首次使用需要安装工具apt-rdepends

sudo apt install apt-rdepends

1.2.1 设置下载环境

# 备份原始镜像
sudo cp /etc/apt/sources.list /etc/apt/sources.list.amd64
# 生成新的镜像源
cat > sources.list <<EOF
deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
EOF
# 替换新源
sudo mv sources.list /etc/apt/sources.list
sudo apt update

1.2.2 下载依赖包

input_packages='tcpdump:arm64 '
download_files=$(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances $input_packages | grep arm64 | grep "^\w" | sort -u)
echo "download input: $input_packages"
echo "download package: $download_files"
cd $download_path && apt download $download_files $forge_download

1.2.3 还原脚本

sudo apt-get remove --purge `dpkg --get-selections | awk '/arm64/{print $1}'`
sudo dpkg --remove-architecture arm64
sudo mv /etc/apt/sources.list.amd64 /etc/apt/sources.list
sudo apt update

2. 使用qume进行下载

待完成

3. 环境文件解决

3.1 apt环境

  1. dpkg-scanpackages: command not found

安装dpkg-dev包

sudo apt-get install dpkg-dev

评论