Rpm

Сертификат от Let’s Encrypt

Пока у нас свой сертификат и это не красиво, так что получим сертификат от Let’s Encrypt:

При ответе на вопросы, выбираем использование rewrite для перенаправления всех на https. В результате в файле изменяться строки у VirtualHost для http:

и у VirtualHost для https:

Строку закомментируем.

Тут стоит напомнить о необходимости добавить файл с параметрами Диффи-Хеллмана в конец сертификата:

И изменить заголовок HKPK (HTTP Public Key Pinning):

И изменим соответственно строку в конфигурации:

Проверим конфигурацию и перечитаем конфигурацию:

Есть еще одна проблема. Для обновления сертификата добавим запись в крон:

Но этого не достаточно, нужно еще дописать автоматическое добавление файла с параметрами Диффи-Хеллмана и параметры HKPK (HTTP Public Key Pinning).

RPM (Red Hat Package Manager)

Как мы уже говорили, RPM — это менеджер пакетов, используемый в операционных системах, основанных на Red Hat, это вся ветка дистрибутивов: Fedora, OpenSUSE, Red Hat, CentOS и т д. Изначально этот пакетный менеджер был разработан в компании Red Hat еще в 1997 году и только для их дистрибутива, но затем он распространился и в другие операционные системы. Вместо обычного сжатия здесь используется сжатие gzip по алгоритму cpio и особый формат файла архива, его мы рассмотрим ниже. Здесь в сравнении rpm или deb, первый кажется лучше, но не все так просто, если в системе нет нужных утилит, то вы не сможете распаковать такой пакет. Кроме cpio могут использоваться и другие алгоритмы сжатия, например, lzma или xz. В последнее время все программное обеспечение подписывается ключами для удостоверения подлинности, вот и RPM поддерживает подпись с помощью GPG и MD5. Технология PatchRPMs или DeltaRPMs позволяет грамотно обновлять RPM пакеты без больших затрат трафика.

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

Для работы с RPM могут использоваться несколько различных пакетных менеджеров, это универсальная утилита rpm, пакетный менеджер zypper в OpenSUSE, dnf в Fedora, urpmi  в Mageia, yum — во многих дистрибутивах, основанных на Fedora.

Рассмотрим основные особенности RPM:

  • Автоматическое разрешение зависимостей в большинстве случаев корректно
  • Файл архива имеет специальный формат
  • Не поддерживается реализация зависимостей с выбором завистимости от пакет1 или пакет2.
  • Не поддерживаются рекомендованные пакеты
  • Позволяет настроить зависимость от файла, а не пакета
  • Все данные об установленных пакетах хранятся в базе данных поэтому при надобности можно проверить контрольные суммы
  • Поддерживаются сценарии как до, так и после установки программ
  • Поддерживается формат SRPM, который содержит в себе исходники программы все патчи с инструкции по сборке, позволяющие собрать программу из исходников на локальной машине.
  • Отличная поддержка Multilib пакетов

15.2.2. Установка

Обычно файлы, содержащие пакеты RPM, имеют имена вроде foo-1.0-1.i386.rpm. Имя файла включает название пакета (foo), версию (1.0), выпуск (1) и архитектуру (i386). Чтобы установить пакет, войдите в систему под именем root и введите в приглашении оболочки следующую команду:

rpm -Uvh foo-1.0-1.i386.rpm

Если установка пройдёт успешно, на экране появится следующее:

Preparing...                ########################################### 
   1:foo                    ########################################### 

Как вы видите, RPM выводит имя пакета, а затем, по мере установки пакета, последовательность символов «решётка», отражающую процесс установки.

При установке или обновлении пакета автоматически проверяется подпись пакета. Эта подпись подтверждает то, что пакет был подписан разработчиком и не был изменён. Например, если при проверке подписи происходит ошибка, вы получите примерно следующее сообщение:

error: V3 DSA signature: BAD, key ID 0352860f

Если это новая подпись только для заголовка появляется такое сообщение:

error: Header V3 DSA signature: BAD, key ID 0352860f

Если у вас не установлен ключ, подходящий для проверки подписи, сообщение об ошибке содержит слово NOKEY, например:

warning: V3 DSA signature: NOKEY, key ID 0352860f

