Меню Рубрики

Установка src rpm пакетов

Установка rpm пакетов в Linux

Рано или поздно нам приходится устанавливать программное обеспечение не из официальных репозиториев. Там есть далеко не все пакеты, и не всегда есть самые новые версии, только что вышедших программ. Очень часто разработчики размещают на своем официальном сайте пакеты для самых популярных дистрибутивов. Обычно это deb и rpm. Последний встречается немного реже, но если вы используете дистрибутив на базе Red Hat, вам нужен именно этот формат пакетов. Также в сети часто можно найти библиотеки и другие компоненты, которых нет в репозиториях в виде пакетов.

Раньше мы уже рассматривали установку deb пакетов в Ubuntu. А в этой статье будет подробно разобрана установка rpm пакетов в linux.

Что такое RPM?

RPM или RPM Package Manager — это пакетный менеджер, используемый в дистрибутивах Linux, основанных на Red Hat. Такое же название имеет формат файлов этого пакетного менеджера.

Этот формат не очень сильно отличается от того же самого Deb. Вы можете посмотреть их детальное сравнение в статье что лучше deb или rpm. Здесь же, только отмечу, что файл rpm — это обычный cpio архив, в котором содержатся сами файлы программы, а также метаданные, описывающие куда их нужно устанавливать. База всех установленных пакетов находится в каталоге /var/lib/rpm. Из особенностей можно отметить, что rpm не поддерживает рекомендованные пакеты, а также зависимости формата или-или.

Для управления пакетами, так же как и в Debian-системах, здесь существует консольная, низкоуровневая утилита с одноименным названием — rpm. Ее мы и будем рассматривать дальше в статье. В разных системах используются разные пакетные менеджеры, например в Red Hat используется Yum, в Fedora — DNF, а в OpenSUSE — zypper, но во всех этих системах будет работать утилита rpm.

Установка RPM пакетов в Linux

Давайте сначала рассмотрим синтаксис самой утилиты rpm:

$ rpm -режим опции пакет

Утилита может работать в одном из режимов:

  • -q — запрос, получение информации;
  • -i — установка;
  • -V — проверка пакетов;
  • -U — обновление;
  • -e — удаление.

Рассмотрим только самые интересные опции программы, которые понадобятся нам в этой статье:

  • -v — показать подробную информацию;
  • -h — выводить статус-бар;
  • —force — выполнять действие принудительно;
  • —nodeps — не проверять зависимости;
  • —replacefiles — заменять все старые файлы на новые без предупреждений;
  • -i — получить информацию о пакете;
  • -l — список файлов пакета;

Теперь, когда вы уже имеете представление как работать с этой утилитой, может быть рассмотрена установка rpm пакета в Linux. Самая простая команда установки будет выглядеть вот так:

Для работы с командной текущей директорией должна быть папка с пакетом. Здесь мы устанавливаем режим установки и передаем файл пакета. При успешной установке утилита не выведет ничего, если произойдет ошибка, вы об этом узнаете.

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

sudo rpm -iv имя_пакета.rpm

Также вы можете включить отображение статус бара в процессе установки:

sudo rpm -ivh имя_пакета.rpm

Чтобы проверить установлен ли пакет, нам уже нужно использовать режим запроса:

Также сразу можно удалить пакет, если он не нужен:

Но у rpm так же как и у dpkg, есть один существенный недостаток. Программа не может разрешать зависимости. В случае отсутствия нужного пакета в системе, вы просто получите сообщение об ошибке и пакет не установится.

Для автоматической загрузки зависимостей во время выполнения установки rpm linux нужно использовать пакетный менеджер дистрибутива. Рассмотрим несколько команд для самых популярных RPM дистрибутивов. В RedHat и других дистрибутивах, использующих Yum используйте такую команду:

sudo yum —nogpgcheck localinstall имя_пакета.rpm

Первая опция отключает проверку GPG ключа, а вторая говорит, что мы будем выполнять установку локального пакета. В Fedora, с помощью dnf все делается еще проще:

