Хотя тема резервного копирования / управления версиями файлов конфигурации может показаться простой на первый взгляд, она является одной из актуальных тем администрирования системы / инфраструктуры.
Независимость от дистрибутива, чтобы сохранять автоматическое резервное копирование / etc как простое решение, вы можете установить etckeeper.
По умолчанию он фиксирует / etc в системе управления репозиторием / версией, установленной в той же системе.
По умолчанию фиксации / резервные копии выполняются ежедневно и / или каждый раз при обновлении пакета.
Пакет etckeeper в значительной степени присутствует во всех дистрибутивах Linux.
см .: https://help.ubuntu.com/lts/serverguide/etckeeper.html
или https://wiki.archlinux.org/index.php/Etckeeper
Можно утверждать, что этот пакет является хорошим стандартом в отрасли.
Если у вас не установлен etckeeper и вам нужен конкретный файл etc, есть несколько способов; вы можете скопировать его из аналогичной вашей системы , попросить менеджера пакетов загрузить установочный файл или загрузить его вручную и извлечь из него файл etc; Один из самых простых способов - использовать mc (midnight commander) для навигации внутри пакетов, как если бы они были каталогами.
Вы также можете использовать дистрибутивные репозитории для получения пакетов, в случае Debian это http://packages.debian.org
В конечном итоге, если etc / configurations повреждены до неузнаваемости, у вас всегда есть возможность переустановить конкретный пакет. переместите файлы etc в резервное имя / каталог, например в Debian:
apt-get install --reinstall package_name
Вы также можете настроить и установить исходные репозитории для вашего конкретного дистрибутива / версии, установить исходный пакет и получить оттуда файлы etc.
https://wiki.debian.org/apt-src (снова пример Debian)
В некоторых пакетах у вас также могут быть примеры файлов конфигурации в / usr / share / doc / package_name, которые могут быть пригодны или не использоваться.
В качестве последнего средства вы можете также найти файлы etc в адресах репозиториев / github, если соответствующие проекты с открытым исходным кодом, просто имейте в виду, что часто дистрибутивы изменяют настройки по умолчанию и все вокруг.
Очевидно, что ни одна из этих альтернатив не освобождает вас от необходимости иметь разумную политику резервного копирования и восстанавливать утерянные файлы / etc.
Времена также быстро меняются, и если следовать философии devops, вы также можете отказаться от некоторых систем и заново развернуть их в случае повреждения некоторых файлов; Вы также можете использовать CI и повторно использовать файлы, например, из jenkins.