[РЕШЕНО] Оффлайн обновление системы

Автор speed_vm, 12 января 2016, 11:58:29

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

speed_vm

Доброго времени суток всем!
Имеется машина в сети без инета. Задача: обновить список пакетов, затем обновить систему. Как это сделать я нашёл (https://help.ubuntu.com/community/AptGet/Offline/PrintUris http://forum.ubuntu.ru/index.php?topic=124217.0), а вот нюансы обновления списка пакетов не расписаны.
1. Скачав файлы по ссылкам, полученным с помощью 'apt-get --print-uris update', переименовав и распаковав их, получаю меньше файлов, чем после обычного 'apt-get update'. Почему?
2. В /var/lib/apt/lists имеются файлы *Release и *Release.gpg, но 'apt-get --print-uris update' ссылки на них не генерирует. Значит (логично предположить) они (файлы) генерируются после того, как скачаны (и распакованы) остальные файлы. Вопрос: как эти файлы получить при оффлайн обновлении?

Помогите ответить на эти вопросы.

vovan--vovan

#1
Я бы вам посоветовал вот это https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading для начала почитать. А затем вот отсюда (возможно) http://cdimage.debian.org/debian-cd/8.2.0/i386/bt-dvd/ так как вы не написали точно что у вас за система, скачать обновления записать на диск и установить. Как то так.
Не даст поколебаться Он ноге твоей, и не воздремлет хранящий тебя...

speed_vm

#2
Прошу прощения, на борту Debian Jessie.
И я, возможно, не совсем корректно сформулировал вопрос. Мне нужно не версию системы обновить, а сделать банальное 'apt-get update && apt-get upgrade', т.е. обновить списки пакетов, а затем обновить сами пакеты (безопасности и прочего ПО).
На текущий момент меня, скорее, интересует вопрос обновления списка пакетов методом 'apt-get --print-uris update', потому что установить оффлайн отдельный пакет, равно как и сделать 'apt-get --print-uris upgrade' (получив при этом ссылки на пакеты), не представляет сложности особой. Скачать пакеты по ссылкам, а потом сделать 'dpkg -i *.deb' или 'apt-get -o dir::cache::archives="/path/to/archives" dist-upgrade' сможет каждый.
Свои вопросы могу дополнить следующим. При обновлении списка пакетов онлайн получаем следующую картину:
Открыть содержимое (спойлер)
speed@debian:~$ sudo apt-get update
...
speed@debian:~$ ls -la /var/lib/apt/lists/
итого 93320
drwxr-xr-x 3 root root    12288 янв 12 11:02 .
drwxr-xr-x 6 root root     4096 янв  4 18:47 ..
-rw-r--r-- 1 root root   195831 сен  5 09:01 httpredir.debian.org_debian_dists_jessie_contrib_binary-i386_Packages
-rw-r--r-- 1 root root   144207 сен  5 09:01 httpredir.debian.org_debian_dists_jessie_contrib_i18n_Translation-en
-rw-r--r-- 1 root root   190639 сен  5 09:01 httpredir.debian.org_debian_dists_jessie_contrib_source_Sources
-rw-r--r-- 1 root root 33775595 сен  5 09:02 httpredir.debian.org_debian_dists_jessie_main_binary-i386_Packages
-rw-r--r-- 1 root root 22317976 сен  5 09:01 httpredir.debian.org_debian_dists_jessie_main_i18n_Translation-en
-rw-r--r-- 1 root root  2684275 апр 25  2015 httpredir.debian.org_debian_dists_jessie_main_i18n_Translation-ru
-rw-r--r-- 1 root root 32367127 сен  5 09:02 httpredir.debian.org_debian_dists_jessie_main_source_Sources
-rw-r--r-- 1 root root   340068 сен  5 09:01 httpredir.debian.org_debian_dists_jessie_non-free_binary-i386_Packages
-rw-r--r-- 1 root root   308893 сен  5 09:01 httpredir.debian.org_debian_dists_jessie_non-free_i18n_Translation-en
-rw-r--r-- 1 root root   399312 сен  5 09:01 httpredir.debian.org_debian_dists_jessie_non-free_source_Sources
-rw-r--r-- 1 root root   148222 сен  5 09:43 httpredir.debian.org_debian_dists_jessie_Release
-rw-r--r-- 1 root root     2373 сен  5 09:55 httpredir.debian.org_debian_dists_jessie_Release.gpg
-rw-r--r-- 1 root root        0 янв 12 02:25 httpredir.debian.org_debian_dists_jessie-updates_contrib_binary-i386_Packages
-rw-r--r-- 1 root root        0 янв 12 02:24 httpredir.debian.org_debian_dists_jessie-updates_contrib_i18n_Translation-en
-rw-r--r-- 1 root root        0 янв 12 02:25 httpredir.debian.org_debian_dists_jessie-updates_contrib_source_Sources
-rw-r--r-- 1 root root   136216 янв 12 02:56 httpredir.debian.org_debian_dists_jessie-updates_InRelease
-rw-r--r-- 1 root root    12273 янв 12 02:24 httpredir.debian.org_debian_dists_jessie-updates_main_binary-i386_Packages
-rw-r--r-- 1 root root    10395 янв 12 02:24 httpredir.debian.org_debian_dists_jessie-updates_main_i18n_Translation-en
-rw-r--r-- 1 root root     5945 янв 12 02:24 httpredir.debian.org_debian_dists_jessie-updates_main_source_Sources
-rw-r--r-- 1 root root        0 янв 12 02:25 httpredir.debian.org_debian_dists_jessie-updates_non-free_binary-i386_Packages
-rw-r--r-- 1 root root        0 янв 12 02:24 httpredir.debian.org_debian_dists_jessie-updates_non-free_i18n_Translation-en
-rw-r--r-- 1 root root        0 янв 12 02:25 httpredir.debian.org_debian_dists_jessie-updates_non-free_source_Sources
-rw-r----- 1 root root        0 янв  4 18:47 lock
drwxr-xr-x 2 root root     4096 янв 12 11:02 partial
-rw-r--r-- 1 root root     8256 янв 11 15:50 security.debian.org_dists_jessie_updates_contrib_binary-i386_Packages
-rw-r--r-- 1 root root     4825 янв 11 15:50 security.debian.org_dists_jessie_updates_contrib_i18n_Translation-en
-rw-r--r-- 1 root root     3179 янв 11 15:50 security.debian.org_dists_jessie_updates_contrib_source_Sources
-rw-r--r-- 1 root root    63063 янв 11 15:50 security.debian.org_dists_jessie_updates_InRelease
-rw-r--r-- 1 root root   991622 янв 11 15:50 security.debian.org_dists_jessie_updates_main_binary-i386_Packages
-rw-r--r-- 1 root root   667410 янв 11 15:50 security.debian.org_dists_jessie_updates_main_i18n_Translation-en
-rw-r--r-- 1 root root   690099 янв 11 15:50 security.debian.org_dists_jessie_updates_main_source_Sources
-rw-r--r-- 1 root root        0 янв 11 15:50 security.debian.org_dists_jessie_updates_non-free_binary-i386_Packages
-rw-r--r-- 1 root root        0 янв 11 15:50 security.debian.org_dists_jessie_updates_non-free_i18n_Translation-en
-rw-r--r-- 1 root root        0 янв 11 15:50 security.debian.org_dists_jessie_updates_non-free_source_Sources
[свернуть]
При обновлении оффлайн получаем следующее:
Открыть содержимое (спойлер)
speed@debian:~$ sudo apt-get --print-uris update
...
speed@debian:~$ ls -la apt_list/
итого 27432
drwxr-xr-x  2 speed speed     4096 янв 12 11:59 .
drwxr-xr-x 21 speed speed     4096 янв 13 08:15 ..
-rw-r--r--  1 speed speed   144207 сен  5 09:01 httpredir.debian.org_debian_dists_jessie_contrib_i18n_Translation-en
-rw-r--r--  1 speed speed 22317976 сен  5 09:01 httpredir.debian.org_debian_dists_jessie_main_i18n_Translation-en
-rw-r--r--  1 speed speed  2684275 апр 25  2015 httpredir.debian.org_debian_dists_jessie_main_i18n_Translation-ru
-rw-r--r--  1 speed speed   308893 сен  5 09:01 httpredir.debian.org_debian_dists_jessie_non-free_i18n_Translation-en
-rw-r--r--  1 speed speed        0 янв 12 02:24 httpredir.debian.org_debian_dists_jessie-updates_contrib_i18n_Translation-en
-rw-r--r--  1 speed speed   136216 янв 12 02:56 httpredir.debian.org_debian_dists_jessie-updates_InRelease
-rw-r--r--  1 speed speed    10395 янв 12 02:24 httpredir.debian.org_debian_dists_jessie-updates_main_i18n_Translation-en
-rw-r--r--  1 speed speed        0 янв 12 02:24 httpredir.debian.org_debian_dists_jessie-updates_non-free_i18n_Translation-en
-rw-r--r--  1 speed speed     8256 янв 11 15:50 security.debian.org_dists_jessie_updates_contrib_binary-i386_Packages
-rw-r--r--  1 speed speed     4825 янв 11 15:50 security.debian.org_dists_jessie_updates_contrib_i18n_Translation-en
-rw-r--r--  1 speed speed     3179 янв 11 15:50 security.debian.org_dists_jessie_updates_contrib_source_Sources
-rw-r--r--  1 speed speed    63063 янв 11 15:50 security.debian.org_dists_jessie_updates_InRelease
-rw-r--r--  1 speed speed   991622 янв 11 15:50 security.debian.org_dists_jessie_updates_main_binary-i386_Packages
-rw-r--r--  1 speed speed   667410 янв 11 15:50 security.debian.org_dists_jessie_updates_main_i18n_Translation-en
-rw-r--r--  1 speed speed   690099 янв 11 15:50 security.debian.org_dists_jessie_updates_main_source_Sources
-rw-r--r--  1 speed speed        0 янв 11 15:50 security.debian.org_dists_jessie_updates_non-free_binary-i386_Packages
-rw-r--r--  1 speed speed        0 янв 11 15:50 security.debian.org_dists_jessie_updates_non-free_i18n_Translation-en
-rw-r--r--  1 speed speed        0 янв 11 15:50 security.debian.org_dists_jessie_updates_non-free_source_Sources
[свернуть]
В выводе можно увидеть, что количество списков пакетов безопасности одинаковое в обоих случаях, а вот количество списков пакетов ПО разное (ПОЧЕМУ?). Также в выводе '/var/lib/apt/lists/' присутствуют файлы 'httpredir.debian.org_debian_dists_jessie_Release' и 'httpredir.debian.org_debian_dists_jessie_Release.gpg'. При обновлении ubuntu в руководствах эти файлы получают с помощью ''apt-get --print-uris update', а в моем случае этих файлов нет. Где ж их взять или как сформировать?

sidbar

Devuan GNU/Linux

speed_vm

#4
Упражнялся на тестовой машине.
По поводу файлов *Release и *Release.gpg, ничего не нашёл лучше, как скачивать их жёсткими ссылками 'http://httpredir.debian.org/debian/dists/jessie/Release' и 'http://httpredir.debian.org/debian/dists/jessie/Release.gpg' соответственно, после чего закидывать их в /var/lib/apt/lists/ вместе с остальными файлами.
Обновление оффлайн проходит без ошибок, только вот получается так сказать "не полным", потому что, после подключения инета, 'apt-get update' находит "недостающие" списки пакетов, обрабатывает их, после чего 'apt-get upgrade' сообщает, что имеется ещё ряд файлов для обновления.
Вот такая балалайка пока.

Похоже, понял в чём дело (статья http://habrahabr.ru/sandbox/27490/ "пнула" в нужном направлении). А дело в том, что 'apt-get --print-uris update' формирует (ПОЧЕМУ-ТО) ссылки на файлы с расширением '.bz2', тогда как с этим расширением в репозитории находятся только файлы *Translate*. Остальные файлы с расширением '.gz', и wget их не скачивает. Проверю это всё позже, потом отпишусь обязательно. Пока некогда.

Вопрос решён. Обобщаю информацию.
Распишу по шагам (подробности по ссылкам выше):
1. На машине без инета выполнить:
apt-get --print-uris update
2. По полученным ссылкам скачать файлы (с переименованием), если файл *.bz2 отсутствует, заменить расширение на *.gz (или *.xz), затем распаковать.
3. Скачать отдельно (и положить к распакованным выше файлам) файлы по следующим ссылкам (актуально только для DEBIAN JESSIE):
http://httpredir.debian.org/debian/dists/jessie/Release
http://httpredir.debian.org/debian/dists/jessie/Release.gpg

4. Удалить файлы на машине без инета:
rm -r /var/lib/apt/lists/{sec*,htt*}
5. Перенести скачанные файлы на машину без инета в директорию:
/var/lib/apt/lists/
6. На машине без инета выполнить:
apt-get upgrade --print-uris
7. По полученным ссылкам скачать файлы.
8. Перенести скачанные файлы на машину без инета в (УСЛОВНЫЙ) каталог /path/to/archives.
9. На машине без инета выполнить:
apt-get -o dir::cache::archives="/path/to/archives" upgrade
На этом всё. Тема закрыта.