sudo dnf install имя_пакета.rpm

Пакетный менеджер Zypper и OpenSUSE справляются не хуже:

sudo zypper install имя_пакета.rpm

Вот так очень просто выполняется установка rpm с зависимостями. Но не всем нравится работать в консоли, многие новые пользователи хотят использовать графический интерфейс для решения всех задач, в том числе и этой. Дальше мы рассмотрим несколько таких утилит.

Установка RPM файла в GUI

Если вы используете OpenSUSE, то это делается очень просто. Универсальный конфигуратор системы YaST, кроме всего прочего позволяет установить rpm пакеты. Вы можете сделать это с помощью файлового менеджера, выбрав пункт контекстного меню для файла открыть с помощью Yast или выполнив команду:

В Fedora для тех же целей вы можете использовать менеджер приложений дистрибутива. Раньше было еще несколько универсальных утилит для решения этой задачи, но сейчас они уже все устарели.

Выводы

Теперь вы знаете как выполняется установка rpm файла в Linux. На самом деле это очень просто и даже существует не только один способ, а целых несколько. Хотя графических утилит здесь немного меньше чем в Ubuntu. Но консольных утилит полностью хватает. Если у вас остались вопросы, спрашивайте в комментариях!

Читайте также:  Установка зажигания на лодочном моторе стрела

источник

Установка src rpm пакетов

Из готового тарбола (если он учитывает все нужные патчи) можно получить исполняемые программы с помощью следующих команд:

1 разархивировать тарбол:

Создаем папку, куда будем разархивировать тарбол,

Непосредственно разархивируем в папку:

— разархивация архивов типа tar.gz и tgz

— разархивация архивов типа tar.bz и tbz

файлы разархивируются в текущую папку (для работы с архивами очень удобно использовать Midnight Commander — MC — свободный клон NC)

Переходим в папку с разархивированным тарболом

2 конфигурим пакет

(в тяжелых случаях нужно будет в параметрах указать пути для всех необходимых библиотек и header-файлов — но к счастью, обычно на близких системах они лежат одинакого и сам скрипт configure их находит, также параметы могут потребоваться, если пакет будет распологаться не в том месте, где предполагал разработчик программы, а в каком-либо другом )

3 Создаем пакет:

4 Устанавливаем пакет

(последний этап можно теоретически сделать и в ручную скопировав файлы в нужные места) Хочу подчеркнуть, что это наиболее опасный этап — перед ним желательно позаботится о том, как восстановить старый пакет, если в новом есть ошибки.

7.2 Установка программ из сорца (.src.rpm)

Программисты создают проект программы (например с помощью Kdevelop), в котором есть все makefile и файлы конфигурации (configure), а потом упаковывают их в тарболы. В случае доработки пакета создаются Patch-и к исходным текстам, которые заменяют одни строки текста программ на другие. Тарболы и прикладываемые к ним patch-и упаковываются в пакеты-сорцы (.SRC.RPM)(бывают и другие системы пакетов — но я говорю о дистрибутивах на основе RPM — Red Hat, Mandrake, SuSe). RPM-пакет — это особо организованный архив, в который помимо данных (тарбола и патчей — для сырца, необходимых программ — для бинарного RPM) упакованы скрипты установки и обновления. C помощью сорца можно создать бинарный RPM — т.е. такой RPM, в котором упакованы исполняемые пакеты. Причем, если RPM создан на текущей машине, он теоретически будет наилучшим образом подходить к текущей конфигурации пакетов (именно поэтому многие администраторы наиболее важные пакеты собирают из сырцов заново на своей машине). В результате установки сорца- в директорию /usr/src/RPM/source помещаются все необходимые тарболы (обычно один) и патчи (может быть много, а может быть и не одного — все зависит от разработчика и составителя конкретного RPM). — В директорию /usr/src/RPM/spec помещается установочный скрипт (файл с расширением spec) в котором разработчик RPM помещает все действия по установке пакета — разархивирование тарбола, накладывания патчей, транслирование и т.д. Разработано уже много макросов для spec-файлов. С наиболее старыми из них и общей теорией их построения а также опциями команды rpm можно познакомится в RPM-HOWTO . При построении пакета все операции с исходным текстом программ обычно (но не всегда) помещаются в /usr/src/RPM/builder, а новые полученные пакеты (новый сырец и новый бинарник) помещаются соответственно в /usr/src/RPM/RPMS и /usr/src/RPM/SRPMS. Получить из установленного сорца соответствующий пакет можно с помощью команды

