LINUX.ORG.RU

debian 8 обновление оффлайн

 


0

2

Нужно обновлять машину не подключенную к интернету.
Делаю apt-get --print-uris update на компе с debian 8 подключенном к интернету и получаю архивы со списками пакетов на закачку.
Сылок много и качать все это вручную не вариант.
Может есть красивое решение?

Ответ на: комментарий от Niroday

Есть, делаем так

$ mkdir ~/dir_upgrade_package
$ cd ~/dir_upgrade_package
$ sudo apt-get download список пакетов через пробел
mandala ★★★★★
()

Debian 8 уже с просто с апт? Получить список пакетов можно так:

$ sudo apt update
$ sudo apt list --upgradable > spisok_packetov.txt

Потом любым инструментом выдрать только имена пакетов и установить на оффлайн машине через dpkg.

О боже, какие костыли. Почему не рассмотреть вариант локального репозитория?

mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 1)

Нужно обновлять машину не подключенную к интернету. Делаю apt-get --print-uris update на компе с debian 8 подключенном к интернету и получаю архивы со списками пакетов на закачку.

А конфигурация полностью идентична? Прям один в один да каждой версии пакета?

apt-get --print-uris update

Догадываюсь что нет. Я вперед паровоза побежал. Тебе надо локальный репозиторий, а не херней страдать: https://wiki.debian.org/ru/CreateLocalRepo

mandala ★★★★★
()

Делаю apt-get --print-uris update

Ты решил их руками положить в локальную репу на оффлайн-компе, натравить там update, получить список пакетов для обновления, потом скачать только нужные на онлайн-компе, потом на оффлайн установить вручную?

mandala ★★★★★
()
Ответ на: комментарий от Niroday

Это не пакеты, это обновление списка пакетов, даже не полные индексные файлы.

update
update is used to resynchronize the package index files from their sources. The indexes of available packages are fetched from the location(s) specified in /etc/apt/sources.list. For example, when using a Debian archive, this command retrieves and scans the Packages.gz files, so that information about new and updated packages is available. An update should always be performed before an upgrade or dist-upgrade. Please be aware that the overall progress meter will be incorrect as the size of the package files cannot be known in advance.

Для не ТС не катит, т.к. компы в разном состоянии, а не зеркальные скорее всего.

mandala ★★★★★
()
Ответ на: комментарий от mos

Что сунаптик? Он сможет стянуть все индексы нужного репозитория а потом считать их локально на офф-лайн машине? и в следующую итерацию выдать на офф-лайн хосте список нужных пакетов, скачать их на онлайн-хосте и установить из локального хранилища уже опять на офф-лайн хосте?

mandala ★★★★★
()
Ответ на: комментарий от buratino

У меня такое бывает, но я грешил на собственную криворукость. Я про постинг не дописанных мессаг, если что. А ты про что?

mandala ★★★★★
()

Есть утилита apt-offline, это самый быстрый способ за одну ходку. Можно ещё вручную базы принести, но после снова придётся идти за пакетами и почти сразу, так как база может обновиться и архивов пакетов может уже не быть.

grem ★★★★★
()
Ответ на: комментарий от mos

Я на это ответил в первых сообщениях используя лишь APT без GUI, но у ТС задача более комплексная.

mandala ★★★★★
()
Ответ на: комментарий от mos

Отлично, теперь осталось предварительно подсунуть ему свежую базу пакетов, а то большая часть полученных ссылок будет недействительна.

А по теме, раз список ссылок уже есть, то нужно программе wget указать на файл со списком.

Либо притащить заказчику dvd-update, которые регулярно выпускаются.

grem ★★★★★
()
Ответ на: комментарий от grem

А я не парился и собирал дополнительные с обновлениями dvd-диски через jigdo, потом просто $ apt-cdrom add Но я часто что-то доустанавливал/удалял, мне так было быстрее. Один раз мне по почте надор dvd присылали свежего релиза, т.к. у меня интернет был говно.

mandala ★★★★★
()
Ответ на: комментарий от mandala

Да, если есть возможность притащить исошки, то это самый разумный вариант. А то что я ваше писал, это для промежуточных обновлений, если нет желания или возможности всё качать.

apt-offline примечателен тем, что позволяет выкачивать обновлённую зависимости даже не установлены пакетов, если их захочется добавить.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от grem

Да, посмотрел, для 8 релиза 13 dvd и плюс 3 с обновлениями для amd64, прилично. Спасибо за ссылку на альтфорум, утащил в закладки (раньше не сталкивался).

mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 1)
Ответ на: комментарий от mandala

Ещё в сторону apt-offline тоже глянь и на документацию к нему, интересная штука, в чём-то удобнее и не нужно переживать, что пока тащишь на удалённой комп базу, она успеет сильно измениться.

grem ★★★★★
()
Ответ на: комментарий от buratino

Ну у меня редко, раз в день примерно. На фоне моего флуда это я даже не особо замечаю.

mandala ★★★★★
()
Ответ на: комментарий от mandala

Конфигурация полностью идентична, один в один да каждой версии пакета.
Как вытащить список из spisok_packetov.txt и записать их через пробел? apt-offline не нашел в репозитории.
Оффлайн репозиторий не вариант. Круто было бы типа такого:

sudo apt-get download обновляемые пакеты в ~/dir_upgrade_package
sudo apt-get install  обновляемые пакеты из ~/dir_upgrade_package

viteklol
() автор топика
Ответ на: комментарий от viteklol

up
Делаю так:

sudo apt update
sudo apt list --upgradable > spisok_packetov.txt
Вытаскиваю имена пакетов(python):
f = open('spisok_packetov.txt')
save_changes = open('result.txt', 'w')
line = f.readline()
while line:
    save_changes.writelines(line + ' '),
    line = f.readline().split('/')[0]
f.close()
save_changes.close()
Обновление:
sudo dpkg -i *.deb
И сталкиваюсь с проблемой обновления ядра:
dpkg: dependency problems prevent configuration of linux-headers-amd64:
 linux-headers-amd64 depends on linux-headers-3.16.0-5-amd64; however:
  Package linux-headers-3.16.0-5-amd64 is not installed.

dpkg: error processing package linux-headers-amd64 (--install):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-image-amd64:
 linux-image-amd64 depends on linux-image-3.16.0-5-amd64; however:
  Package linux-image-3.16.0-5-amd64 is not installed.
Нужно решение. Остальное успешно обновилось.
Еще пакеты желательно устанавливать в правильной последовательности, чтобы не было проблем с зависимостями.

viteklol
() автор топика
Ответ на: комментарий от viteklol

В начале ты пишешь:

> Сылок много и качать все это вручную не вариант.

Если ссылки идут списком, с разделением Enter-ами, то легко сделать перед каждой ссылкой wget . Для этого достаточно открыть этот список в любой тектовом редакторе (gedit, kwrite или leafpad) и заменить http на wget http

Или просто открыть этот список Download Master-ом или FlashGet-ом

Если список - не просто список URL-ов, а ещё куча мусора вроде «Не удалось скачать» перед URL, и «с сайта archive.debian.net» после URL-ов, то опять же «прогнать» автозамену, чтобы сделать просто список.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Эта проблема решена.
Сейчас через dpkg не обновляется ядро.
И проблема с последовательностьюобновлений.

viteklol
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.