Red hat linux установка пакетов

How to install or upgrade an RPM package?

In order to install an RPM package you must first have the RPM package you are trying to install on your system. The Red Hat Customer Portal provides all the RPM packages included in our products in our Downloads area. There are two ways to locate a package you are interested in.

Browse by Package name
From Downloads, choose RPM Package Search. The Package Search allows searching for packages regardless of product, but can be limited to a specific product.

Browse By Product
From Downloads, browse to the product you are interested in and then select the ‘Packages’ tab. For example, packages for RHEL 7 Server

Note: An active product subscription that includes entitlements to the package are required to view or download packages.

For more information about downloading packages from the Customer Portal see this solution: How to download rpm package manually from the Customer Portal?

Installing or Upgrading

There are two main options of rpm command that are used to install or upgrade RPM packages:

  • -i is used to install a new package. Always use this for kernel installations and upgrades just in case.
  • -U is used to upgrade an RPM package but will also install a package if it does not exist in the RPM database.

Usage and additional options can be found in the RPM man page. Type man rpm from the command line. Here is some information about the -i and -U flags:

INSTALL AND UPGRADE OPTIONS The general form of an rpm install command is rpm <-i|--install>[install-options] PACKAGE_FILE . This installs a new package. The general form of an rpm upgrade command is rpm <-U|--upgrade>[install-options] PACKAGE_FILE . This install the package or upgrades the package currently installed to a newer version. This is the same as install, except all other version(s) of the package are removed after the new package is installed. 

Note: These examples assume the packages are in a directory on your system. The below RPM commands are executed in the current working directory where the new RPM files reside.

  • To install an RPM package, we use of the -i flag. As mentioned before, you use this flag when you are installing a kernel RPM. In this case, you will want to leave your old kernel in place, at least temporarily, in case the new kernel does not boot. In this example, we first check to see the names of the new RPM packages with the ls command. Then we query the RPM database to see which kernel packages are already installed. You do not need to include the version number in the query, but the usage is: rpm -q . We can install the RPM package with the following command: rpm -ivh . Note the -v option will show verbose output and the -h will show the hash marks, which represents action of the progress of the RPM upgrade. Lastly, we run another RPM query to verify the package will be available.
# ls kernel-2.4.21-15.0.3.EL.i686.rpm kernel-smp-2.4.21-15.0.3.EL.i686.rpm # rpm -q kernel; rpm -q kernel-smp kernel-2.4.21-4.0.1.EL kernel-2.4.21-15.0.2.EL kernel-smp-2.4.21-4.0.1.EL kernel-smp-2.4.21-15.0.2.EL # rpm -ivh kernel-2.4.21-15.0.3.EL.i686.rpm Preparing. ########################################### [100%] 1:kernel ########################################### [100%] # rpm -ivh kernel-smp-2.4.21-15.0.3.EL.i686.rpm Preparing. ########################################### [100%] 1:kernel-smp ########################################### [100%] # rpm -q kernel; rpm -q kernel-smp kernel-2.4.21-4.0.1.EL kernel-2.4.21-15.0.2.EL kernel-2.4.21-15.0.3.EL kernel-smp-2.4.21-4.0.1.EL kernel-smp-2.4.21-15.0.2.EL kernel-smp-2.4.21-15.0.3.EL 
  • To upgrade an RPM package, we use of the -U flag. In this example, we verify the new package name with the ls command. Then we will run an RPM query to see if the package we want to install exists in the RPM database, rpm -q . Next, we execute the RPM installation with the following command: rpm -Uvh . Note the -v option will show verbose output and the -h will show the hash marks, which represents action of the progress of the RPM upgrade. Lastly, we run another RPM query to verify the package will be available.
# ls httpd-2.0.46-32.ent.3.i386.rpm mod_ssl-2.0.46-32.ent.3.i386.rpm # rpm -q httpd; rpm -q mod_ssl httpd-2.0.46-32.ent mod_ssl-2.0.46-32.ent # rpm -Uvh httpd-2.0.46-32.ent.3.i386.rpm mod_ssl-2.0.46-32.ent.3.i386.rpm Preparing. ########################################### [100%] 1:httpd ########################################### [ 50%] 2:mod_ssl ########################################### [100%] # rpm -q httpd; rpm -q mod_ssl httpd-2.0.46-32.ent.3 mod_ssl-2.0.46-32.ent.3 

Note: The httpd and mod_ssl needed to be installed at the same time because of dependency issues. If you try to install one without the other, you would get an error similar to the following:

# rpm -Uvh httpd-2.0.46-32.ent.3.i386.rpm error: Failed dependencies: httpd = 2.0.46-32.ent is needed by (installed) mod_ssl-2.0.46-32.ent 

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Источник

Управление пакетами Red Hat

img

В данной статье мы рассмотрим работу с пакетами и менеджерами пакетов в Red Hat (CentOS) операционных системах. Для работы с пакетами в операционных системах используют yum и rpm. В современной версии используется пакетный менеджер dnf, но он является «форком» от пакетного менеджера yum. Данный пакет разрабатывался в целях решить проблему производительности в первую очередь и в принципе он очень похож, поэтому мы посмотрим в статье на примере классических пакетных менеджеров.