7.3 Установка программ из пакетов .RPM

В дистрибутивах Red Hat, Mandrake, Suse, AltLinux, ASP Linux и некоторых других, программы (состоящие, как правило, из нескольких файлов) распространяются объединенными в пакеты формата RPM (RedHat Packet Manager). С помощью программы rpm можно легко устанавливать, модифицировать, удалять и создавать пакеты программного обеспечения, а также получать о них разнообразную информацию. Все эти дистрибутивы (кроме программы начальной установки) состоят из таких пакетов. Каждый пакет определяется именем программы, номером ее версии и номером версии релиза этой программы дистрибутива, а также архитектурой пакета. Например, bash-2.0.5-alt2.i586.rpm: в этом пакете

  • имя — bash,
  • номер версии — 2.0.5,
  • номер релиза — alt2,
  • архитектура — i586.

Чем больше номер версии (или при одинаковых номерах версии — чем больше номер релиза), тем, соответственно, новее пакет. Управлять пакетами можно из командной строки при помощи программы rpm, которая имеет следующий синтаксис:

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

Установка пакета.

Вы можете установить программу, используя опцию -i (опции -v и -h выставлены здесь для того, чтобы включить визуальное отображение процесса установки). Например, для того, чтобы установить klyx, наберите:

(настоящее имя зависит от версии программы на доступном носитеое). Заметим, что ipl6mdk означает, что пакет был модифицирован ALT Linux Team (ранее — IPLabs Linux Team) для русской редакции, это его шестая сборка, он входит в дистрибутив Mandrake. i586 указывает на то, что он скомпилирован для процессоров не ниже Pentium(tm). Наличие в имени пакета аббревиатуры alt2 означает, что пакет был собран ALT Linux Team и это его вторая сборка.

Читайте также:  Установка забора профнастил с автоматической установкой

Обновление пакета.

Для того чтобы обновить программу (с целью установки более свежей версии), нужно использовать опцию -U, вместо -i, это позволит сохранить все текущие конфигурационные файлы. Если пакета ранее не было в системе, то он будет установлен.

Удаление пакета.

то есть, например, для пакета klyx:

Если в процессе удаления пакета произойдет нарушение зависимостей, программа rpm сообщит об этом.

Информация о пакете.

Вы можете запросить у rpm ряд полезной информации о пакете, не устанавливая его — например, бывает удобно просмотреть список всех файлов пакета или краткое описание его возможностей. Для этого используйте опцию -q (query, запрос). -qi используется для получения некоторой информации о ранее установленном пакете; -qip используется для еще не установленных пакетов. В этом случае вы должны указать полный путь и имя пакета (например, /mnt/cdrom/Mandrake/RPMS/klyx-0.10.9-ipl6mdk.i586.rpm); -ql используется для того, чтобы просмотреть список файлов пакета. Добавьте p, если пакет еще не был установлен; -qa выдает список всех установленных пакетов (не нужно указывать имя пакета).

Будьте осторожны с опцией —force — ее можно употреблять только в тех случаях, когда вы хорошо знаете, что делаете.

Если надо установить два или более пакетов, зависящих друг от друга, то установите их одновременно:

Часто бывает удобнее, однако, применять программы специально созданные для данного дистрибутива, например, rpmdrake, разработанную MandrakeSoft, kpackage из KDE, gnorpm из GNOME или систему apt (AltLinux). В дистрибутивах, родственных Mandrake удобнее управлять пакетами через графическую оболочку rpmdrake, которую можно запустить через панель управления DrakConf (находящуюся на рабочем столе). Можно выбрать два режима работы — установка или удаление — при помощи кнопок в правом верхнем углу. Выделив пакет, можно получить информацию о нем, входящих в его комплект файлах, а также некоторую другую. Нажав кнопку «Удалить выбранное» или «Установить выбранное», можно удалить или установить выбранные пакеты. Часто бывает так, что требуемый пакет для нормального функционирования требует другие; в этом случае программа предложит вам установить или удалить еще несколько пакетов. При удалении пакетов необходимо соблюдать осторожность, чтобы не удалить важные части системы, например пакеты kernel или glibc. Для использования функции обновления пакетов необходимо указать программе через меню Файл|Настройки дополнительный источник пакетов, в качестве которого может выступать как ресурс Internet, так и локальный каталог или диск CD-ROM. Установку пакетов весьма удобно выполнять и через консольную программу urpmi — с тем отличием, что все действия будут выполняться менее наглядно. Для установки пакетов, поставляемых ALT Linux Team, можно даже запускать программу urpmi не от имени суперпользователя, а от обычного пользователя; единственное, что необходимо сделать для этого ? добавить его в группу urpmi. Для получения дополнительной информации наберите man rpm.

источник

Собираем RPM-пакет для CentOS 6.4 x64

Всех категорически приветствую! 🙂

Хочу поделиться опытом сборки RPM-пакетов в CentOS 6.4 x64. Мне эта система нравится, всё просто, информации много. Да и на большинстве наших сервисов (небольшая хостинговая компания) установлена именно она.

На рабочем серваке не делайте сборки пакетов, зачем вам лишние пакеты? Я создал виртуалку, там и делаю.

Будем мы сегодня собирать PHP-5.5.4 которая вышла буквально день назад. Почему PHP? Потому что с его сборкой я намучился больше всего: то не было нормального spec-файла, то ошибки в нём были (когда сам что-то дополнял/исправлял). Короче, горя я хлебал с ним больше недели. И в муках было рождено решение как же всё таки правильно собирать пакет для PHP.

Ну, что ж, уважаемые, к делу!

1. Установили ОС. Примем во внимание, что все действия с установкой и обновлением выполняются от root, поэтому sudo мы не используем. Теперь давайте обновимся и перезагрузимся:

2. Подключаем дополнительные репозитории. Я несколько использую, это:

  • Axivo
  • CentALT

3. Теперь устанавливаем всё добро, без чего мы никогда не соберём PHP.
Из CentALT сперва:

Так, давайте проверим версию openssl:

Если не 1.0.1e, то делаем так:

Теперь устанавливаем необходимое для непосредственной сборки:

4. Теперь будем создавать необходимое окружение для сборки. Действия ниже нужно выполнять от обычного пользователя, не от root, это очень важный момент.

Эта команда создаст каталог со следующими подкаталогами:

Сюда BUILD будут распаковываться файлы из архива с исходниками. В RPMS будут Ваши rpm-пакеты. Здесь SOURCES располагайте все исходники с конфигами. SPECS — содержит spec-файл у которого есть инструкции для сборки. Это самая важная часть для сборки пакета. SRPM — содержит файл *.src.rpm — исходники rpm-пакета. Его мы можем распространять вместе с rpm-пакетами, это кому нужно что-то дополнить/удалить из будущего пакета. Содержит spec-файл, исходники для сборки.

Весь spec-файл сюда выкладывать не буду, ибо аж 1200 с лишним строк, поэтому предлагаю скачать архив скачать тут
Я думал что можно просто переделать spec-файл из исходников rpm-пакета php-5.4, но не тут-то было! Очень много подводных камней, которые решить самому сложно. Нашел в репозиториях Remi нужный src.rpm версии 5.5, и переделывал под новую версию. И всё получилось.

Читайте также:  Установка корневого сертификата удостоверяющего центра госуслуг

Итак, предположим, что все исходники вы скачали, распаковали в свой домашний каталог. Затем переходим в каталог SPEC и выполняем такую команду для сборки rpm-пакета вместе с src.rpm:

