Сборка rpm пакетов и настройка своего репозитория

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Но у 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 с зависимостями. Но не всем нравится работать в консоли, многие новые пользователи хотят использовать графический интерфейс для решения всех задач, в том числе и этой. Дальше мы рассмотрим несколько таких утилит.

Команды и программы для WinGet

Хотя WinGet находится на очень ранней стадии разработки, этот новый менеджер пакетов выглядит многообещающе. Вот некоторые из команд, которые уже работают для этого инструмента:

Как мы видим, хотя это все еще в очень ранняя фаза развития У него уже есть основные функции, которые мы можем предоставить этой программе. Тем не менее, в этом менеджере пакетов еще есть много функций. Не идя дальше, нет функции Удалить программа, см. список со всеми установленными, ни для обновления. Хотя Microsoft уже подтвердила, что эти функции будут доступны очень скоро.

Что касается программного обеспечения, которое мы можем найти, Microsoft делает хорошую работу по включению программ, наиболее загружаемых пользователями. Например, мы можем найти программное обеспечение из саман, 7Zip, GIMP, ShareX, Spotify, qBittorrent и многие другие.

Мы можем ознакомиться с полным списком программ, включенных в репозитории WinGet из Следующая ссылка .

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

Установка приложений в Linux Mint осуществляется с помощью графического менеджера программ. Пользователи Линукс встречаются с проблемой, что обновление пакетов в официальных репозиториях происходит крайне редко.

На заметку! В случае, если вам важно получать последние обновления, советуем установить со сторонних источников, например, PPA. Аналогично, вы сможете в дальнейшем устанавливать любые программы из пакета самостоятельно

Аналогично, вы сможете в дальнейшем устанавливать любые программы из пакета самостоятельно.

Мы сегодня рассмотрели, что такое репозитории, их виды, способы добавления репозиториев для официальных и дополнительных типов. А также пошагово разобрали, как установить программу из пакета. Надеюсь статья была Вам максимально полезна. Удачи!

Что такое 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:

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

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

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

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

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

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

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

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

Послесловие

Я понимаю, что без практики воспринять всё это с налёта довольно сложно, но делать нечего — это самые начальные и базовые теоретические сведения, с которыми каждый пользователь должен быть знаком хотя бы как-то, дабы иметь представление, что к чему и почему, а не слепо тыкаться в кнопки и читать незнакомые термины.

В следующих статьях мы рассмотрим, что именно из себя представляет установка пакетов в Linux, как в этой операционке устроена файловая система, что подразумевается под пользователем (и кто такой суперпользователь, он же root), а так же поговорим о программах и кой о чем другом. Оставайтесь с нами.

P.S. За существование данной статьи спасибо члену команды Pantera

Названия пакетов [ править | править код ]

Каждый пакет RPM имеет название, которое состоит из нескольких частей:

  • Название программы;
  • Версия программы;
  • Номер выпущенной версии (количество раз пересборки программы одной и той же версии). Также часто используется для обозначения дистрибутива, под который собран этот пакет, например, mdv (Mandriva Linux) или fc4 (Fedora Core 4);
  • Архитектура, под которую собран пакет (i386, ppc и т. д.)

Собранный пакет обычно имеет такой формат названия:

Иногда в пакет входят исходные коды. Такие пакеты не содержат информации об архитектуре, она заменяется на src. Например:

Библиотеки чаще всего распространяются в двух отдельных пакетах. Первый содержит собранный код, второй (обычно к нему добавляют -devel) содержит заголовочные файлы и другие файлы, необходимые разработчикам. Необходимо следить за тем, чтобы версии этих двух пакетов совпадали, иначе библиотеки могут работать некорректно. Пакеты с расширением noarch.rpm не зависят от конкретной архитектуры компьютера. Обычно они содержат графику и тексты, используемые другими программами.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Несколько слов о нюансах

Напоследок все-таки хочется сказать, что какой бы Linux не была устойчивой, стабильной и неубиваемой, всё же пользователь должен придерживаться определенной осторожности. Например:

  1. Не надо искушать судьбу и ставить программы в Linux в обход менеджера пакетов, простой компиляцией.Работать они будут, но пакетный менеджер ничего о них не будет знать, из-за чего при обновлении системы или программ Вы рискуете получить больше проблем на свою голову, чем представляете. Устанавливайте программы только в виде пакетов.
  2. Не надо подключать те репозитории, о которых имеете совсем смутное представление. Например, не надо подключать репозитории со словами testing, debug и тому подобными терминами, ибо эти репозитории в первую очередь предназначены для самих разработчиков дистрибутивов и далеко не всегда стабильны.
  3. Не подключайте подряд все доступные репозитории, это тоже может сыграть с Вами злую шутку. Подключайте только самые необходимые, не надо жадничать :)

