1

Я использую Centos 7, и мне нужно знать, какая у меня версия Xdmx. Установленные rpm -qa и yum list installed возвращают версию пакета rpm, которая, я думаю, отличается от оригинальной версии Xdmx.

$yum list installed | grep Xdmx
xorg-x11-server-Xdmx.x86_64            1.15.0-7.el7                    @base 


$rpm -qa | grep Xdmx
xorg-x11-server-Xdmx-1.15.0-7.el7.x86_64

1.15.0-7.el7 - это версия пакета rpm. Как я могу получить версию Xdmx от этого? Я прочитал руководство по команде Xdmx и не могу найти способ проверить версию Xdmx .

Я не уверен, правильно ли я понимаю создание пакета rpm, поэтому я хотел бы уточнить это. Xdmx является лишь примером, и я хотел бы сейчас общее правило. Xorg является автором Xdmx. Когда программисты Xorg пишут какую-то библиотеку, им все равно, в каком дистрибутиве Linux она будет работать. Код библиотеки универсален и может быть скомпилирован и запущен в любом дистрибутиве Linux, если есть необходимые зависимости. Но большинство пользователей не хотят терять время и не хотят устанавливать библиотеку из исходного кода, они предпочитают скомпилированные пакеты. RPM-пакет содержит информацию о зависимостях, что позволяет автоматически загружать и устанавливать необходимые зависимости для распространения Linux. Я не знаю, есть ли еще какие-то отличия в пакетах rpm, предназначенных для разных дистрибутивов Linux. Предположим, что Fedora и Centos выпустили пакеты rpm для Xdmx 1.0. Есть ли различия между пакетами rpm для Fedora и Centos Xdmx, кроме различий в зависимостях? Может быть, процесс компиляции для Fedora дает другой результат, чем компиляция для Centos? Может быть, поставщики дистрибутивов Linux предоставляют некоторые пользовательские изменения в библиотеке Xdmx? Если зависимости работают должным образом на Centos и Fedora, возможно ли, что Xdmx 1.0 работает правильно на fedora и не работает должным образом на Centos?

1 ответ1

1

Точное содержимое пакета rpm полностью зависит от сопровождающих.

Rpm может содержать исправления, файлы конфигурации и документы, которых не было в исходном коде.

Чтобы получить точное представление о том, что находится в RPM, вы должны найти SRPM (исходный rpm), соответствующий пакету, и распаковать его с помощью rpm2cpio <rpmname.rpm> | cpio -idmv

Файл .spec содержит точные инструкции по сборке пакета, ссылки на оригинальный исходный код и все задействованные файлы.

Чтобы лучше это понять, советую www.rpm.org/max-rpm/

Это полностью подробное руководство по сборке rpm, и я рекомендую создавать rpms.

Чтобы ответить на другие вопросы: очень вероятно, что rpm Fedora не будет работать в CentOS; главным образом потому, что Centos использует init.d и Fedora systemd (не относится к большинству библиотек).

Вы должны придерживаться rpms из репозиториев (epel и rpmforge предоставят вам большую часть того, что вам может понадобиться) и установки исходного кода; выбирать и смешивать rpms, загруженные через http, - плохая идея, плохая политика и большой источник проблем.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .