📦 Как показать список изменений пакета Debian/Ubuntu Linux |

📦 Как показать список изменений пакета Debian/Ubuntu Linux

Мануал

Вы хотите проверить историю изменений пакета на Debian, Ubuntu и Linux Mint?

Возможно, вам нужно проверить, исправлена ли конкретная уязвимость CVE (Common Vulnerabilities and Exposures).

Предположим, вы установили или обновили пакет на Debian или Ubuntu.

В этом случае вы можете легко узнать, какие изменения были внесены в пакет, включая новые возможности или исправления ошибок.

Давайте разберем, как просмотреть changelog deb пакета.

Чтобы посмотреть журнал изменений пакета в Debian/Ubuntu, выполните следующую процедуру:

Откройте приложение терминала.

Для просмотра журнала изменений введите

apt changelog {pkg-name-here}
 apt-get changelog {pkg-name-here}

Файлы ChangeLog находятся в каталоге /usr/share/doc/{pkg-name}/, и просмотреть его можно следующим образом:

ls -l /usr/share/doc/{pkg-name-here}/[cC]hangelog*
 zless /usr/share/doc/{pkg-name-here}/[cC]hangelog*

Для просмотра той же информации можно использовать графический менеджер пакетов, например synaptic или aptitude-curses.

Рассмотрим примеры и синтаксис в деталях.

Debian показывает журнал изменений пакетов с помощью apt или apt-get

Например, если вы хотите посмотреть, что изменилось в пакете ufw, который предоставляет команду ufw, вам нужно ввести:

apt changelog ufw

или

apt-get changelog ufw

По умолчанию для просмотра сводки используется less.

Поэтому вы можете нажимать q для выхода из программы и клавиши со стрелками ВВЕРХ и ВНИЗ для перемещения.

Более подробная информация приведена в команде less.

Понимание формата changelog

Попробуем разобраться в выводах команды apt changelong nginx:

nginx (1.22.1-9) unstable; urgency=medium
 
  * d/control: nginx-common Breaks+Replaces: nginx (<< 1.22.1-8)
    (Closes: 1032929)
 
 -- Jan Mojžíš <jan.mojzis@gmail.com>  Tue, 14 Mar 2023 16:19:32 +0100
 
nginx (1.22.1-8) unstable; urgency=medium
 
  * Main change:
    Configuration files returned to nginx-common package. This fixes
    the serious problem of losing configuration files during upgrade.
    This is a rollback of a change made in 1.22.1-6 (Closes: 1032517)
  * d/control: fix nginx-full dependencies
  * d/libnginx-mod.abisubstvars: update libnginx-mod-http-lua version
 
 -- Jan Mojžíš <jan.mojzis@gmail.com>  Tue, 14 Mar 2023 06:53:32 +0100
....
....

Давайте разберемся:

  1. nginx (1.22.1-9) unstable; urgency=medium: Вы видите пакет nginx (версия), метаданные дистрибутива.
  2. * d/control: nginx-common Breaks+Replaces: nginx (<< 1.22.1-8) (Closes: 1032929) : Детали изменений.
  3. — Jan Mojžíš Tue, 14 Mar 2023 16:19:32 +0100 : Вы видите имя сопровождающего пакета, адрес электронной почты и дату.

Просмотр журнала изменений пакета Deb с помощью aptitude

aptitude или aptitude-curses – это высокоуровневый интерфейс к менеджеру пакетов APT.

📦 Команды Apt Update и Upgrade – в чем разница? – IT is good

Он создан для начинающих разработчиков и сисадминов.

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

  sudo apt install aptitude

  aptitude changelog {pkg_name_here}
 aptitude changelog lighttpd
 aptitude-curses

Откуда берутся данные?

Данные загружаются с серверов Debian или Ubuntu Linux и хранятся в вашей файловой системе в файле с именем changelog.Debian.gz или changelog.gz.

Для его просмотра попробуйте выполнить следующие команды ls и zless:

  ls /usr/share/doc/
 ls /usr/share/doc/nginx/
 zless /usr/share/doc/nginx/changelog.Debian.gz

Заключение

Журнал изменений (changelog) – это ценный ресурс, содержащий необходимую информацию о журналах пакетов с момента их установки или обновления в системе.

Мы часто обращаемся к нему, чтобы проверить, содержит ли установленный пакет APT исправление или патч по номеру CVE.

Для использования сжатой версии команды grep, называемой командой zgrep, синтаксис следующий.

Чтобы узнать, исправлен CVE-2022-41741 или нет, введите:

zgrep -i “CVE-2022-41741” /usr/share/doc/nginx/changelog.gz
 zgrep -i “CVE-2022-41741” -A 4 -B 4 /usr/share/doc/nginx/changelog.gz

Последняя команда выполнит поиск в файле changelog.gz для пакета nginx строки или CVE-номера “CVE-2022-41741”.

Опция -i указывает команде zgrep игнорировать регистр, опция -A 4 указывает команде zgrep выводить 4 строки после каждого совпадения, а опция -B 4 указывает команде zgrep выводить 4 строки перед каждым совпадением.

Настройте параметры -A 4/-B 4 в соответствии с вашими потребностями.

Вот что я увижу по поводу потенциальной возможности выполнения произвольного кода при обработке неправильно сформированного mp4-файла с помощью Nginx:

 Security: processing of a specially crafted mp4 file by the
       ngx_http_mp4_module might cause a worker process crash, worker
       process memory disclosure, or might have potential other impact
       (CVE-2022-41741, CVE-2022-41742).

Поприветствуйте команду debsecan

Завершая это руководство, хочу сказать, что вызов инструмента под названием “debsecan” крайне важен.

Этот инструмент анализирует список установленных пакетов на текущем хосте и сообщает о всех найденных в системе уязвимостях, включая CVE.

Синтаксис программы следующий:

debsecan | less
 debsecan | grep ‘nginx’
 debsecan | grep CVE-2023-20593

Вывод:

CVE-2023-20593 amd64-microcode
CVE-2023-20593 linux-libc-dev

см. также:

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий