Назад | Перейти на главную страницу

debian, diff, config по умолчанию

Я хочу знать, можно ли получить разницу между оригиналом и текущими конфигурационными файлами установленных пакетов 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

Я собрал bash-скрипт, который выполняет сравнение (для этого он загружает все необходимые пакеты и извлекает их во временный каталог).

  • Он использует дебсуммы вместо dpkg-query, поскольку dpkg-query, как оказалось, дал мне ложные срабатывания.
  • Он также не может различать файлы, которые создаются сценарием во время установки (файлы в / etc / default кажутся такими), которые потребуют некоторого chroot или тому подобного ...

Наслаждаться:

https://gist.github.com/pallinger/cdb70d73cb922baa43d2

P.s .: Действительно лучше использовать etckeeper или что-то подобное, но если вы уже установили систему, вы опоздали для предыдущих модификаций.

я использую etckeeper для этого. Это не поможет вам вернуться назад, но с этого момента вы сможете увидеть изменения в / etc. Он написан Джоуи Хессом и представляет собой отличный инструмент. Описание Джои:

etckeeper - это набор инструментов, позволяющих хранить / etc в репозиториях git, mercurial, darcs или bzr. Он подключается к apt (и другим менеджерам пакетов, включая yum и pacman-g2), чтобы автоматически фиксировать изменения, внесенные в / etc во время обновления пакетов. Он отслеживает метаданные файлов, которые системы контроля версий обычно не поддерживают, но это важно для / etc, например, разрешения для / etc / shadow. Он довольно модульный и настраиваемый, а также прост в использовании, если вы понимаете основы работы с системой контроля версий.

Поскольку он основан на git, вы можете добавлять пульты дистанционного управления и легко сравнивать файлы конфигурации с разных машин без необходимости использовать ssh на другом компьютере. Легко устанавливается с apt-get и источник доступен здесь:

http://git.kitenet.net/?p=etckeeper.git