Как я вижу журнал изменений для debian/ubuntu deb пакет?

Похож на идентификационные данные пула приложений, используется для создания файла (это СЕТЕВОЙ СЛУЖБОЙ по умолчанию); попытайтесь изменить это и посмотрите то, что происходит.

Возможно, это может помочь Вам: http://msdn.microsoft.com/en-us/library/ms998351.aspx.

19
задан 26 August 2010 в 13:34
4 ответа

apt-listchanges хороший пакет состоит в том, чтобы иметь вокруг, но не имея deb файла вокруг Вашего лучшего выбора по всей вероятности должен считать журнал изменений Debian из/usr/share/doc/somepackage/changelog. Debian.gz.

Создайте функцию оболочки с:

function debchanglog () {
  zless "/usr/share/doc/$1/changelog.Debian.gz"
}
12
ответ дан 2 December 2019 в 20:17

Для расширения ответа Janne Pikkarainen answer, вот псевдоним, который может быть использован для чтения changeslog.Debian.gz для любого данного пакета:

alias changelog="xargs -I% -- zless /usr/share/doc/%/changelog.Debian.gz <<<"

Он может быть использован следующим образом:

changelog PACKAGE

Пожалуйста, обратите внимание, что это ужасно хакерское решение и не рекомендуется в большинстве случаев. Функция или отдельный скрипт - гораздо лучшее решение.

Вот функция, которая читает все доступные журналы изменений для ПАКЕТА:

changelog(){
    if (( $# != 1 )); then
        echo "Usage: ${FUNCNAME[0]} PACKAGE"
        return 1
    fi

    find -L "/usr/share/doc/$1" -type f -name 'changelog*.gz' -exec zless {} \; 2>/dev/null
}

Вот функция, которая печатает список всех доступных журналов изменений для ПАКЕТА и просит пользователя выбрать, какой из них прочитать:

changelog(){
    if (( $# != 1 )); then
        echo "Usage: ${FUNCNAME[0]} PACKAGE"
        return 1
    fi

    local changelog changelogs

    readarray -t changelogs < <(find -L "/usr/share/doc/$1" -type f -name 'changelog*.gz' 2>/dev/null)

    if (( ${#changelogs[@]} == 0 )); then
        return 0
    elif (( ${#changelogs[@]} == 1 )); then
        zless "${changelogs[0]}"
        return $?
    fi

    select changelog in "${changelogs[@]}" EXIT; do
        case $changelog in
            '')
                echo "ERROR: Invalid selection" >&2
                continue
                ;;
            EXIT)
                return 0
                ;;
            *)
                zless "$changelog"
                return $?
                ;;
        esac            
    done
}
3
ответ дан 2 December 2019 в 20:17

В качестве альтернативы, если deb также находится в репозитории, и вы хотите узнать журнал изменений более старых версий, вы можете использовать apt -get пакет изменений , чтобы прочитать весь журнал изменений. Например, для openssl:

apt-get changelog libssl1.0.0
21
ответ дан 2 December 2019 в 20:17

В Ubuntu 18.04+ современная версия aptможет это сделать (в отличие от apt-get):

ubuntu18-04:~% apt changelog nginx
nginx (1.14.0-0ubuntu1.9) bionic-security; urgency=medium

  * SECURITY UPDATE: DNS Resolver issues
    - debian/patches/CVE-2021-23017-1.patch: fixed off-by-one write in
      src/core/ngx_resolver.c.
    - debian/patches/CVE-2021-23017-2.patch: fixed off-by-one read in
      src/core/ngx_resolver.c.
    - CVE-2021-23017
...
0
ответ дан 3 February 2022 в 18:38

Теги

Похожие вопросы