При использовании другой машины, та, которая подключена к Интернету, для обновления целевого компьютера, можно просто использовать то же sources.list
файл на этих двух машинах, выполненных apt-get update
и затем скопируйте списки пакета:
$ sudo mv /etc/apt/sources.list /etc/apt/sources.list.orig
$ sudo mv target_computer_sources.list /etc/apt/sources.list
$ sudo apt-get update
apt
хранит его списки файла хранилища в /var/lib/apt/lists/
, так afer выполнение команды выше, Вы бегунок копируют все в /var/lib/apt/lists/
к целевой машине и затем возвращаются к оригиналу sources.list
:
$ sudo mv /etc/apt/sources.list.orig /etc/apt/sources.list
Я по любой причине, метод выше не работает на Вас, можно сделать это способ, которым Вы предлагали, просто необходимо проанализировать вывод apt-get update --print-uris
. Следующее от моей системы LMDE, но идея является тем же:
$ sudo apt-get update --print-uris -y | head
'ftp://ftp.debian.org/debian/dists/testing/main/source/Sources.bz2' ftp.debian.org_debian_dists_testing_main_source_Sources 0 :
'ftp://ftp.debian.org/debian/dists/testing/contrib/source/Sources.bz2' ftp.debian.org_debian_dists_testing_contrib_source_Sources 0 :
'ftp://ftp.debian.org/debian/dists/testing/non-free/source/Sources.bz2' ftp.debian.org_debian_dists_testing_non-free_source_Sources 0 :
'ftp://ftp.debian.org/debian/dists/testing/InRelease' ftp.debian.org_debian_dists_testing_InRelease 0
'http://packages.linuxmint.com/dists/debian/main/source/Sources.bz2' packages.linuxmint.com_dists_debian_main_source_Sources 0 :
'http://packages.linuxmint.com/dists/debian/upstream/source/Sources.bz2' packages.linuxmint.com_dists_debian_upstream_source_Sources 0 :
'http://packages.linuxmint.com/dists/debian/import/source/Sources.bz2' packages.linuxmint.com_dists_debian_import_source_Sources 0 :
'http://packages.linuxmint.com/dists/debian/main/binary-amd64/Packages.bz2' packages.linuxmint.com_dists_debian_main_binary-amd64_Packages 0 :
'http://packages.linuxmint.com/dists/debian/upstream/binary-amd64/Packages.bz2' packages.linuxmint.com_dists_debian_upstream_binary-amd64_Packages 0 :
'http://packages.linuxmint.com/dists/debian/import/binary-amd64/Packages.bz2' packages.linuxmint.com_dists_debian_import_binary-amd64_Packages 0 :
В выводе выше, 1-м полем является URL, и 2-м является имя, под которым будет сохранен файл. Поскольку я упомянул прежде, apt
хранит его списки файла хранилища в /var/lib/apt/lists/
, можно проверить это путем выполнения locate
на одном из 2-х полей выше:
$ locate packages.linuxmint.com_dists_debian_main_source_Sources
/var/lib/apt/lists/packages.linuxmint.com_dists_debian_main_source_Sources
Так, если Вы захотите загрузить и обновить каждый из тех списков, то необходимо будет проанализировать вывод apt-get update --print-uris
и скажите wget
использовать 2-е поле в качестве выходного имени:
$ sudo apt-get update --print-uris -y | sed "s/'//g" | cut -d ' ' -f 1,2 |
while read url target; do wget $url -O ./$target; done
Это загрузит каждый список пакета и сохранит его в текущем каталоге с помощью соответствующего имени. Можно теперь скопировать эти файлы в /var/lib/apt/lists/
каталог целевой машины.
.bz2
файлы (так же, как офлайновая машина сделала бы, если она могла), если затем те файлы извлечены и помещены в офлайновую машину в корректном месте, почему она не должна работать?. Я не добираюсь, 'Вы будете обновлять неправильные списки'. Так или иначе Вы отвечаете, действительно решал заголовок вопроса, обновление списка пакета вне объема, таким образом, я принял ответ.Спасибо. – Javier Mr 12.12.2013, 09:20