Как установить rpm пакет centos

Обновлено: 06.07.2024

В данной статье будет подробно описан процесс создание rpm пакетов и организация репозитория. Прошу всех, кому интересна данная тема, пройти под кат.

Я взялся писать крайне подробно, так что Вы можете пролистать очевидные для Вас вещи.

Наш сервис начинается с момента установки на него операционной системы. Естественно, что для сборки rpm пакетов мы выбираем rhel дистрибутив. В данном случае, был выбран CentOS 7.

Создадим директорию, где будет лежать образ и перейдем в нее:

Далее можно непосредственно скачать образ и необходимые для проверки файлы:

или посредством torrent`а с помощью программы aria2, которую для начала установим:

Проверить образ

Скачаем ключ для CentOS 7:

Посмотрим на ключ и импортируем его:

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

Как мы видим — все отлично и теперь можем проверить сам образ на целостность:

Запись образа на носитель

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

Запись образа на диск

Для записи данного образа, нам понадобится двухсторонний DVD. Допустим мы его нашли и записываем, установив предварительно wodim:

Запись образа на флешку

Двухсторонний DVD это как то архаично, так что возьмем флешку на 16 гб и запишем образ на нее, но прежде /dev/sda тут — это флешка, а у Вас она может быть другой. Смотри команду fdisk:

Если status=progress не поддерживается, то по старинке:

а можно воспользоваться pv:

Установка

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

Процесс установки можно посмотреть в этом ролике.

После установки системы, нам необходимо настроить наш сервер.

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

В начале мы обновим все установленные пакеты, далее установим репозиторий epel, в котором есть много что полезного для нас:

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

Для того чтобы комфортно и безопасно управлять сервером настроим SSH.

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

и добавим ключ на сервер:

Необходимо еще закрутить гайки в самой службе. Создадим копию файла конфигурации и приступим к редактированию:

В файле стоит добавить/изменить/раскомментировать следующие строки:

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

Важно ограничить доступ к нашему серверу. По этой причине настроим межсетевой экран:

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

Создание директорий

Создаем необходимые директории:

Настройка PGP подписи

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

Ключ будем использовать свой или если его нет, то создадим. Создавать ключ стоит на своем рабочем компьютере.

Создадим ключ, если его у нас нет:

Сохраняем наш приватный ключ:

Создадим ключ для отзыва:

Экспорт открытого ключа на keyserver:

Теперь ключ можно и импортировать на наш сервер:

Смотрим где находится gpg утилита:

и настроем файл для подписи пакетов:

Создаем репозиторий

Теперь организуем сам репозиторий.

Создадим директорию, где будем хранить пакеты:

Экспортируем ключ в репозиторий:

Создаем сам репозиторий и подписываем метаданные:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Готовим исходники

Скачиваем исходники tmux и необходимых библиотек:

Экспортируем GPG ключи для проверки исходников:

Подготовим файл конфигурации tmux:

Готовим SPEC файл

Этот файл будет интереснее предыдущего SPEC файла:

Сборка

Собираем пакет и добавляем его в репозиторий:

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

Смотри что и как получилось:

Установка и запуск

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

Запускаем tmux и радуемся:

Собирать будем fbida — комплект приложений для просмотра изображений в консоли. Данный пакет не нашел под Centos 7.

Готовим исходники

Скачиваем исходники fbida:

Экспортируем GPG ключи для проверки исходников:

Готовим SPEC файл

В этом SPEC файле будет больше зависимостей:

Сборка

Собираем пакет и добавляем его в репозиторий:

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

Установка и запуск

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

Настройка

Первым делом настроем наш Apache:

Далее необходимо добавить/изменить/раскомментировать следующие строки:

Запускаем службу и прописываем ее в автозапуск:

Настраиваем наш репозиторий:

Т.к. в Centos 7 у нас Apache 2.4.6, а не 2.4.8, то параметры Диффи-Хеллмана необходимо вшить в сертификат:

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

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

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

Строку Include /etc/letsencrypt/options-ssl-apache.conf закомментируем.

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

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

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

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

Файлы .htaccess

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

и AllowOverride смените на All . Так же добавьте:

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

Для vsftpd можно использовать опции:

А вообще смените стандартное имя .htaccess на другое с помощью параметра AccessFileName :

Тут можно используя модуль mod_autoindex Apache настроить внешний вид. Завернуть в noscript тег и используя html5, css3, javascript, jquery, bootstrap, backbone, awesome сделать конфетку, как это сделал я:

repo.chelaxe.ru

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

LINKS2

Сами файлы web интерфейса нужно будет скрыть как от vsftpd так и от демонстрации на сайте, делается аналогичными способами что и для сокрытия .htaccess файла.

Настроить внешний вид листинга через mod_autoindex или в nginx:

Запускаем службу и прописываем ее в автозапуск:

В случае использования .htaccess файла — продублируйте, чтобы файл был надежно защищен от доступа по ftp:

Официальные репозитории CentOS содержат тысячи пакетов RPM, которые можно установить с помощью yum утилиты командной строки. Пакеты, которые недоступны в стандартных репозиториях CentOS, можно легко установить, включив соответствующий репозиторий.

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

Прежде чем вы начнете

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

Вам следует избегать использования этого метода для замены или обновления важных системных пакетов, таких как glibc, systemd или других служб и библиотек, которые необходимы для правильного функционирования вашей системы. Это может привести к ошибкам и нестабильности системы.

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

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

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

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

Первым шагом является загрузка файла RPM, который вы хотите установить:

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

yum предложит вам подтверждение. Ответьте, y и RPM-пакет будет установлен, при условии, что он совместим с вашей системой, и все зависимости соблюдены.

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

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

Чтобы обновить пакет RPM, который уже установлен с yum, используйте ту же процедуру, что и при установке пакета.

Если по какой-то причине вы хотите удалить установленный пакет, используйте стандартную yum remove команду с именем пакета:

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

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

Для установки пакета RPM используйте rpm -i команду, после которой следует имя пакета RPM:

-v Опция указывает , rpm чтобы показать подробный вывод и -h показать хэш отмечен прогресс бар.

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

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

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

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

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

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

Вывод

В этом руководстве мы показали вам, как установить RPM-пакеты в CentOS.

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


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

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

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

В этом руководстве мы узнаем, как установить файл .rpm в дистрибутивах Linux CentOS.

Что такое менеджер пакетов RPM

Предпосылки

Прежде чем мы начнем, вам необходимо убедиться, что у вас есть права sudo и что вы установили в свою систему некоторые из RPM, DNF и YUM Package Manager (все они включены по умолчанию).

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

В этом руководстве мы будем загружать и устанавливать пакет Slack RPM в CentOS 8.

Как скачать установочный пакет RPM

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

Например, мы будем использовать команду wget для загрузки пакета slack (rpm) в текущий каталог (я загружаю в /tmp) следующим образом:

Для проверки вы можете использовать команду ls для вывода файла rpm в каталоге /tmp:

Установка файла RPM с помощью команды RPM

Вы можете установить RPM-пакет двумя способами.

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

В следующей команде мы используем опцию -i для установки скачанного пакета rpm:

Из приведенного выше вывода видно, что установка не удалась из-за отсутствия пакетов зависимостей. Поэтому мы должны проверить наличие пакетов зависимостей rpm и установить их вручную.

Проверьте RPM-зависимости

Чтобы проверить зависимости пакетов, у нас есть две опции rpm. Вы можете использовать -qpR для запроса файла rpm и -qR для запроса по имени пакета.

Например, давайте запросим файл .rpm (мы используем slack rpm, который мы уже загружали ранее), чтобы найти все необходимые пакеты зависимостей:

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

Тут вступает в игру удобный инструмент под названием yum, где нам не нужно беспокоиться о зависимостях.

Этот менеджер пакетов yum может получить все необходимые зависимости и настроить их для нас.

Теперь мы будем использовать менеджер пакетов yum для установки нашего загруженного пакета с помощью следующей команды:

После ввода y система установит все зависимости и наш пакет:

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

Чтобы удалить пакет RPM, мы даем команду RPM на удаление программного обеспечения с параметром -e.

Favorite

Добавить в избранное

Главное меню » CentOS » Как установить RPM файлы (пакеты) на CentOS Linux

Как установить RPM файлы (пакеты) на CentOS Linux

В репозиториях CentOS содержатся тысячи rpm, которые могут быть установлены с помощью менеджера desktop software manager или из командной строки, используя утилиты yum, dnf и rpm. Некоторые библиотеки и приложения упакованы в формате rpm, но не включены ни в один репозиторий CentOS. Эти приложения должны быть загружены с веб-сайтов разработчика и установлены вручную.

В этой статье мы расскажем, как установить rpm-файлы в CentOS.

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

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

Установка файлов rpm с помощью yum и dnf

yum и dnf являются инструментами командной строки для установки, обновления, удаления и иного управления пакетами rpm в CentOS и связанных дистрибутивах Linux.

Начиная с CentOS 8, yum заменен на dnf в качестве менеджера пакетов по умолчанию. dnf обратно совместим с yum.

Вы можете продолжать использовать yum на CentOS 8, так как это псевдоним для dnf.

Чтобы установить локальные пакеты rpm с помощью yum или dnf, используйте команду install, а затем путь к файлу. В приведенном ниже примере мы устанавливаем браузер Chrome :

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

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

Читайте также: