Я установил php5-fpm
пакет с помощью apt
; Затем я внес некоторые изменения в конфигурационные файлы PHP.
Теперь я хотел бы получить различия между исходными версиями файлов (версиями установленного пакета) и текущими версиями (измененными мной). Как это сделать?
/etc
контроль над ревизиями (для этого я использую mercurial)add
иcommit
регулярно. Таким образом, вы можете вернуться к исходным файлам или к промежуточным измененным состояниям иhg diff
увидеть изменения. Если вы не можете найти способ сделать это, сделайтеapt
резервную копию ваших измененных файлов, переустановите пакеты, переведите файлы конфигурации под контроль версий и скопируйте ваши изменения. После этого вы можете сделать diff.Ответы:
Попробуйте что-то вроде этого:
Как предлагают другие, определенно поставьте ваши файлы конфигурации под контроль версий. Таким образом, вы можете точно увидеть, что вы изменили и когда вы изменили это.
источник
tar xzf data.tar.gz
должно бытьtar xf data.tar.xz
для недавнего Ubuntudpkg-deb -x ${package}_*.deb .
вместо использованияar
иtar
. Такжеapt-get download $(dpkg-query -W -f='${binary:Package}=${Version}' $package)
убедитесь, что вы взяли текущую установленную версию, а не самую последнюю, например, если вы делаете это непосредственно перед обновлением.data.tar.xz
github.com/rubo77/apt-etc-diff - также немногои т. д. каталог
Для отслеживания изменений в вашем
/etc
каталоге вы можете сделать, как предложил @Anthon, и использовать git, subversion, mercurial и т. Д. Для управления версиями этого каталога. Вы также можете использовать такой инструмент, как etckeeper . Там в учебнике здесь , а также здесь .файлы пакета
Насколько мне известно
apt
, нет способа проверить файлы на диске по сравнению с файлами, которые находятся в фактическом.deb
. Так жеdpkg
как и инструмент, которыйapt
фактически используется для управления файлами.Однако вы можете использовать такой инструмент, как
debsums
сравнение некоторых установленных файлов, он только смотрит на их контрольные суммы (md5sum) того, что находится в.deb
файле, и того, что находится на системном диске.Смотрите этот Serverfault вопрос для получения более подробной информации о
debsum
иdpkg
контрольных суммах, а также этот askubuntu вопрос .debsum
примеристочник
/etc
под контролем ревизии, и мнеetckeeper
кажется, что это правильное решение для управления ею; Я приму этоdebsums -a
, иначе файлы конфигурации будут исключены из проверки.debums -ce
идеально подходит для поиска файлов конфигурации.Я написал следующий простой скрипт для автоматического получения исходного файла из правильного пакета Debian и сравнения текущего файла с ним: https://a3nm.net/git/mybin/tree/debdiffconf
Используйте это следующим образом:
debdiffconf FILE
источник
realpath
установленного пакета.Если вы хотите увидеть различия между оригинальным и установленным
php.ini
файлом, используйтеесли вас не интересуют строки комментариев, отправьте их в
источник