В статье мы рассмотрим следующие вопросы:

  1. Установка, удаление и обновление пакетов.
  2. Поиск пакетов и их зависимостей.
  3. Получение полной информации о пакетах.

В статье нам понадобится понимание:

  • rpm утилита управления пакетами в Red Hat системах.
  • rpm2cpio разбор пакета на двоичные файлы.
  • yum программа для работы с пакетами в Red Hat системах
  • yumdownloader скачивание пакетов
  • /etc/yum.repos.d./ — перечень репозиториев.

Если сравнивать с Ubuntu можно сказать, что вместо dpkg у нас будет rpm, а вместо apt будет yum и дополнительные особенности centos.

Открываем консоль. Переходим в режим суперпользователя, команда su. Посмотрим на команду rpm —help.

rpm --help

Функционал достаточно большой, все ключи на один экран не помещаются. Есть опции по запросу и проверке пакетов можно найти ключи в секции queryverify. Очень мощная утилита, но для работы все таки удобнее использовать пакетный менеджер yum.

Попробуем воспользоваться rpm, чтобы посмотреть его особенности. Лучше всего смотреть на примере. Скачаем программу webmin в виде установочного rpm пакета. Скачали пакет и положили в директорию tmp.

Переходим в нее cd /tmp. Далее можно посмотреть наличие файлов ls la.

ls

Установим данный пакет. Для установки используем два ключа, ключ i означает install, ключ v означает verbose показывать ход установки.

rpm –iv webmin-1.955-1.src.rpm

Можно теперь зайти в браузер и начать работу, но цель была посмотреть, как работает rpm. Для того, чтобы удалить пакет необходимо использовать ключ e, который означает erase. Команда будет выглядеть следующим образом:

Название пакета можно полностью не писать, должно работать.

Для того, чтобы проверить ключ у скаченного пакета есть ключ K.

rpm K webmin-1.955-1.noarch.rpm

rpm –K webmin-1.955-1.noarch.rpm

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

Для того, чтобы проверить состоянии самого пакета есть другой ключ V

rpm Vv webmin-1.955-1.noarch.rpm

Можно получить информацию о пакете для этого необходимо использовать ключи qi, где query information.

rpm qi webmin-1.955-1.noarch.rpm

rpm –qi webmin-1.955-1.noarch.rpm

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

Возможно, когда-то может возникнуть необходимость посмотреть из чего состоит пакет rpm и разобрать его на составные части. Для этого необходимо использовать небольшую утилиту rpm2cpio. Расшифровывается т.е. rpm переделывается в cpio » copy inputoutput » это и двоичный архиватор, и формат файла. Сейчас пакет rpm должен пере паковаться в формат cpio. Пользоваться следующим образом:

rpm2cpio webmin-1.955-1.noarch.rpm > webmin.cpio

Как мы видим, получили еще один файл с расширением cpio и вот этот файл в формате родном для других unix систем.

И так RPM это такая низкоуровневая утилита, которая позволяет работать с RPM пакетами.

YUM

Родной и понятный yum, так же имеет файл помощи, как и все другие утилиты.

yum – help

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

Например, мы можем написать:

yum install openssh-clients

yum install openssh-clients

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

Для удаления мы даем команду:

yum remove openssh-clients

Он запросит подтверждение на данное действие и если мы подтвердим, то утилита будет удалена.

Можно удалить весь ssh: yum remove openssh , но тогда будет предупреждение, что обнаружена одна зависимость от openssh-clients и, если мы подтвердим обе утилиты будут полностью удалены. Т.е это умный пакетный менеджер позволяет работать так, чтобы лишние утилиты не болтались, т.е он сам находит и разрешает зависимости.

Еще интересный факт, что при установки пакетный менеджер проверяет зеркала и кэш, что ему позволяет определять, что установлена последняя версия программного обеспечения. В отличии от пакетного менеджера apt (Ubuntu), которому надо сначала обновить кэш apt update, yum автоматически сам обновляет информацию в процессе установки пакетов.

Репозиторий yum находится в следующей директории и лежат как отдельные файлы.

/etc/yum.repos.d/

Посмотрим базовый репозиторий

cat CentOS-Base.repo

Написано, что это зеркало для подключения клиентов и проверки статуса обновлений. Тут мы можем увидеть имя репозитория и зеркала где находятся обновления. Есть еще ключи, которые можно проверять, а можно и не проверять. Если мы изменим строчку gpgcheck = 0 то проверка осуществляться не будет. Можно самостоятельно добавить репозиторий, создав файл с расширением repo. И тогда получится свой репозиторий.

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

Дополнительно есть утилита для просто закачки пакетов без установки yumdownloader . Работает просто. Переходим в нужную директорию и вводим, например, yumdownloader openssh и происходит закачка.

И последнее пакетный менеджер умеет искать пакеты. Например, yum search openssh .

Источник

Читайте также:  Python code editor linux
Оцените статью
Adblock
detector