За дополнительными сведениями о проверке подписи пакета обратитесь к разделу 15.3 Проверка подписи пакета.

Предупреждение
 

Если вы устанавливаете пакет ядра, вместо этой команды следует использовать rpm -ivh. За подробностями обратитесь к главе 37 Обновление ядра вручную.

Установка пакетов должна выполняться просто, но иногда вы можете встретить ошибки:

15.2.2.1. Пакет уже установлен

Если пакет той же версии уже установлен, вы увидите:

Preparing...                ########################################### 
package foo-1.0-1 is already installed

Если версия пакета, который вы пытаетесь установить, совпадает с версией уже установленного, но вы, тем не менее, хотите установить пакет, вы можете указать параметр --replacepkgs и RPM проигнорирует эту ошибку:

rpm -ivh --replacepkgs foo-1.0-1.i386.rpm

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

15.2.2.2. Конфликтующие файлы

Если вы пытаетесь установить пакет, который содержит файл, установленный другим пакетом или более ранней версий того же пакета, на экране появляется сообщение:

Preparing...                ########################################### 
file /usr/bin/foo from install of foo-1.0-1 conflicts with file from package bar-2.0.20

Чтобы RPM игнорировал эту ошибку, укажите параметр --replacefiles:

rpm -ivh --replacefiles foo-1.0-1.i386.rpm

Преимущества и недостатки RPM

Преимущества RPM над другими средствами управления и установкой программного обеспечения

  • Лёгкость удаления и обновления программ;
  • Популярность: очень многие программы собираются именно в RPM, поэтому нет необходимости собирать программу из исходных кодов;
  • «Неинтерактивная установка»: легко автоматизировать процесс установки/обновления/удаления;
  • Проверка целостности пакетов с помощью контрольных сумм и GPG-подписей;
  • DeltaRPM, аналог патча, позволяющий обновить установленное программное обеспечение с минимальной затратой трафика;
  • Возможность аккумуляции опыта сборщиков в spec-файле;
  • Относительная компактность spec-файлов за счёт использования макросов.

Основные недостатки

  • Макропакеты между дистрибутивами могут существенно различаться;
  • Раздробленность и несовместимость различных версий. Так, существуют проекты по разработке RPM 4 (rpm.org), RPM5 (rpm5.org), а также большое количество патчей на RPM в дистрибутивах. В частности, это приводит к:
    • несовместимости spec-файлов между дистрибутивами (spec-файл ALT Linux чаще всего невозможно собрать на Red Hat или SuSE без значительных исправлений);
    • несовместимости названий пакетных зависимостей при попытке установить пакет от другого дистрибутива (например, зависимости в RPM сборки Connectiva создаются по другим правилам, нежели в Mandriva).

Для чего нужен файловый формат .RPM?

Расширение .rpm наиболее часто встречается в мире GNU/Linux, и его главная ассоциация принадлежит типу и формату файлов «Пакет ПО RPM» (RPM). RPM — это рекурсивная аббревиатура «RPM Package Manager» (Менеджер пакетов RPM), которая также расшифровывается как «Red Hat Package Manager» (Менеджер пакетов Red Hat). В ОС GNU/Linux корректным способом установки ПО является использование централизованного менеджера пакетов. RPM является одним из самых широко распространенных стандартных способов управления ПО, который принят в ряде дистрибутивов GNU/Linux (Fedora, SuSe, ALT Linux и др.).

Файл .rpm представляет собой пакет ПО, предназначенный для дистрибутивов GNU/Linux, которые используют систему RPM; в пакете содержатся фактические файлы ПО и инструкции по установке (инсталляционные скрипты). Пакет — это сжатый двоичный архив, применительно к которому могут использоваться различные архивные форматы (cpio, star) и методы сжатия (gzip, LZMA, bzip2). Для проверки целостности RPM-пакетов используют цифровые подписи GPG и контрольные суммы.

RPM-пакеты обрабатываются менеджером пакетов RPM (rpm), а также многими его ответвлениями и пользовательскими интерфейсами (front-end). Пакеты .rpm можно с некоторыми ограничениями конвертировать в другие форматы пакетов (.deb). Вне среды GNU/Linux файлы .rpm можно открыть с извлечением их содержимого при помощи нескольких архиваторов.

