[Решено] Возможность обновление системы без доступа к сети
Добавлено: 20 сен 2016, 20:14
Здравствуйте.
Возможно, что подобное желание выглядит странно, но всё же, как быть с обновлением компьютера, у которого нет доступа к сети? Можно было бы раз в несколько месяцев создавать срез зеркала и делать его локальным, но уж очень оно громоздкое. В связи с этим у меня возник ряд вопросов, о которых ниже.
1. Обновление списка пакетов.
Достаточно ли для для обновления списка пакетов скопировать файлы из .../rosa2014.1/repository/x86_64/<имя_источника>/media_info/ в /usr/lib/urmpi/<имя_источника>?
Сгенерируются ли при этом заново файлы c именами names.<имя_источника> из /usr/lib/urmpi/ или они не изменяются при обновлении?
Update:
Для обновления списка пакетов, похоже, достаточно обновить соответствующие файлы /usr/lib/urmpi/<имя_источника>. Соответствующие файлы лежащие на зеркале в .../rosa2014.1/repository/x86_64/<имя_источника>/media_info/ и .../rosa2014.1/repository/x86_64//media/<имя_источника>/media_info/ ничем не отличаются, поэтому будем считать, что скачиваем их из .../rosa2014.1/repository/x86_64/media/<имя_источника>/media_info/. Для этого можно воспользоваться скриптом:или batch-файлом (для windows):
Скаченные для каждого источника, кроме testing, файлы (changelog.xml.lzma, files.xml.lzma, info.xml.lzma, synthesis.hdlist.cz, MD5SUM) приносим на обновляемую систему и раскладываем в соответствующие каталоги в /usr/lib/urmpi/<имя_источника>. Зачем нужны директории "/usr/lib/urmpi/<имя_источника> (distributive N)" я не знаю, их я не трогал.
2. Получение списка ссылок для скачивания пакетов, которые должны обновиться после обновления источника.
Список ссылок для последующего скачивания для всех установленных пакетов, которым требуется обновления я получил так (как подсказали ниже в теме, можно короче):Update:
Как подсказал trs, список пакетов для скачивания, после обновления базы пакетов, можно получить командой
, таким образом, файл pkg_list.txt будет содержать список ссылок на пакеты, которые нужно скачать для обновления системы. Теперь его можно забрать с собой и выполнить в месте где доступен интернет команду , получив в подкаталоге rpm_updates набор .rpm файлов. Если за время прошедшее перед скачиванием пакетов в репозитории пакеты не успели обновить на более новые версии, то всё необходимое скачается в данный подкаталог. Осталось привести эти файлы с собой на флешке, скопировать (пока именно скопировать, а не переместить) в каталог /var/cache/urpmi/rpms обновляемой системы и выполнить команду Urpmi предупредит, что ему необходимо скачать определённое количество Mb пакетов, но на это можно не обращать внимания, так как все пакеты уже помещены в /var/cache/urpmi/rpms, он возьмёт их оттуда и сотрёт их после установки (если не запускать urpmi с параметром --noclean).
Возможно, что подобное желание выглядит странно, но всё же, как быть с обновлением компьютера, у которого нет доступа к сети? Можно было бы раз в несколько месяцев создавать срез зеркала и делать его локальным, но уж очень оно громоздкое. В связи с этим у меня возник ряд вопросов, о которых ниже.
1. Обновление списка пакетов.
Достаточно ли для для обновления списка пакетов скопировать файлы из .../rosa2014.1/repository/x86_64/<имя_источника>/media_info/ в /usr/lib/urmpi/<имя_источника>?
Сгенерируются ли при этом заново файлы c именами names.<имя_источника> из /usr/lib/urmpi/ или они не изменяются при обновлении?
Update:
Для обновления списка пакетов, похоже, достаточно обновить соответствующие файлы /usr/lib/urmpi/<имя_источника>. Соответствующие файлы лежащие на зеркале в .../rosa2014.1/repository/x86_64/<имя_источника>/media_info/ и .../rosa2014.1/repository/x86_64//media/<имя_источника>/media_info/ ничем не отличаются, поэтому будем считать, что скачиваем их из .../rosa2014.1/repository/x86_64/media/<имя_источника>/media_info/. Для этого можно воспользоваться скриптом:
2. Получение списка ссылок для скачивания пакетов, которые должны обновиться после обновления источника.
Список ссылок для последующего скачивания для всех установленных пакетов, которым требуется обновления я получил так (как подсказали ниже в теме, можно короче):
Как подсказал trs, список пакетов для скачивания, после обновления базы пакетов, можно получить командой
Код: Выделить всё
# urpmq --auto-select --sources > pkg_list.txt
Код: Выделить всё
$ wget -nc -c -P "rpm_updates/" -i pkg_list.txt
Код: Выделить всё
# urpmi --update --auto-select