Например, при установке операционной системы Fedora по умолчанию сразу подключены два репозитория:

  • Fedora(пакеты, которые подходят на любую комбинацию из компакт-дисков или DVD-дисков)
  • Updates (обновленные пакеты, новее, чем репозиторий (хранилище) Fedora)

Для нормальной работы нужно подключить дополнительный репозиторий rpmfusion (без него Вам действительно не обойтись), что даст доступ к программам, которые не могли быть включены в дистрибутив из-за лицензионных ограничений (приложения, которые требуются для воспроизведения мультимедиафайлов, таких как mp3, dvd и т.д.; драйвера – к ним относятся проприетарные драйвера для ATI и NVIDIA; игры: Bub’s Brothers, Secret Maryo Chronicles, UFO: Alien Invasion, Wörms of Prey, xrick, GLtron и многие, многие другие; эмуляторы: эмулятор Commodore 64, а также Commodore 8 bit, эмулятор Amiga, Nestopia, ZSNES и много других)

Чтобы подключить этот репозиторий, достаточно в командной строке (терминале) от суперпользователя (root) ввести команды:
Обратите внимание, что репозиторий rpmfusion разделяется на две части: free и nonfree. Первый содержит чисто свободные программы в понимании FSF, распространяемые под GPL и совместимыми с ней лицензиями

Содержимое второго, вопреки названию, — также программы по преимуществу свободные, но попадающие под пресловутые патентные ограничения некоторых государств (например, аудио- и видеокодеки).

То же самое касается и менеджера пакетов в Fedora. Для нормальной и удобной работы менеджера пакетов (yum) в Fedora рекомендуется подключить дополнительный плагин fastestmirror. Этот плагин очень важен: он определяет не просто ближайшее зеркало, как это делают аналогичные утилиты из других систем управления пакетами, а устанавливает именно самое быстрое зеркало в данный момент – по времени отклика.
В двух словах как-то так :)

Что такое 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-пакеты в Ubuntu

RPM — формат пакетов различных приложений, заточенный под работу с дистрибутивами openSUSE, Fedora. По умолчанию в Ubuntu не предусмотрены средства, позволяющие произвести инсталляцию сохраненного в этом пакете приложения, поэтому придется выполнять дополнительные действия, чтобы вся процедура прошла успешно. Ниже мы разберем весь процесс пошагово, детально рассказывая обо всем поочередно.

Если же все попытки отыскать другие библиотеки или хранилища оказались тщетными, ничего не остается делать, как пытаться инсталлировать RPM с помощью дополнительных средств.

Шаг 1: Добавление репозитория Universe

Порой для установки определенных утилит требуется расширение системных хранилищ. Одним из лучших репозиториев считается Universe, который активно поддерживается сообществом и периодически обновляется. Поэтому начать стоит именно с добавления новых библиотек в Ubuntu:

  1. Откройте меню и запустите «Терминал». Сделать это можно другим способом — просто нажмите на рабочем столе ПКМ и выберите нужный пункт.

В открывшейся консоли следует ввести команду и нажать на клавишу Enter.

Вам потребуется указать пароль учетной записи, поскольку действие выполняется через рут-доступ. При вводе символы отображаться не будут, вам надо только ввести ключ и нажать на Enter.

Будут добавлены новые файлы или же появится уведомление о том, что компонент уже включен во все источники.

Если файлы были добавлены, обновите систему, прописав команду .

Дождитесь завершения обновления и переходите к следующему шагу.

Шаг 2: Установка утилиты Alien

Для осуществления поставленной сегодня задачи мы будем задействовать простую утилиту под названием Alien. Она позволяет конвертировать пакеты формата RPM в DEB для дальнейшей их установки в Ubuntu. Процесс добавления утилиты не вызывает особых сложностей и выполняется одной командой.

  1. В консоли напечатайте .

Подтвердите добавление, выбрав вариант Д.

Ожидайте завершения скачивания и добавления библиотек.

Шаг 3: Преобразование пакета RPM

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

  1. Откройте место хранения объекта через менеджер, щелкните на нем ПКМ и выберите пункт «Свойства».

Здесь вы узнаете информацию о родительской папке. Запомните путь, он понадобится вам в дальнейшем.

Перейдите к «Терминалу» и введите команду , где user — имя пользователя, а folder — название папки хранения файла. Таким образом, с помощью команды cd произойдет переход в директорию и все дальнейшие действия будут осуществляться в ней.

Находясь в нужной папке, введите , где vivaldi.rpm — точное название нужного пакета. Учтите, что .rpm в конце дописывать обязательно.

