Как создать устанавливаемый образ из моего дистрибутива Linux

Если я вас правильно понял, вам это поможет?

grep "^0[0-6]:[0-5][0-9]" file > new_file
0
12.11.2020, 09:00
2 ответа

Два шага:

  1. Упаковать изменения
  2. Включите свой пакет в ваш iso

Разработка упаковки

Я ожидаю, что в вашем пакете будет пять вещей:

  1. Новые файлы конфигурации
  2. Скриптовые настройки существующих файлов конфигурации
  3. Скриптовые команды
  4. Требуемые зависимости
  5. Удобные зависимости

Новые файлы конфигурации легко установить как часть пакета. Просто добавьте их в свой пакет. Если вы изменили файл, такой как /etc/sudoersили /etc/apt/sources.list, попробуйте поместить свои изменения в /etc/sudoers.d/или /etc/apt/sources.list.d/. Не развертывайте собственную версию /etc/sudoers, ожидая, что она переопределит версию, развернутую sudo. Ваш пакет будет конфликтовать и не сможет быть установлен.

Если вам действительно нужно внести изменения в существующий файл конфигурации, добавьте его в свой postinstскрипт. Попытайтесь отменить изменение в сценарии prerm. Вот несколько примеров:

echo "192.168.1.1    router" >> /etc/hosts
sed 's/PasswordAuthentication yes/PasswordAuthentication no/' -i /etc/ssh/sshd_config

Если вам нужно запустить какие-либо команды (, такие как useraddили realm), вы также должны сделать это в postinst.

Вы также можете добавить зависимости к этому пакету. Если вы внесли изменения в /etc/ssh/sshd_config, то вы, вероятно, захотите зависеть от openssh-server, который гарантирует, что файл будет установлен до того, как ваш скрипт с ним обработает. Вы можете узнать, какие пакеты владеют каждым файлом с помощью dpkg -S /path/to/file.

Вы также можете добавить зависимости от пакетов, которые, как вы знаете, нужны в вашей пользовательской конфигурации. Если вам нравится хром и вы хотите, чтобы он устанавливался каждый раз, когда вы используете этот образ,затем продолжайте и добавьте зависимость от хрома, чтобы избежать необходимости вручную apt-getпозже.

Изготовление упаковки

Некоторые инструменты, которые можно использовать для создания пакетов, включаютdh_makeилиcpack.

dh_makeсоздаст для вас шаблон, чтобы вы могли добавить нужные файлы, а затем использовать dpkg-buildpackageдля создания файла *.deb. Понимание всех опций немного пугает и требует времени для изучения и понимания, но именно так создаются нативные пакеты Debian/Ubuntu.

cpackиспользует файл CMakeLists.txtдля определения правил. Добавьте файлы в свой пакет с помощью команды install(), иCPACK_DEBIAN_PACKAGE_CONTROL_EXTRAпоможет вам определить ваш postinst. Я считаю, что cpackбыло легче изучить, особенно для тривиальных пакетов.

Когда у вас есть пакет, загрузите новую Ubuntu (, возможно, используя chroot или vm ), затем протестируйте свой пакет, установив его с помощью dpkg -i. Если ваша система такая, как вы хотите, то вы добились успеха. Теперь вы можете взять базовую установку Ubuntu и настроить ее, установив этот единственный пакет.

ISO-упаковка

Но я вижу, вы хотите пойти дальше... Вы не хотите запускать эту одну команду, вы хотите получить эту настройку из -из -поля -. Ты сможешь!

Вам нужно будет сгенерировать установочный диск так же, как это делает Debian или Ubuntu, но добавить на диск свой собственный пакет и установить для него автоматическую -установку.

Простой -CDD , вероятно, самый простой инструмент для создания iso-образа на основе Debian -. Я не уверен, насколько хорошо это работает с Ubuntu. Настройка LiveCD звучит как наиболее вероятное решение.

0
18.03.2021, 22:50

Мне нравится другой ответ, и существует более одного способа решения этого варианта использования.

Вы проверили это:https://help.ubuntu.com/community/LiveCDCustomization?

0
18.03.2021, 22:50

Теги

Похожие вопросы