Доброго времени суток. Суть проблемы. Есть изолированная от интернета система (от слова «совсем». Дебильники забирают на «проходной». Если найдут «хвосты» подключения к инету или подключения «левых» устройств к компу, то, в лучшем случае, уволят). Linux системы разрешены, Windows только на виртуалках. Остановился на Ubuntu 18.04LTS. Ввиду режимных ограничений необходимые для работы пакеты можно принести только на флешке или диске. Ну и конечно возникает проблема скачивания и разрешения зависимостей пакетов. Испытал следующие «варианты»:
1. Скачиваю необходимый пакет из репа и тащу на работу -> пытаюсь установить (sudo dpkg -i *.deb) -> выявляются зависимости -> записываем названия необходимых пакетов -> снова качаем -> тащим на работу... и так до бесконечности... Synaptic и build-essential таким способом качал в 3 захода)) Короче, гемор...
2. Установил синаптик. Становится по-проще... Выбираем необходимые пакеты -> Создаём список для загрузки -> качаем пакеты дома -> устанавливаем пакеты... Но это только в идеале... Проблемы здесь следующие:
а) На самом деле списки пакетов в стоке охватывают (почему-то) только пакеты из ветки main, пакеты из ветки universe, multiverse и restricted представлены не все (для примера: пакет npm)...
б) Если пакеты устанавливать через sudo dpkg -i *.deb то можно поломать критически важные пакеты и получить полумёртвую систему. Опять же, так как в стоке представлены не все списки пакетов, то можно напороться на неразрешённые зависимости и придётся докачивать пакеты вручную.
в) У меня через вкладку «Файл-Добавить загруженные пакеты...» выбрать пакеты для установки нельзя (подсвечены «серым» в диалоге)
Заметил следующее... Пакеты в скрипте скачивания расположены в необходимом для установки порядке, т.е. если заменить wget на dpkg -i то можно установить пакеты в нужном порядке за один заход (проверял. работает. но если есть не разрешённые зависимости, то идём докачивать пакеты вручную). В принципе, вариант нормальный, но как подсунуть синаптику полные актуальные списки пакетов (например с archive.ubuntu.com)?
3. Вариант с Keryx. В теории - отличный вариант, но на практике тоже не всё идеально... Создаю проект на изолированной системе -> качаю пакеты -> приношу на работу -> пытаюсь установить и напарываюсь на следующее:
dpkg: зависимости пакетов не позволяют настроить пакет libx11-xcb-dev:amd64:
libx11-xcb-dev:amd64 зависит от libx11-xcb1 (= 2:1.6.4-3ubuntu0.1), однако:
Версия libx11-xcb1:amd64 в системе — 2:1.6.4-3.
libx11-xcb-dev:amd64 зависит от libx11-dev, однако:
Пакет libx11-dev:amd64 пока не настроен.
4. Вариант с виртуалкой дома считаю геморройным и не решающем проблем установки пакетов в «нужном порядке».
5. apt-mirror... там для скачивания 60 Гигов пакетов минимум... как вариант, конечно, но только от безысходности.
Короче, если автоматизировать процесс скачивания необходимых пакетов хоть как-то можно, то установка в системе это «кот в мешке»... Отсюда два основных вопроса (повторюсь): 1.Как синаптику подсунуть списки пакетов репозитория archive.ubuntu.com?
2. Как заставить керикс скачивать пакеты с необходимым суффиксом системы и, желательно, МИНИМАЛЬНОЙ необходимой версии а не максимальной, а то если разрыв между версиями очень большой, то есть шанс поломать нужные пакеты