Пытаясь заменить Linux-сервер, который был установлен несколько лет назад, я понял, что никто не знает точно, что было установлено / настроено с тех пор. Единственное, что у меня есть git
- это определения сайтов nginx.
Какие у меня есть варианты, чтобы сравнить работающий сервер с чистой установкой?
Я хотел бы использовать Ansible для управления версией конфигурации, но перед этим мне нужно получить информацию об установленных службах и их файлах конфигурации, правилах брандмауэра, пользователях / группах, ключах ssh, настройке доменов и т. Д., Я даже не знаю, что делать думать о. Я вижу /data
папка, так что это просто, но в ней www
данные, данные elasticsearch и nodejs
приложений, что означает наличие node
установлены, pm2
и elasticsearch. Я обнаружил следы установки Jenkins, но она не работает. Я вижу службу fail2ban, поэтому ее тоже нужно переместить.
Есть ли способ увидеть, что изменилось с момента первоначальной настройки? Я хотел бы заменить этот Ubuntu 14.04 на чистый 16.04 с использованием Ansible playbooks, чтобы избежать такого хаоса, возможно, докеризуйте некоторые службы, сохранив при этом текущую функциональность.
Если и старая, и новая система используют менеджеры пакетов, возьмите их результат и сравните их. Таким образом вы увидите, какие дополнительные пакеты есть на старом сервере.
Однако, если установлено какое-либо программное обеспечение, которое не устанавливается через менеджеры пакетов, вам необходимо выполнить сравнение содержимого на уровне файловой системы.
Здесь вы монтируете как старую файловую систему, так и файловую систему чистой установки на одном сервере, а затем запускаете diff -b
команда, чтобы показать различия в каталогах. Это даст много результатов.
Прежде всего: рекомендую начать с чистого листа.
Определите службы, которые все еще используются, из журналов или интервью с пользователями, изолируйте их конфигурацию и настройте их в новом окне.
Не тратьте время на копание истории этого ящика.
Обращаясь к вашему вопросу более подробно:
Вы можете получить некоторую информацию о том, что было изменено в вашей системе, из ваших журналов, но эта информация определенно неполная.
В зависимости от того, как был настроен ящик, могут помочь корневые файлы .bash_history, /var/log/apt.log и /var/log/audit/audit.log, но они могут только дать подсказки, а не дать вам полного представления.
dpkg -V даст вам представление о том, какие файлы конфигурации системных пакетов были изменены.