В совершенно ином значении расширение .rpm имеет также ассоциацию с форматом/типом файлов «Файл RealAudio» (RPM). RealAudio — разработанный RealNetworks проприетарный аудиоформат, в прошлом бывший довольно популярным для организации потоковой трансляции аудио. В настоящее время его популярность сильно упала по причине появления более совершенных потоковых форматов.

Файл .rpm RealAudio представляет собой текстовый файл-указатель, используемый главным образом для внедрения содержимого в формате RealAudio (а также в более широком смысле – и RealMedia) в веб-страницы на основе HTML. Файл .rpm содержит полный URL-адрес фактического медиафайла, который может воспроизводиться непосредственно на веб-странице при помощи плагина RealAudio (RealMedia).

6.1 Файл rpmrc

Настройка RPM доступна через файл . Пример
выглядит подобно:

Строка заставляет RPM найти строку
производителя. Она может быть из файла или из
заголовка самого spec-файла. Что выключить эту опцию, смените число
на . Тоже самое является правдой для строк
и .

Следующая строка это строка . Вы можете
определить ее здесь или позже в заголовке spec-файла. При
построении пакета для особого дистрибутива это хорошая идея
убедиться что строка правильна, даже хотя она требуется.
Строка обозначает тоже самое, но может быть чем
угодно (например, Joe’s Software and Rock Music Emporium).

RPM также сейчас поддержку для построения пакетов для множественных
архитектур. Файл может содержать переменную «optflags»
для построения вещей, которые требуют специфических для данной
архитектуры флагов для построения. Смотрите следующие разделы для
описания как использовать эту переменную.

В добавление к вышеприведенным макросам, существует еще несколько.
Вы можете использовать:

Проверка

Команда rpm -y пакет позволяет сравнить
текущее состояние файлов пакета с информацией, записанной в базе
данных. Это требуется, например, при проверке, не испорчены ли
какие-нибудь важные для системы файлы (такое случается после внезапного
отключения питания).

При нахождении различий печатается ключевая строка, с обозначением
отличий и имя файла, в котором они найдены.

Сравниваются следующие параметры:

5
Контрольная сумма (подсчитанная по алгоритму MD5)
S
Размер файла
L
Куда указывает символьный линк (если проверяемый файл является симлинком)
T
Время модификации
D
Устройство (раздел), на котором расположен файл
U
Владелец
G
Группа-владелец
M

Права доступа

Проверку лучше выполнять как «root«, так как некоторые файлы
(например, /usr/X11R6/bin/xterm) могут быть недоступны на
чтение другим пользователям и для них всегда будет выдаваться
несовпадение по контрольной сумме.

Пример:

bobby:~# rpm -y setup
S.5....T c /etc/exports
S.5....T c /etc/printcap
S.5....T c /etc/securetty
S.5....T c /etc/services
bobby:~# _

Как видно из этого примера, в некоторых файлах обязательно будут
отличия, поскольку тот же /etc/passwd изменяется при создании
и изменении пользователей.

Аналогично команде rpm -q, rpm -y можно
вместо имени пакета указывать «-f файл» или «-a«.

Команда rpm -ya полезна для проверки всей системы, но ее
исполнение занимает много времени.

Названия пакетов

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

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

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

Например:

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

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

Установка, обновление и удаление пакетов RPM

Обычно, чтобы установить новый пакет на основе дистрибутивов Red Hat, вы будете использовать либо команды yum или dnf, которые могут решить и установить все зависимости пакетов.

Вы всегда должны предпочитать использовать yum или dnf больше rpm при установке, обновлении и удалении пакетов.

Перед установкой пакета RPM вы должны сначала загрузить пакет в своей системе, используя браузер или инструменты командной строки, такие как curl или wget.

При установке RPM-пакетов убедитесь, что они созданы для вашей системной архитектуры и вашей версии CentOS. Будьте особенно осторожны при замене или обновлении важных системных пакетов, таких как glibc, systemd или других служб и библиотек, которые необходимы для правильного функционирования вашей системы.

Только root или пользователи с привилегиями sudo могут устанавливать или удалять RPM-пакеты.

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

sudo rpm -ivh package.rpm

Опция -v указывает rpm показать подробный вывод и -h показать индикатор выполнения.

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

sudo rpm -ivh https://example.com/package.rpm

Чтобы обновить пакет RPM, используйте опцию -U. Если пакет не установлен, он будет установлен:

sudo rpm -Uvh package.rpm

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

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

sudo rpm -Uvh --nodeps package.rpm

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

sudo rpm -e package.rpm

Опция –nodeps также полезна, когда вы хотите удалить пакет, не удаляя его зависимости:

sudo rpm -evh --nodeps package.rpm

Опция –test указывает rpm запустить установку или удаление команды фактически не делая ничего. Это только показывает, будет ли команда работать или нет:

sudo rpm -Uvh --test package.rpm

Влияние RPM HDD на производительность

Винчестеры (так часто называют жесткие диски) могут быть формата LFF и SFF. Если говорить проще, то один тип дисков имеет формат 2.5 дюйма, другой – 3.5 дюйма. Первый часто используется в ноутбуках и серверах, второй – в обычных системных блоках. Именно этот тип жесткого диска чаще всего отличается высокой скоростью вращения шпинделя – 7200 оборотов в минуту. В таких моделях время совершения полуоборота составляет 4.2 мс, а среднее время поиска равно 8.5 мс. Следовательно, время доступа к данным будет составлять 12.7 мс.

Отметим, что в большинстве стационарных компьютерах используются винчестеры SATA. 7200 RPM – это стандартная скорость для таких моделей. Бывают также диски с 5400 RPM, но их не рекомендуется использовать на современных системах, хотя стоят они дешевле. Есть также диски параметром 10000 RPM – в таких моделях задержки на поиск и вращение составляют около 3 мс. Подобные устройства чаще всего применяются на игровых компьютерах, однако даже их можно назвать устаревшими. В современных настольных ПК и ноутбуках все чаще применяют диски SSD, принцип работы которых совершенно другой. Об этом расскажем немного позже.

Как узнать скорость вращения шпинделя?

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

  1. RPM HDD: 5400.
  2. RPM: 7200.
  3. RPM: 10000.

Если жесткий диск скрыт под корпусом ноутбука, который достаточно сложно вскрыть, то можно воспользоваться специальной программой тестирования «железа».

Rpm

Популярными являются следующие:

  1. Crystalmark.
  2. Aida64.
  3. Speccy.

Они доступны для скачивания из интернета совершенно бесплатно. Запустив одну из указанных программ, можно быстро найти информацию об устройстве хранения данных. Там будут детально отображены параметры жесткого диска. Нас в первую очередь интересует строка «Rotation Rate» и значение напротив нее. В русской версии программы Aida64 необходимо в левой части нажать на «Хранение данных» – «Хранение данных Windows», затем в верхней части нужно выделить жесткий диск, после чего снизу появится информация о нем, в том числе и строка «Скорость вращения».

Межсетевой экран

Важно ограничить доступ к нашему серверу. По этой причине настроим межсетевой экран:. Тут мы добавили наши службы http https ftp для доступности извне и ssh, но только для сети 192.168.0.0/28

Тут мы добавили наши службы http https ftp для доступности извне и ssh, но только для сети 192.168.0.0/28.

Подготовка площадки сборки

Подготовим саму площадку для сборки. Стоит отметить, что вернее всего сборку производить на отдельном виртуальном хосте, активно используя технологию snapshot’ов, но тут я опишу все в едином целом. Так же для сборки нужно выделить отдельного пользователя, не являющемся администратором (т.е. ему недоступно).

News

RPM 4.16.0 BETA3 released! (Jun 24 2020)

  • See draft release notes for full details and download information
  • Fixes (reverts) dependency generator regression in beta2

RPM 4.16.0 BETA2 released! (Jun 23 2020)

  • See draft release notes for full details and download information
  • Highlights since beta1 release include:
    • Several important fixes across the board
    • Parallelise test-suite execution

POPT 1.18 released, upstream rebooted! (Jun 23 2020)

  • See release notes for full details and download information
  • Highlighs since popt 1.16 include
    • Ancient security issue with popt failing to drop privileges on alias exec from a SUID/SGID program
    • Collected accumulated fixes from distros etc
    • Source and build-system cleanup and modernization