Снова введите пароль и дождитесь окончания конвертирования.

Шаг 4: Установка созданного DEB-пакета

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

Подробнее: Установка DEB-пакетов в Ubuntu

Как видите, пакетные файлы RPM все-таки инсталлируются в Ubuntu, однако следует отметить, что некоторые из них несовместимы с этой операционной системой вовсе, поэтому ошибка появится еще на стадии конвертирования. При возникновении такой ситуации рекомендуется отыскать RPM-пакет другой архитектуры или попытаться все-таки найти поддерживаемую версию, созданную специально для Ubuntu.

Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.

Управление репозиториями

Итак, от теории — к делу. Для управления репозиториями и обновлениями служит утилита Программы и обновления, найти которую можно, конечно же, в Параметрах системы. Окно программы состоит из нескольких вкладок.

На первой, можно управлять официальными репозиториями Ubuntu. Дело в том, что в официальных репозиториях, кроме программного обеспечения, разрабатываемого самой Canonical, входит еще и ПО, разрабатываемое сообществом, а также, дополнительные проприетарные драйвера и ПО, ограниченное патентами. Например, если вы не используете никаких проприетарных драйверов для оборудования (об этом чуточку позже), то и держать включенным репозиторий с драйверами не имеет никакого смысла. Тут же можно выбрать, скачивать ли исходный код ПО , выбрать сервер, с которого скачивать обновления (например, при временной недоступности российского сервера, можно поменять на основной и спокойно обновиться.).

Естественно, для внесения каких-либо изменений, вам понадобятся права суперпользователя, о чем система незамедлительно сообщит вам.

Вкладка «Другое ПО», позволяет управлять репозиториями партнеров Canonical и независимых разработчиков. Тут же можно подключить любой сторонний репозиторий, а также, подключиться к репозиторию на СД-диске:

Как видите, по умолчанию партнерский репозиторий отключен. Можете включить его, там можно найти много полезного ПО. Также, можете снять «галочку» напротив строчки с исходным кодом.

Давайте, в качестве примера, добавим один полезный репозиторий. Но, сначала, немного теории:

Переносим образа ОС на флэш-диск

  1. Выведите список накопителей компьютера:
  2. Подключите USB-диск к компьютеру.
  3. Снова выполните команду из шага №1 и сравните её результаты с теми, что были получены до подключения диска. Нужно это для того, чтобы определить, как в системе отображается новый флэш-диск:

    Вот, как выглядит выполнение вышеописанной последовательности действий.Вывод списка устройств хранения данных, подключённых к компьютеру
    На следующем шаге вам понадобится знать имя USB-диска в системе. В нашем случае это — /dev/sdb.

  4. Перейдите в папку $HOME/Project:
  5. Разверните образ ОС шлюза на USB-диске. Скомпилированный файл операционной системы имеет имя, соответствующее типу процессора шлюза. Используйте команду, подходящую для того шлюза, на который планируется установить ОС, при этом замените ??? на имя флэш-диска, выясненное выше. Запись образа занимает около 15 минут.
    Команда для шлюзов с процессором Intel Atom:

    Команда для шлюзов с процессором Intel Core:

    Команда для шлюзов с процессором Intel Quark:

  6. Если будет нужно, введите пароль и нажмите ОК. Когда вы увидите сообщение DONE!, это будет означать, что загрузочный USB-диск создан.
  7. Отключите диск от компьютера и подключите его снова. Он, после монтирования, будет выглядеть как два раздела, один из которых доступен по адресу
  8. Скопируйте файл образа операционной системы шлюза на флэш-диск с помощью подходящей команды. При этом, замените username на имя пользователя, под которым работаете в Linux.
    Команда для шлюзов с процессором Intel Atom:

    Команда для шлюзов с процессором Intel Core:

    Команда для шлюзов с процессором Intel Quark:

  9. Отключите флэш-диск от компьютера

Что такое шпиндель?

Жесткий диск состоит из нескольких герметизированных круглых пластин, которые находятся друг на друге и покрыты слоем ферромагнитного материала. Также в корпусе находится и считывающая головка. Эти пластины при работе вращаются с помощью шпинделя – специального вращающего вала. Этот вал приводится в движение электродвигателем. При вращении пластин считывающие головки не касаются поверхности дисков, однако находятся на максимально близком к ним расстоянии. В результате с помощью головок можно записывать и считывать информацию с твердых носителей – дисков.

В течение тысяч часов шпиндель стабильно вращает пластины с огромной скоростью, поэтому данный элемент должен быть надежным. Благодаря отсутствию прямого физического контакта между шпинделем и диском на последний можно записывать и стирать информацию. Считается, что в среднем на один диск можно записать и стереть информацию 100 тысяч раз.