Пошла сборка. Будет идти долго, в зависимости от мощности компьютера. У меня ушло где-то 40 минут.

Если выйдет новая версия PHP (допустим 5.5.*), то скачиваем bz2-архив в папку с исходниками (напомню, это SOURCES), редактируем файл SPECS/php55.spec. Меняем «Version: 5.5.4» на нужную версию. И можно собирать новую.

источник

ИТ База знаний

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

Настройка программных телефонов

Корпоративные сети

Популярное и похожее

Установка VirtualBox 6.0 на Linux

Как восстановить пароль от root в CentOS 7

Установка и настройка Redis в CentOS 8

Топ — 20 полезных команд CentOS

RPM — установка и использование в Linux

Вам пакет нужен? Нет, я со своим.

RPM (Red Hat Package Manager) — это наиболее популярная утилита управления пакетами для Linux систем на базе Red Hat, таких как (RHEL, CentOS и Fedora). Она используется для установки, удаления, обновления, запроса и проверки пакетов программного обеспечения. Пакет состоит из архива файлов и информации о пакете, включая имя, версию и описание. Формат файлов также называется RPM.

Есть несколько способов откуда можно взять пакеты RPM: CD/DVD с программным обеспечением, CentOS Mirror, RedHat (нужен аккаунт) или любые открытые сайты репозитория.

В RPM используется несколько основных режимов команд: Install (используется для установки любого пакета RPM), Remove (используется для удаления, стирания или деинсталляции пакета), Upgrade (используется для обновления существующего пакета), Query (используется для запроса пакета) и Verify (используется для проверки пакетов RPM).

Рассмотрим это на примере. У нас есть пакет, и теперь посмотрим, что мы можем с ним делать.

Установка

Как узнать информацию о пакете RPM без установки?

После того, как мы скачали пакет мы хотим узнать информацию о пакете перед установкой. Мы можем использовать -qipoption (запрос информации о пакете), чтобы вывести информацию о пакете.

Мы можем использовать параметр -ivh для установки определенного пакета, как показано ниже.

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

Мы можем использовать параметр -q с именем пакета, и он покажет, установлен ли пакет или нет.

Как вывести список всех файлов для определенного установленного пакета RPM?

Мы можем перечислить все файлы установленных пакетов rpm, используя опцию -ql с командой rpm.

Как вывести список недавно установленных пакетов RPM?

Мы можем использовать параметр -qa с параметром —last, в котором будут перечислены все недавно установленные пакеты rpm.

Как установить RPM пакет без зависимостей?

Мы можем использовать параметры -ivh с параметром —nodeps для проверки отсутствия зависимостей, чтобы установить конкретный пакет без зависимостей, как показано ниже.

Как заменить установленный пакет RPM?

Мы можем использовать параметры -ivh –replacepkgs для замены установленного пакета.

Удаление

Мы можем использовать параметр -e для удаления определенного пакета, установленного без зависимостей. Обратите внимание, что удаление определенного пакета может нарушить работу других приложений.

Обновление

Как обновить установленный пакет RPM?

Для обновления пакета мы используем параметры -Uvh

Запрос

Как запросить все установленные пакеты?

Мы можем использовать параметры -a вместе с q для запроса всех установленных пакетов на сервере.

Как запросить конкретный пакет?

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

Как запросить файл, который принадлежит пакету RPM?

Чтобы узнать к какому пакету RPM относится файл /usr/lib64/libGeoIP.so.1.5.0. используем следующую команду.

Проверка

Как получить информацию для конкретного пакета?

Мы можем использовать параметры -i вместе с q, чтобы получить информацию для конкретного пакета, как показано ниже.

Мы можем проверить пакет, сравнив информацию об установленных файлах пакета с базой данных rpm, используя опцию -Vp.

Как проверить все пакеты RPM?

Мы можем проверить все установленные пакеты rpm, используя опцию -Va

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.

источник

Добавить комментарий