POPT 1.18 RC1 released, upstream rebooted! (May 29 2020)

  • See the announcement for the background story, details and download info
  • Highlighs since popt 1.16 include
    • Ancient security issue with popt failing to drop privileges on alias exec from a SUID/SGID program
    • Collected accumulated fixes from distros etc
    • Source and build-system cleanup and modernization

RPM 4.16.0 BETA1 released! (May 29 2020)

  • See draft release notes for full details and download information
  • Highlights since the alpha release include:
    • A new version parsing and comparison API in C and Python
    • Native version comparison support in expressions
    • Assorted bugfixes and minor enhancements

RPM 4.14.3 released! (Apr 28 2020)

  • See release notes for full details and download information
  • Highlights include
    • Backported support for caret version
    • Numerous bugfixes across the board
    • Clarify RPM license

RPM 4.14.3 RC1 released! (Mar 26 2020)

  • See draft release notes for full details and download information
  • Highlights include
    • Backported support for caret version
    • Numerous bugfixes across the board
    • Clarify RPM license

RPM 4.16.0 ALPHA released! (Mar 23 2020)

  • See draft release notes for full details and download information
  • Highlights include:
    • New experimental sqlite and read-only BDB backends, NDB promoted to stable
    • Powerful macro and %if expressions including ternary operator
    • Automatic SSD detection and optimization on Linux
    • Optional MIME type based file classification
    • Dependency generation by parametric macros
    • Clarify RPM license

RPM 4.15.1 released! (Nov 18 2019)

  • See release notes for full details and download information
  • Highlights include:
    • Fixes to several important bugs and regressions
    • New gcrypt crypto backend

Пакет для репозитория

Собираем пакет для автоматической установки репозитория в систему.

Файл репозитория для yum:

Экспортируем ключ для пакета:

Собираем все в архив:

Создаем SPECS файл для пакета:

Собираем пакет:

На этом этапе нас спросят пароль от нашего PGP ключа.

Копируем созданный пакет в репозиторий и обновляем его:

Не забываем подписать метаданные:

Теперь установим наш репозиторий в систему:

В дальнейшем данный пакет будет доступен по адресу: https://repo.chelaxe.ru/chelaxe-release-1.0-1.el7.centos.noarch.rpm

После установки должен появиться репозиторий chelaxe и PGP ключ:

Самое важное тут это SPEC файлы, расписывать о них не стану, но предоставлю ряд ссылок:

  1. https://www.altlinux.org/Spec
  2. https://docs.fedoraproject.org/quick-docs/en-US/creating-rpm-packages.html
  3. https://www.opennet.ru/docs/HOWTO-RU/RPM-HOWTO-48.html

и одна полезная команда:

она отобразит готовые макросы для сборки.

Собираем Tmux

Теперь соберем, для примера, что нибудь полезное. Собирать будем tmux — терминальный мультиплексор, без которого работать мне не комфортно. Стоит отметить tmux есть в base репозитории CentOS 7, но версия там 1.8, а мы соберем 2.7. Так же у пакета из base репозитория есть зависимость libevent, мы же соберем tmux со статическими библиотеками последних версий.

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

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

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

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

Rpm

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

Зачем нужен rpm

Как уже упоминалось в разделе «Добавление и
удаление пакетов», rpm (Redhat Package Manager) служит
для работы с пакетами — установка, удаление, проверка и т.д.

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

Такой подход к установке ПО имеет несколько достоинств, в частности:

  • Унифицированная работа с разными пакетами (в частности, не надо
    помнить, куда какая-либо программа положила при инсталляции свои
    файлы — постоянная головная боль в Dos/Windows).

  • Отслеживание зависимостей между пакетами выполняется автоматически
    (не надо помнить, что программа такая-то требует некоей библиотеки с
    версией не ниже какой-то — сравните с вечными проблемами, к примеру, с
    DirectX в Windows).

  • Непротиворечивость между разными пакетами — в частности, корректно
    «разводится» ситуация, когда несколько пакетов содержат один и тот же
    файл (например, в /etc/).

6.9 Построение пакета

Дерево директорий исходных текстов

Первая вещь которая вам необходима — это правильно настроенное
дерево построения. Это настраивается используя файл
. Большинство людей просто используют директорию
.

Вам надо создать следующие директории чтобы создать дерево
построения:

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

