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

Diff для локально измененного пакета в Ubuntu

Если я изменю исходный код какого-либо пакета, который я установил с помощью apt-get в Ubuntu, есть ли какой-нибудь пакетный инструмент, который позволит мне увидеть разницу между исходной установкой и моими изменениями?

Как вы выполняли эти модификации? Вы только что изменили некоторые файлы, которые уже были установлены, или вы загрузили исходный пакет, изменили его и собрали новый пакет? Если вы создали свой собственный пакет, вы должны были создать .diff. Если вы только что изменили установленный материал, посмотрите дебсуммы.

Или вы всегда можете скачать и извлечь (dpkg -x foo.deb /tmp/bar.dir) официальный пакет, а затем сравните его с установленными вами файлами.

Если действительно нужно внести локальные изменения в установленные файлы, я настоятельно рекомендую вам изучить, как создавать свои собственные пакеты Debian.

Вы можете просмотреть различия между двумя версиями двоичного пакета (.deb), используя debdiff инструмент в devscripts пакет. Если вы хотите увидеть различия между версиями исходного пакета, вы можете запустить debdiff на .dsc или .changes файлы, но я предпочитаю interdiff -z на .diff.gz файлы для двух версий пакетов.

Конечно, все это предполагает, что вы вносите локальные изменения «правильно». Если вы выполняете какую-то работу (модифицируете файлы на месте или распаковываете и переупаковываете бинарный пакет), тогда все ставки отключены, как в отношении того, как вы будете выполнять разницу, так и в том, что пойдет не так с вашими системами в будущее.

Есть инструмент под названием план это может сделать то, что вы ищете:

Blueprint просматривает популярные менеджеры пакетов, находит изменения, внесенные вами в файлы конфигурации, и архивирует программное обеспечение, созданное вами из исходных текстов.

На самом деле, нет. debsums покажет вам, какие файлы были изменены, но я не знаю инструмента, который мог бы быть более конкретным, чем этот.