Здравствуйте, жители ЛОР. Я давно читаю этот форум, в основном в поисках ответа на вопрос, однако сегодня ночью, наконец, решился зарегистрироваться :)
А что бы не превращать топик в разделе администрирования в анкету на сайте знакомств предлагаю обсудить сабж. Кто бы как решал эту задачу, возможно кто-то уже решал такие задачи? да и вообще хотелось бы услышать ваше мнение на этот счёт.
Пролог:
есть дебиан 10, на нем уже больше полу-года денно-нощьно ведется разработка, скажем так, сконфигурированной системы для выполнения определенных задач и обеспечения безопасности их выполнения. В системе используется LVM шифрование* всего блочного устройства, система ставится на весь диск, без разделений на /home и тд.
В системе стоит пароль на GRUB. Так же, стоят кастомные обоины и конфигурация на загрузчик (нету вариантов загрузки, нету ожидания). Кроме того, в системе есть папочка, на которую довольно долго выставлялись права. Используется ACL, attr и дополнительно использует ACL в конфигурации smbd которая с этой папочкой работает. Так же есть пару здоровых файлов весом под 12 гб. И несколько совсем не больших скриптов-работяг, которые этим всем распоряжаются. Скрипты живут в своей папочке, которая в корне, по соседству с ними - папочка с большими файлами, а с помощью символа `.` на погонах прячется в корне очень важная папочка, в ней подпапочки бегают, и у них есть звания и ранги которые осуществлены с помощью ACL.
Так вот, все это обрамлено минимальным оконным менеджером openbox и экраном входа lightdm, которые тоже настроенны и сконфигурированны. А распределение ролей и рангов в системе выполнено с помощью .xsession файла в корне пользовательских директорий, откуда уже идет обращение в папочки, и весь этот мир оживает.
Некоторые вещи я уже и не помню как именно реализовал.... но оно работает. и очень даже не плохо.
Суть: нужно теперь из этого сделать дистрибутив. нормальный. желательно конечно в нем рядом с надписью DEBIAN «тут был вася» нацарапать, но такие задачи я обычно делаю пока думаю как реализовать основные) Но я успел пол дебиана перерисовать уже, однако дистрибутива так и не вышло. Сперва я пробовал софт типа respin и systemback, который снимает слепок с доменной системы и запаковывает его в squash-fs образ, который в свою очередь упакован в iso образ. ядро он берет из доменного дистрибутива, кладет рядом с файловой системой, но, предварительно переделывает систему по своему вкусу. А именно, вырезает к черту всех пользователей, кромсает настройки менеджера входа, задает автологин в систему, и так далее. Да и поставить этот лайв как дистрибутив не имеется возможности, так как при попытке загрузиться в «инсталятор» с этого лайв образа - мы получаем тоже самое, что и при просто загрузке лайв образа. Аналогичный софт, aka respin принципиально ничем не отличается.
Далее я решил более плотно углубиться в процесс создания дистрибутивов, разобрал и собрал обратно пару официальных *.iso от Debian, вносил модификации в squash-fs и упаковывал обратно - все тщетно. На этапе установки стабильно вылазила ошибка при копировании файлов. Возможно, это из-за огромных файлов? Нет, без них - тоже та же ошибка.
Линукс - он как BMW - это болезнь.
Я решил разобраться с тем, как и чем вообще делают дистрибутив, и познакомился с утилитой debian-cd, вернее, с ее надстройкой - simple-cdd. Вообще мне кажется что в слове «simple» этой утилиты иронии over 9000. Создал локальные базовый репозиторий, вернее склонировал его с зеркала этой утилитой, все ок, переделал штатный .preseed файл под себя (тут начались вопросы, нашел способ добавить в дистрибутив те файлы, которые мне нужны (тут вопросов стало больше), и собрал все это в исошник (почему-то все надписи на стенах про васю стерлись, хотя я надежно писал их в папку /usr/share/debian-cd/ откуда build-simple-cdd берет инфу для сборки).
во время загрузки на прочь отказывается грузиться обоина GRUB. что в PNG что в TGA. хоть убей. с другими такого не было. Первое, что я вижу после загрузки в гуи инсталлер - это ошибку по раскладке клавиатуры. Я пробовал разные опции .preseed файла, но все без толку. Потом, почти до самого конца, процесс автоматический. Был вроде бы вопрос по обьему LVM. после перезагрузки (GRUB опять, падло, без обоин и без пароля) я получаю голый дебиан с установленными из списка пакетами. По сути все это = установить minimal + for p in apk.txt ; do apt install $p .....
Я отчаянно пытался скопировать shadow passwd groups и конфиги из squashfs, предварительно смонтировав систему - болт. системные юзеры не желают что бы их айдишники менялись, а совпадать они так же не хотят.
Я пробовал востановить все из *.tar архива - болт, он вообще отказался со мной работать ссылаясь на симлинки....
Я пытался сделать это с помощью .preseed файла, в конце которого есть команда, которая выполняется перед перезагрузкой. что-то типа `cp -LRF /.secret /target/ && cp -LRF /my_world /target/ && chroot /target && adduser ... addgroup ...` но пока только в уме.
Есть идеи?
p.s. Спасибо, если ты дочитал это до конца.