Тестовое построение пакета

Первая вещь которую вы вероятно захотите сделать — это
построить исходные тексты без использования RPM. Чтобы сделать это
распакуйте исходные тексты и измените имя директории на
$NAME.orig. Затем еще раз распакуйте исходные тексты.
Используйте эти исходные тексты для построения. Перейдите в
директорию исходных текстов и следуйте инструкциям по их
построению. Если вы что-то редактировали вам необходимо сделать
заплатку. После того как вы построили исходные тексты, очистите
директорию исходных текстов. Убедитесь что вы удалили все файлы
созданные скриптом . Затем перейдите из директории
исходных текстов в директорию являющуюся для них родительской.
Затем сделайте что-то подобное:

Это создаст для вас заплатку, которую вы сможете использовать в
вашем spec-файле. Заметим что «linux», который вы видите в имени
заплатки это просто идентификатор. Вы можете захотеть использовать
что-нибудь более описательное как «config» или «bugs» для
описания почему вы сделали эту заплатку. Также хорошая идея
посмотреть в файл заплатки, который вы создали, до его
использования чтобы убедиться что бинарные файлы случайно не включены.

Создание списка файлов

Сейчас у вас есть исходные тексты, которые будут строиться и вы
знаете как построить и установить их. Посмотрите в вывод
установочной последовательности и постройте на его основе список
ваших файлов для использования в spec-файле. Мы обычно создаем
spec-файл параллельно со всеми описанными шагами. Вы можете сначала
создать его и заполнить самые легкие его части, а затем затем
заполнять его по мере прохождения всех этапов.

Построение пакета с помощью RPM

Когда вы имеете spec-файл, вы готовы попытаться и построить ваш
пакет. Наиболее полезный способ сделать это — использовать команду
похожую на следующую:

Также существуют другие опции полезные с переключателем :

  • обозначает просто запуск раздела spec-файла.
  • это проверка списка, который делает некоторые проверки
    раздела .
  • выполняет раздел prep и компиляцию. Это полезно в
    случае, когда вы не уверены будут ли ваши исходные тексты
    построены. Это выглядит бесполезно, потому-что вы можете захотеть
    просто самому поиграть с исходными текстами до их построения и
    затем начать использовать RPM, но когда вы привыкнете использовать
    RPM вы найдете случаи когда этот ключ используется.
  • выполняет prep, компиляцию и установку.
  • выполняет prep, компиляцию, установку, и построения
    двоичного пакета.
  • строит все (и двоичный пакет и пакет с исходными текстами).

Существует несколько модификаторов к переключателю . Это:

  • будет пропускать действия до указанной
    стадии (может использоваться с ключами c и i).
  • удаляет дерево построения когда все сделано.
  • будет сохранять все временные файлы и
    скрипты которые созданы в /tmp. Вы можете в действительности
    посмотреть какие файлы созданы в директории /tmp используя опцию
    .
  • не выполняет никакую реальную стадию, но делает keep-temp.

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

Все определения RPM

