Я использую Ubuntu и у меня установлен файл deb. Я уже делал пакеты deb, поэтому я знаю, что есть журнал изменений debian (debchange). Есть ли какой-нибудь список изменений в Debian для любого пакета, который я установил? Предположим, у меня нет доступа к исходному файлу deb для этого пакета, и у меня нет доступного файла deb. Я могу установить дополнительные пакеты, если это необходимо.
19
apt-get
установленных пакетов:apt-get changelog <package>
apt-get
такой команды нет.apt-get changelog apt | grep -C5 'apt-get changelog'
показывает, что эта команда введена вapt (0.8.9ubuntu1) natty
(2010). Вы можете получить исходный код (в конце концов, он с открытым исходным кодом): запуститеapt-get source apt
и найдитеcmdline/apt-get.cc
файл и посмотрите наDoChangelog()
функцию (кстати, посмотрите наDoMoo()
функцию).Ответы:
В качестве альтернативы, если deb также находится в репозитории, и вы хотите знать журнал изменений более старых версий, вы можете использовать его
apt-get changelog package
для чтения всего журнала изменений. Например, для openssl:источник
apt-listchanges
это хороший пакет, который есть в наличии, но без того, чтобы иметь файл deb вокруг вашей лучшей ставки, скорее всего, это прочитать журнал изменений Debian из /usr/share/doc/somepackage/changelog.Debian.gz .Создайте функцию оболочки с:
источник
debchange
на самом деле это существующий инструмент в devscripts, используемый для создания записей журнала изменений. Поэтому я настоятельно рекомендую выбрать другое имя. Кроме того,$0
вероятно, не будет делать то, что вы ожидаете. В моем случае это всегда будет выполнятьсяzless /usr/share/doc/bash/changelog.Debian.gz
. В вашем случае заменитеbash
имя оболочки или сценария, из которого вы выполняете его.Чтобы расширить ответ Янне Пиккарайнен , вот псевдоним, который можно использовать для чтения changelog.Debian.gz для любого данного пакета:
Это можно использовать так:
Обратите внимание, однако, что это ужасно хакерское решение и не рекомендуется в большинстве случаев. Функциональный или автономный скрипт - намного лучшее решение.
Вот функция, которая читает все доступные журналы изменений для ПАКЕТА:
Вот функция, которая печатает список всех доступных журналов изменений для ПАКЕТА и запрашивает у пользователя, какой из них прочитать:
источник