Как проверить, какой тип сжатия использует пакет RPM?

Недавно я понял, что несколько лет назад пакеты RPM перешли от сжатия gzip к сжатию xz. Мне нужно проверить тип сжатия пакета RPM, который у меня есть. Мне также нужно проверить, какой тип сжатия учитывается моей системой при попытке распаковать файл RPM.

0
31.08.2016, 22:07
2 ответа

Эту команду можно использовать для отображения формата сжатия пакета RPM:

rpm -qp --queryformat '%{PAYLOADCOMPRESSOR}\n' <file_name>
4
28.01.2020, 02:34

По адресу:Какие форматы сжатия поддерживаются?

Достаточно легко увидеть, что не поддерживается, например. попытка установить RPM из Fedora 34 на RHEL 6:

$ rpm --install https://dl.fedoraproject.org/.../Packages/t/tzdata-2021a-1.fc34.noarch.rpm
error: Failed dependencies:
        rpmlib(PayloadIsZstd) <= 5.4.18-1 is needed by tzdata-2021a-1.fc34.noarch

Несмотря на то, что rpm-libsне раскрывает эту зависимость явно таким образом, который может быть запрошен --whatprovides, мы можем вывести форматы сжатия, поддерживаемые rpm-libs.

### why do all compression formats have "z" in the name? It's the fashion.
$ rpm -q --requires rpm-libs | grep '^lib.*z'
libbz2.so.1()(64bit)
liblzma.so.5()(64bit)
liblzma.so.5(XZ_5.0)(64bit)
liblzma.so.5(XZ_5.1.2alpha)(64bit)
libz.so.1()(64bit)

Другим способом отслеживания этого могут быть изменения функций Fedora и т. д.:

0
21.06.2021, 17:30

Теги

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