Акроним Определение
RPM Mediolanensis «Республика»
RPM Ranish Partition Manager
RPM Rassemblement Pour Мали
RPM Raw Power в движении
RPM Быстрое создание прототипов машины
RPM Выстрелов в минуту
RPM Диспетчер пакетов RPM
RPM Доход в тысячу
RPM Доход пассажирских миль
RPM Жилой собственности менеджер
RPM Зарегистрированные менеджер проекта
RPM Знак монетного двора повторно кулаками
RPM Исправлению менеджер проекта
RPM Исследований en Pedagogie Musicale
RPM Исследования и управления программой
RPM Кролики в минуту
RPM Личные RedMAX модем
RPM Маркер светоотражающих покрытий
RPM Менеджер оплаты дебиторской задолженности
RPM Менеджер пакетов Red Hat
RPM Менеджер портфолио Глобального рационального
RPM Метод цены перепродажи
RPM Методология быстрой производительности
RPM Модель реактивного шлейфа
RPM Модуль процессора маршрут
RPM Модуль резервный порт
RPM Монитор производительности ретранслятор
RPM Надежность планирования и управления
RPM Надежный пакет управления
RPM Оборотов в минуту
RPM Обратный путь монитор
RPM Обслуживание недвижимости
RPM Остаточный потенциал карт
RPM Перепрограммируемые микропроцессор
RPM Перепродажных цен
RPM Повторений в минуту
RPM Поднял тротуар маркер
RPM Поднял тротуар маркировки
RPM Портал радиационный монитор
RPM Программа удаленного управления
RPM Программы управления ресурсами
RPM Работает в минуту
RPM Радиальная сила монитор
RPM Радио пакет модем
RPM Разумные и предусмотрительные шаги мера
RPM Региональный менеджер проекта
RPM Регистр des Personnes Моралес
RPM Регулирования менеджер проекта
RPM Рекурсивным процессом управления
RPM Реляционно размещены макрос
RPM Ремонт частей мастер
RPM Ресурсов и управление производительностью
RPM Ретро силовой модуль
RPM Реформирования системы управления проектами
RPM Розничная цена обслуживания
RPM Рок/Панк/метал
RPM Ролик Прованс Mediterranee
RPM Руководство завода реактор
RPM Руководство по процедурам регулирования
RPM Румен защищенный метионин
RPM Рынок переработанной продукции
RPM Сетки эластичные пакетов
RPM Сокращение населения модель
RPM Сосредоточение des производителей мультимедиа
RPM Справочные точки сообщение
RPM Тариф за минуту
RPM Удаленный менеджер печати
RPM Удаленный мониторинг пациентов
RPM Удаленный порт модуля
RPM Управление Ruimtelijk проектами
RPM Управление жилой недвижимостью
RPM Управление недвижимым имуществом
RPM Управление персоналом резерва
RPM Управление портфелем ресурсов
RPM Управление пулом ресурсов
RPM Частная сеть Рейнольдс

Что означает RPM в тексте

В общем, RPM является аббревиатурой или аббревиатурой, которая определяется простым языком. Эта страница иллюстрирует, как RPM используется в обмена сообщениями и чат-форумах, в дополнение к социальным сетям, таким как VK, Instagram, Whatsapp и Snapchat. Из приведенной выше таблицы, вы можете просмотреть все значения RPM: некоторые из них образовательные термины, другие медицинские термины, и даже компьютерные термины. Если вы знаете другое определение RPM, пожалуйста, свяжитесь с нами. Мы включим его во время следующего обновления нашей базы данных. Пожалуйста, имейте в информации, что некоторые из наших сокращений и их определения создаются нашими посетителями. Поэтому ваше предложение о новых аббревиатур приветствуется! В качестве возврата мы перевели аббревиатуру RPM на испанский, французский, китайский, португальский, русский и т.д. Далее можно прокрутить вниз и щелкнуть в меню языка, чтобы найти значения RPM на других 42 языках.

15.2.7. Проверка

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

Проверку пакета выполняет команда rpm -V. Вы можете указать пакет, который хотите проверить, используя любой из перечисленных параметров выбора пакета. Простым примером проверки является команда rpm -V foo, которая проверяет, что все файлы пакета foo находятся там, куда они были изначально установлены. Например:

  • Чтобы проверить пакет, содержащий конкретный файл, выполните:

    rpm -Vf /usr/bin/vim
  • Чтобы проверить ВСЕ установленные пакеты:

    rpm -Va
  • Чтобы сравнить установленный пакет с файлом RPM-пакета:

    rpm -Vp foo-1.0-1.i386.rpm

    Эта команда может быть полезна, если вы сомневаетесь в целостности баз данных RPM.

Если проверка проходит успешно, никакие сообщения на экран не выводятся. В случае обнаружения каких-либо нарушений, вы увидите сообщения об этом. Для каждого несоответствия на экран будет выведена строка из восьми символов ( c обозначает файл конфигурации), а затем имя файла. Каждый из восьми символов обозначает результат сравнения одного атрибута файла со значением атрибута, записанного в базе данных RPM. Единственная точка (.) означает, что тест пройден. Следующие символы обозначают ошибки при выполнении определённых проверок:

  • 5 — контрольная сумма MD5

  • S — размер

  • L — символическая ссылка

  • T — дата изменения файла

  • D — устройство

  • U — пользователь

  • G — группа

  • M — режим (включая разрешения и тип файла)

  • ? — файл не удалось прочитать

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