我需要下载一些软件包来安装在我的另一台没有互联网接入且具有 64 位架构的机器上。
由于这台具有互联网连接的机器是 32 位的,因此它只能使用 apt-get 下载 32 位软件包。
我想知道是否可以:
- 下载64位软件包;
- 下载那些已经存在的。
或者,是否可以以自动方式获取这些包的 URL?
答案1
您可以使用aptitude
(待安装):
sudo aptitude -o APT::Architecture="amd64" update
aptitude -o APT::Architecture="amd64" download package-name
(此后,请记住执行apt-get update
无-o
选项,以恢复正确的 i386 信息)。
也可以使用以下命令显示软件包 URL
apt-get --print-uris install package-name
但这仅适用于未安装的软件包。对于 64 位软件包,请将后缀更改_i386.deb
为_amd64.deb
。
或者,
apt-cache --no-all-versions show package-name | grep ^Filename
显示 URL,但没有前导服务器信息。可以从以下位置获取服务器信息:
apt-cache --no-all-versions policy package-name |
grep -A2 '^ [^ ]' | tail -1 | awk '{ print $2 }'