Я использую выделенный сервер, и этот провайдер устанавливает Ubuntu 16.04 практически без чего-либо. Например, ни одна из этих команд не существует, поэтому мне нужно установить их одну за другой:
curl
, nano
, tmux
, htop
, iptables
, ifconfig
и многие другие эти основные вещи, которые я не помню.
Раньше я использовал другого выделенного провайдера серверов, и их изображения были бы с этими базовыми вещами.
Теперь сложно устанавливать их по одному каждый раз, когда я получаю новый выделенный сервер (и я получаю много) и / или когда я переустанавливаю ОС, и у них тоже нет функции моментального снимка.
Есть ли команда, чтобы я мог получить базовые вещи в комплекте или что-то без необходимости запускать apt install xx
каждый раз для каждого приложения, о котором я упоминал выше?
Быстрое решение для установки их состояло бы в том, чтобы установить ubuntu-server
packageset, который имеет зависимости от этих инструментов и сценариев по умолчанию. Затем можно написать сценарий демонтажа инструментов, в которых Вы не нуждаетесь.
Однако, если Вы делаете так, ubuntu-server
удален (это - метапакет, это не повредит Вашу систему, если это будет удалено), и затем если Вы когда-нибудь работаете apt autoremove
в любой точке после, те инструменты будут иметь шанс, который будет удален, так как их единственная точка зависимости на системе была ubuntu-server
Действительно ли создание является сценарием для захвата то, что Вы хотите вне Вас?
Необходимо только захватить набор абсолютного минимума инструментов, в которых Вы нуждаетесь, таким образом, лучше создать Ваш собственный минимальный набор, чем использование предопределенный набор, созданный кем-то еще (это будет, вероятно, содержать пакеты, в которых Вы не нуждаетесь),
Как @Rinzwind сказал в комментариях, Ваш сценарий может также включать удаление установленных пакетов значения по умолчанию, в которых Вы не нуждаетесь (т.е. помочь достигнуть минимальных пакетов, в которых Ваша система на самом деле нуждается).
Если Вы не хотите работать apt install <packagename>
каждый раз можно объединить их в одной строке
apt install curl nano tmux htop iptables net-tools
С другой стороны, если у Вас есть ссылочный сервер, можно использовать
на исходном сервере
dpkg --get-selections > /tmp/selections.list
на новом сервере
dpkg --set-selection < /tmp/selections.list
apt-get dselect-upgrade
Однако имейте в виду, что это устанавливает все пакеты!!
Так ее рекомендуемый, чтобы только сделать это на той же версии ОС, т.е. Ubuntu 16.04 к Ubuntu 16.04. Если Вы сделаете это от старой Ubuntu 16.04 до новой Ubuntu 18.04, то Вы повредите новую Ubuntu 18.04.
Если Вы делаете это регулярно рассматривает использование инструмента управления конфигурацией как Ansible, Шеф-повар, Марионетка...
Можно создать сборник пьес/рецепт/сценарий начальной загрузки (они все называют его отличающимся) с конфигурацией, которую Вы хотите, и инструмент удостоверяется, что Ваша конфигурация выполняется. Это может включать установленные пакеты, пользователей, группы, ssh ключи, пароли... в основном все, что может быть настроено.