Мне нужно загрузить несколько пакетов для установки на другой компьютер, на котором нет доступа в Интернет и который имеет 64-битную архитектуру.
Поскольку эта машина, подключенная к Интернету, является 32-разрядной, она загружает только 32-разрядные пакеты с помощью apt-get.
Я хочу узнать, возможно ли:
- загрузить 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 }'