LINUX.ORG.RU

Автономная установка пакетов

 , ,


0

1

Доброго времени суток. Суть проблемы. Есть изолированная от интернета система (от слова «совсем». Дебильники забирают на «проходной». Если найдут «хвосты» подключения к инету или подключения «левых» устройств к компу, то, в лучшем случае, уволят). 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 пока не настроен.
то есть керикс качает пакеты необходимой версии, но без суффикса «ubuntu» и снова напарываемся на неразрешённые зависимости и идём докачивать пакеты. Отсюда вопрос? Как заставить керикс скачивать пакеты с суффиксом ubuntu?

4. Вариант с виртуалкой дома считаю геморройным и не решающем проблем установки пакетов в «нужном порядке».

5. apt-mirror... там для скачивания 60 Гигов пакетов минимум... как вариант, конечно, но только от безысходности.

Короче, если автоматизировать процесс скачивания необходимых пакетов хоть как-то можно, то установка в системе это «кот в мешке»... Отсюда два основных вопроса (повторюсь): 1.Как синаптику подсунуть списки пакетов репозитория archive.ubuntu.com?

2. Как заставить керикс скачивать пакеты с необходимым суффиксом системы и, желательно, МИНИМАЛЬНОЙ необходимой версии а не максимальной, а то если разрыв между версиями очень большой, то есть шанс поломать нужные пакеты



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

Есть изолированная от интернета система (от слова «совсем». Дебильники забирают на «проходной». Если найдут «хвосты» подключения к инету или подключения «левых» устройств к компу, то, в лучшем случае, уволят).

Валить надо сразу из таких контор, а лучше и не устраиваться.

Zubok ★★★★★
()

странно, конечно

. Ввиду режимных ограничений необходимые для работы пакеты можно принести только на флешке или диске.

мобильники, интернет — «низя»; флешка, диск — «можна»

А по теме: я бы поставил «дома» Ubuntu 18.04 LTS. устанавливал необходимые пакеты на неё. из кеша пакеты в apt-mirror — «на работу». вариант местами «избыточный», но и «головной боли» должно быть относительно мало (если что-то «железозависимое» устанавливать, вероятно не выйдет)

anymouze ★★
()

Может docker export/import будет проще?

anonymous
()

Ввиду режимных ограничений необходимые для работы пакеты можно принести только на флешке или диске.

Необходимые для работы пакеты попросите установить работодателя. Это его обязанность. Только наверное вы лукавите. Короче, занимайтесь на работе работой.

anonymous
()

Ввиду режимных ограничений необходимые для работы пакеты можно принести только на флешке или диске.

Необходимые для работы пакеты попросите установить работодателя. Это его обязанность. Только наверное вы лукавите. Короче, занимайтесь на работе работой.

anonymous
()
Ответ на: комментарий от Zubok

все наверно слышали про импортозамещение. Так вот рано или поздно министерство обороны полностью перейдёт на какой-нибудь AstraLinux/Rosa/MCBC (по разным оценкам это от 100000 до 150000 рабочих мест). Так вот эти все рабочие места изолированы и все они попрутся сюда со своими вопросами. Вы им тоже предложите искать другое место работы? Они может доже и послушают Вас, но тогда кроме английского языка придётся подучить ещё какой-нибудь, китайский например.

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

дело в том, что организация научно-исследовательская. Сегодня Qt понадобился, завтра какой-нибудь питон... и вы предлагаете заявки писать? в этом случае, действительно, лучше другое место работы поискать))) Ну или воплотить мечту многих, а именно ничего не делать и получать зарплату.))))

А вообще в планах работателя назначить меня тем лицом, которое будет шлындать по рабочим местам и удовлетворять «хотелки» остального планктона...

BenAffee
() автор топика

Сделать зеркало полного репозитория Ubuntu (только нужная платформа) на внешний HDD и регулярно его синхронизировать из дома.

aquadon ★★★★★
()

apt-offline отменили чоле?

Deleted
()
Ответ на: комментарий от BenAffee

Не буду ввязываться в этот разговор, так как в нацпол уйдем. Я понял пояснения, я вам сочувствую. :)

1. Скачиваю необходимый пакет из репа и тащу на работу

P.S. Удивительно: научно-исследовательская контора без интернета, а из дома, значит, можно притаскивать не пойми что. Ппц.

Zubok ★★★★★
()

5. apt-mirror... там для скачивания 60 Гигов пакетов минимум... как вариант, конечно, но только от безы

60 гигов - это пара фильмов. Ты на Новой Земле живёшь?

Алсо в федоре, например, делать свои зеркала - раз плюнуть, хоть rsync, хоть через ftp (это даже виндовый проводник может).

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

а из дома, значит, можно притаскивать не пойми что. Ппц.

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

legolegs ★★★★★
()

Создай репозиторий с пакетами на флэшке и обновляй свою систему на работе с неё. В чём проблема, если флэшки разрешены?

Как пример, на FreeBSD это делается в два счёта.

