Я установил и настроил сервер Ubuntu (установка дополнительных пакетов и внесение изменений в некоторые файлы конфигурации). Теперь я хотел бы установить почти идентичную систему, у которой просто другой IP-адрес, имя хоста или что-то подобное. Есть ли какой-нибудь скрипт или инструмент, который может автоматизировать этот процесс?
Я не ищу что-то вроде Clonezilla, которое делает клон изображения. Я не ищу что-то вроде remastersys, который создает образ ISO. Я хотел бы что-то вроде этого: http://www.debianadmin.com/clone-your-ubuntu-installation.html или это: http://ubuntuforums.org/showthread.php? t = 525660 , но более полный и автоматический.
По сути, этот инструмент должен сканировать существующую систему и извлекать список установленных пакетов. Затем сравните файлы конфигурации в системе с файлами конфигурации по умолчанию для каждого пакета и сгенерируйте различия, если они отличаются. Однако он также должен идентифицировать конфигурации, которые различны для каждого сервера (например, IP, имя хоста и т. Д.) И дать возможность их настраивать.
Все это должно быть сделано автоматически, и на выходе должна быть очень маленькая по размеру «ДНК» существующей системы. Затем для установки новой системы следует использовать такой инструмент, как debootstrap, и к нему следует применить изменения, описанные в «DNA»: установка новых пакетов и изменение их файлов конфигурации.
О мотивации:
Я управляю виртуальным веб-сервером в облаке, где со временем выполнил множество настроек: связанных с безопасностью, различными пакетами и т. д. Теперь, если я хочу создать другой сервер, который имеет те же функции и назначение, что и первый, долгим и утомительным способом будет снова просмотреть все установки и конфигурации, и все же я могу что-то упустить. Я подумал, что, может быть, есть какой-нибудь инструмент, который может сделать что-то вроде различий между текущим состоянием сервера и начальным состоянием только что установленного сервера. Эта разница также помогла бы мне проверить текущую систему, я точно не помню всех вещей, которые я коснулся и запутал в ней.
Такая разница может также послужить рецептом, которым я могу поделиться с моими друзьями, если они захотят построить систему, подобную моей. Это было бы намного удобнее и безопаснее, чем разносить огромные тарболлы или изображения.
Инструменты, предложенные для клонирования:
Некоторые из предложенных инструментов:
Но ни один из них не подходит для моего случая.
Я думаю, вы могли бы использовать dpkg --get-selections
. Затем установите эти пакеты на ваш новый сервер. Файлы конфигурации вы можете скопировать со старого сервера. Это не безболезненно, но доступно.
Если в двух системах установлены одинаковые пакеты, и вы выполняете различие их каталогов / etc, вы в основном получите все изменения конфигурации между ними (возможно, не на 100%, но все еще очень точные). Итак, что я сделал для проверки моей системы:
Установите минимальную систему с debootstrap (аналогично тому, что описано здесь: http://dashohoxha.blogspot.com /2013/02/how-to-set-up-chroot-environment-for.html).
Убедитесь, что я устанавливаю в систему chroot все пакеты, которые установлены в основной системе (как описано здесь: http://www.debianadmin.com/clone-your-ubuntu-installation .html )
Различать каталоги / etc в обеих системах.
Конечно, этот diff не может быть легко использован для установки и настройки другой системы, но знание, где есть различия и каковы они, может помочь в создании tklpatch (например: https: // github.com/dashohoxha/B-Translator/tree/master/tklpatch), что, конечно, не совсем легко сделать и требует некоторой работы.
Затем я могу распространять / публиковать этот tklpatch, и каждый может легко создать систему, очень похожую на мою.