Я пытаюсь установить новую версию от ganglia, которая предоставляет tar.gz Моя процедура была распаковать файл tar.gz , войти в папку, а затем сделать rpmbuild -ba ganglia.spec , выдается предупреждение о отсутствующих библиотеках зависимостей, затем я устанавливаю их через yum , затем снова rpmbuild , который генерирует некоторые файлы .rpm в /usr/src/RPM/ я сделал это в CentOS 5 и CentOS 6. Затем установите его на некоторых серверах.

Интересно, правильно ли то, что я делаю? (Я читал некоторые учебные пособия только через Интернет) Мой друг сказал, что это неправильно, что этот .rpm который я генерирую, похож на compile и будет работать только для серверов только с аппаратным обеспечением, верно?

Как правильно собрать пакет .rpm из файла .tar.gz ?

1 ответ1

5

Это правильный путь. Ответственность за правильную спецификацию rpm лежит на лицах, выпускающих файл .tar.gz, если он предназначен для сборки rpm. И вот как вы строите RPM из файла спецификации.

Созданные таким образом rpm-файлы могут быть установлены на всех соответствующих серверах, при условии, что вы специально не сделали вещи, которые мешают им работать (например, установили странные версии "зависимостей", но если вы установили пакеты только из базовых репозиториев centos , пакеты будут хорошими). Но "соответствие" здесь означает и версию centos/rhel, и архитектуру. Архитектура обычно подразумевает только 32-разрядную или 64-разрядную архитектуру x86, но есть также архитектуры arm, powerpc и другие. Например, проект Fedora поддерживает следующие архитектуры: https://fedoraproject.org/wiki/Architectures .

В любом случае некоторые rpms (специфичные для архитектуры) могут быть установлены на определенной архитектуре, поскольку они содержат скомпилированный код. Другие rpms могут быть "noarch", что означает, что сгенерированные rpm могут быть установлены на любой архитектуре. Этот тип rpms не имеет скомпилированных двоичных файлов, только программы с данными или интерпретируемыми языками (shell, perl, python и т.д.).

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