Вот так выглядят шпиндели жестких дисков. Конечно, они могут отличаться в зависимости от модели устройства и производителя.

Итак, мы выяснили, что это – RPM. Параметр определяет, при какой скорости могут вращаться пластины при нормальном режиме работы. В свою очередь это позволяет понять, как быстро компьютерная система сможет получить информацию от жесткого диска при обращении к нему. Чем выше скорость, тем быстрее будет происходить обмен данными между системой и диском.

Добавление модуля

Как говорилось выше, мы добавим модуль SPNEGO в нашу сборку. Для примера, мы будем использовать динамическое подключение данного модуля.

В моем примере необходимо клонировать проект из GIT-репозитория. Для этого необходимо установить одноименную утилиту:

yum install git

Теперь заходим под ранее созданным пользователем builder:

su — builder

Переходим в каталог для сборки. В нашем случае, это домашняя директория:

$ cd ~

Клонируем исходник модуля в директорию /tmp:

$ git clone https://github.com/stnoonan/spnego-http-auth-nginx-module.git /tmp/spnego-http-auth-nginx-module

Ранее мы уже скачивали исходники nginx, поэтому сразу открываем файл nginx.spec:

$ vi rpmbuild/SPECS/nginx.spec

Находим:

%define BASE_CONFIGURE_ARGS …

После последнего —with-… добавим:

—add-dynamic-module=/tmp/spnego-http-auth-nginx-module

Находим

%description

После него добавляем:

%package module-spnego
Group: %{_group}
Requires: nginx = %{?epoch:%{epoch}:}%{main_version}-%{main_release}
Summary: nginx spnego module
%description module-spnego
Dynamic Spnego module for nginx.

После:

%build

… добавляем:

echo ‘load_module «%{_libdir}/nginx/modules/ngx_http_auth_spnego_module.so»;’ \
    > %{buildroot}%{_sysconfdir}/nginx/modules/spnego-http-auth-nginx-module.conf

Находим разделы %files и после них добавим:

%files module-spnego
%{_libdir}/nginx/modules/spnego-http-auth-nginx-module.conf
%{_libdir}/nginx/modules/ngx_http_auth_spnego_module.so

Запускаем сборку:

$ rpmbuild -bb rpmbuild/SPECS/nginx.spec

Для установки нам понадобится 2 RPM-пакета:

  1. nginx-1.19.3-1.el7.ngx.x86_64.rpm
  2. nginx-module-spnego-1.19.3-1.el7.ngx.x86_64.rpm

Оба эти пакета будут находиться в каталоге RPMS.

После установки пакета выполняем команду:

nginx -V

Среди полученных опций сборки мы должны увидеть нашу:

… —add-dynamic-module=/tmp/spnego-http-auth-nginx-module …

Также мы должны будем отредактировать конфигурационный файл NGINX, чтобы наши модули подгружались:

vi /etc/nginx/nginx.conf

В корневой секции добавим:

user  nginx;
worker_processes  1;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;include /etc/nginx/modules/*.conf;
events {

* новая строчка отмечена красным.

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

База данных RPM [ править | править код ]

База данных RPM ведётся в каталоге /var/lib/rpm. Она состоит из одиночной базы данных (Packages), в которой хранится вся информация о пакетах, и множества маленьких баз (__db.001, __db.002 и т. д.), которые служат для индексации и содержат в себе сведения о том, какие файлы менялись и создавались при установке и удалении пакетов.

Если база данных несколько испортится (что может произойти, если процесс установки или удаления был «убит» или закончилось место на разделе), то её можно восстановить, введя команду rpm –rebuilddb.

Если база была уничтожена — рекомендуется достать копию из заранее сделанной резервной копии или восстановить при помощи rpm -ivh –justdb по списку пакетов, заранее полученному командой rpm -qa | sort. Возможны полуэвристические методы восстановления базы по списку файлов в пакетах репозитория, из которого была установлена система, но лучше до этого не доводить.

Установка пакетов RPM с помощью rpm

— это инструмент низкого уровня, который используется для установки, удаления, обновления, запроса и проверки пакетов RPM.

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

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

Если пакет зависит от других пакетов, которые не установлены в системе, отобразит список всех недостающих зависимостей. Вам придется скачать и установить все зависимости вручную.

Вместо загрузки и установки пакета RPM вы можете использовать URL-адрес пакета RPM в качестве аргумента:

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

Если пакет, который вы пытаетесь обновить, не установлен, команда установит его.

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

Чтобы удалить (стереть) пакет, используйте команду , за которой следует имя пакета:

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: