Если я вас правильно понял, вам это поможет?
grep "^0[0-6]:[0-5][0-9]" file > new_file
Два шага:
Я ожидаю, что в вашем пакете будет пять вещей:
Новые файлы конфигурации легко установить как часть пакета. Просто добавьте их в свой пакет. Если вы изменили файл, такой как /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 и настроить ее, установив этот единственный пакет.
Но я вижу, вы хотите пойти дальше... Вы не хотите запускать эту одну команду, вы хотите получить эту настройку из -из -поля -. Ты сможешь!
Вам нужно будет сгенерировать установочный диск так же, как это делает Debian или Ubuntu, но добавить на диск свой собственный пакет и установить для него автоматическую -установку.
Простой -CDD , вероятно, самый простой инструмент для создания iso-образа на основе Debian -. Я не уверен, насколько хорошо это работает с Ubuntu. Настройка LiveCD звучит как наиболее вероятное решение.
Мне нравится другой ответ, и существует более одного способа решения этого варианта использования.
Вы проверили это:https://help.ubuntu.com/community/LiveCDCustomization?