Как вывести список исправлений установленного пакета в SUSE?

Как вывести список исправлений установленного пакета в SUSE?

Допустим, я использую программу под названием "hello", которую я скачал с помощью zypper. Вопрос в том, как мне узнать, включен ли определенный .patch в этот пакет hello?

В принципе, я думаю, что мне нужен исходный файл rpm (но как я могу найти его с помощью zypper?), а затем сделать unrpmи проверить, включен ли файл *.patch. Это правильно или есть другой способ?

решение1

Вы можете загрузить src.rpm с помощью zypperкоманды source-install.

zypper si -D --download-only helloзагрузит .src.rpm, игнорируя все зависимости, необходимые для сборки пакета.

Вы можете найти .src.rpm по адресу /var/cache/zypp/packages/repo/src/hello-version.src.rpm.

Затем вы можете выполнить обычный процесс извлечения пакета.

% rpm2cpio /var/cache/zypp/packages/Virtualization/src/qemu-2.1.0-260.12.src.rpm | cpio -idmv
0001-XXX-dont-dump-core-on-sigabort.patch
0002-XXX-work-around-SA_RESTART-race-wit.patch
0003-qemu-0.9.0.cvs-binfmt.patch
0004-qemu-cvs-alsa_bitfield.patch
<...>

решение2

# zypper patches | grep Installed

qua-sles12-sp1-updates-x86_64              | CL-SUSE-SLE-SERVER-12-SP1-2015-1001    | security    |          | Installed
qua-sles12-sp1-updates-x86_64              | CL-SUSE-SLE-SERVER-12-SP1-2015-1016    | security    |          | Installed
qua-sles12-sp1-updates-x86_64              | CL-SUSE-SLE-SERVER-12-SP1-2015-1022    | security    |          | Installed
qua-sles12-sp1-updates-x86_64              | CL-SUSE-SLE-SERVER-12-SP1-2015-1027    | security    |          | Installed
qua-sles12-sp1-updates-x86_64              | CL-SUSE-SLE-SERVER-12-SP1-2015-1028    | bugfix      |          | Installed
qua-sles12-sp1-updates-x86_64              | CL-SUSE-SLE-SERVER-12-SP1-2015-828     | bugfix      |          | Installed
qua-sles12-sp1-updates-x86_64              | CL-SUSE-SLE-SERVER-12-SP1-2015-846     | security    |          | Installed

Связанный контент