1) Создаём репозиторий из каталога с заранее скопированными на флэшку пакетами:

pkg repo /mnt/packages

2) Настраиваем файл источника обновлений на клиентской машине /usr/local/etc/pkg/repos/flash.conf

flash: {
.  url: "file:///mnt/packages", enabled: true,
}

3) Сама процедура обновления после монтирования флэшки в каталог /mnt

pkg upgrade

Разве похожим образом в твоём линуксе сделать нельзя?

iZEN ★★★★★
()

пытаюсь установить (sudo dpkg -i *.deb)

1. С помощью:

dpkg --get-selections |   grep -v "deinstall" | grep -v "udev"  | awk '{print $1}' | xargs dpkg-repack

восстановить ВСЕ пакеты в системе.

2. Из полученных пакетов с помощью apt-ftparchive создать локальный репозиторий по образу Debian-NoOfficial

3. Перенести локальный реп на автономную машину и подключить в /etc/apt/sources.list.d/local.list:

$cat /etc/apt/sources.list.d/local.list

# local

deb file:/path/to/you/local/repo codename distname

4. Обновиться

$sudo apt-get update
$sudo apt-get upgrade
$sudo apt-get install you-package
Deleted
()
Последнее исправление: Deleted (всего исправлений: 3)

представлены не все

Так подсунь свежий индекс /var/cache/apt/pkgcache.bin взяв с другой системы. Пользуйся gdebi, dpkg не разруливает зависимости.

виртуалкой дома
apt-mirror... там для скачивания 60 Гигов

Самые нормальные варианты. Завел себе зеркало на внешнем винте и не паришься.

anonymous
()

Если пакеты устанавливать через sudo dpkg -i *.deb то можно поломать критически важные пакеты и получить полумёртвую систему

Конечно, ведь это низкоуровневый инструмент. Ставит принудительно, ему плевать на зависимости и совместимость.

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

Так подсунь свежий индекс /var/cache/apt/pkgcache.bin взяв с другой системы. Пользуйся gdebi, dpkg не разруливает зависимости.

О. вот это попробую

Самые нормальные варианты. Завел себе зеркало на внешнем винте и не паришься.

Пока остановился на этом варианте. пушкой по воробьям))) Хотя хотелось бы менее избыточный метод.

Написал разрабам Keryx авось ответят))) Пока вижу вариант с кериксом как самый адекватный.

Удивительно: научно-исследовательская контора без интернета, а из дома, значит, можно притаскивать не пойми что. Ппц.

Вот такое трудное детство))) игрушки прибитые к потолку))) А вообще законодательство устроено так, что если работник утащит что нибудь на флешке и «продаст црушникам», то это будет шпионаж и посадят работника. А вот если секретная информация утечёт непосредственно с рабочего места, то по шапке надают руководителям «от-мала-до-велика», вот гайки и закручивают.

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

Почему? Обычный секретный режим. У нас одно время тоже мобильники в камеру хранения приходилось сдавать (многие правда протаскивали, включая меня), какие-то фото в интернете всплыли.

anonymous
()

Дебильники забирают

А флешки с программами нет?

apt-mirror... там для скачивания 60 Гигов пакетов минимум... как вариант, конечно, но только от безысходности.

Ну поздравляю, это линукс-десктоп, качай 60 (разве не 80 сегодня?) гигов как все.

Exmor_RS ★★★
()

Ломай и манипулируй любые пакеты с до установками, но если увидешь glibc то не стоит, потому чтобы сломать glibc опыт есть только у меня из всего мира. Иначе будешь падать в паник кернел

anonymous
()

apt-mirror... там для скачивания 60 Гигов пакетов минимум... как вариант, конечно, но только от безысходности.

Пара блюрей-дисков всего лишь

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

Да, писать заявки. Если предложат заниматься - наглеть и просить нормальную компенсацию за такую работу (как за работу DevOps в Вашем регионе).

На компы ставить альт/мсвс/астру, но так, чтобы везде дистрибутив был одинаков. Пакеты собирать самостоятельно, если в дистрибутиве нет.

Только оболочку не ELK ставить, по возможности, а то терминал Ёлки - боль.

Deleted
()
Ответ на: комментарий от BenAffee

В действительности, ничего плохого в «заявках» нет, особенно если это дело хорошо автоматизированно.

Deleted
()
Ответ на: комментарий от anonymous

Само собой разумеется, нет? Или ты думаешь, собирать пакеты под каждую машину отдельно надо?

Deleted
()
Ответ на: комментарий от BenAffee

дело в том, что организация научно-исследовательская. Сегодня Qt понадобился, завтра какой-нибудь питон...

Тогда, всё же, проще полноценную копию репозитория, и синхронизировать «на улице» раз, скажем, в неделю.

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

P.S. Удивительно: научно-исследовательская контора без интернета, а из дома, значит, можно притаскивать не пойми что. Ппц.

Вот да, тоже не очень понятно. Разве что в целях, чтобы снаружи ну никак не поломали совсем посторонние.

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