debian, diff, config default
Я хочу знать, возможно ли получить различие между исходными и текущими конфигурационными файлами установленных пакетов Debian.
Если найдены ответы, в которых отображаются измененные файлы конфигурации, но я не нахожу способ сгенерировать diff.
Команда
dpkg-query -W -f='${Conffiles}\n' '*' | awk 'OFS=" "{print $2,$1}' | LANG=C md5sum -c 2>/dev/null | awk -F': ' '$2 !~ /OK/{print $1}' | sort | less
2 ответа
Я использую etckeeper для этой цели. Это не поможет вам вернуться назад, но теперь вы сможете видеть изменения в / etc. Он написан Джои Хессом и является отличным инструментом. Джои описание:
etckeeper - это набор инструментов, позволяющих хранить / etc в репозитории git, mercurial, darcs или bzr. Он подключается к apt (и другим менеджерам пакетов, включая yum и pacman-g2) для автоматической фиксации изменений, внесенных в / etc во время обновления пакетов. Он отслеживает метаданные файлов, которые системы контроля версий обычно не поддерживают, но это важно для / etc, например, для разрешений / etc / shadow. Он достаточно модульный и настраиваемый, а также простой в использовании, если вы понимаете основы работы с контролем версий.
Так как он основан на git, вы можете добавлять удаленные устройства и легко сравнивать файлы конфигурации с разных машин без необходимости использовать ssh на другой машине. Легко устанавливается с apt-get
и источник доступен здесь:
Я взломал bash-скрипт, который выполняет diff (для этого он загружает все необходимые пакеты и извлекает их во временный каталог).
- Он использует debsums вместо dpkg-query, поскольку dpkg-query оказался для меня ложным срабатыванием.
- Он также не может различать файлы, сгенерированные сценарием во время установки (файлы в /etc/default кажутся такими), для которых потребуется некоторая привязка или тому подобное...
Наслаждаться:
https://gist.github.com/pallinger/cdb70d73cb922baa43d2
Ps: действительно лучше использовать etckeeper или что-то подобное, но если вы уже установили систему, вы слишком поздно для предыдущих модификаций.