Installpackages — различия между версиями

Материал из pNp Wiki
Перейти к: навигация, поиск
(Применение утилиты rpm)
Строка 106: Строка 106:
  
 
== Применение утилиты rpm ==
 
== Применение утилиты rpm ==
 +
Как уже упоминалось, <code>rpm</code> может оказаться удобным, когда <code>yum</code>, к примеру, может отказаться
 +
удалять пакет из-за ошибок в скриптах, выполняющихся после удаления пакета. Использование схоже с <code>yum</code>,
 +
использование команды состоит вызова утилиты с определенными ключами и имени пакета:
 +
<syntaxhighlight lang="bash">
 +
[root@vm-01 ~]# rpm -qi httpd
 +
Name        : httpd
 +
Version    : 2.4.6
 +
Release    : 45.el7
 +
Architecture: x86_64
 +
Install Date: Thu 22 Feb 2018 03:55:31 AM MSK
 +
Group      : System Environment/Daemons
 +
Size        : 3877656
 +
License    : ASL 2.0
 +
Signature  : RSA/SHA256, Wed 14 Sep 2016 10:02:21 AM MSK, Key ID 199e2f91fd431d51
 +
Source RPM  : httpd-2.4.6-45.el7.src.rpm
 +
Build Date  : Wed 03 Aug 2016 03:34:57 PM MSK
 +
Build Host  : x86-020.build.eng.bos.redhat.com
 +
Relocations : (not relocatable)
 +
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
 +
Vendor      : Red Hat, Inc.
 +
URL        : http://httpd.apache.org/
 +
Summary    : Apache HTTP Server
 +
Description :
 +
The Apache HTTP Server is a powerful, efficient, and extensible
 +
web server.
 +
[root@vm-01 ~]#
 +
</syntaxhighlight>
 +
 +
{| class="wikitable"
 +
|-
 +
! Команда !! Значение
 +
|-
 +
| rpm -qf [имя файла] || команда отображает какому пакету принадлежит файл
 +
|-
 +
| rpm -ql [имя пакета] || команда отображает список файлов, принадлежащих пакету
 +
|-
 +
| rpm -qi [имя пакета] || команда отображает информацию о пакете
 +
|-
 +
| rpm -qc [имя пакета] || команда отображает список конфигурационных файлов, входящих в пакет
 +
|-
 +
| rpm -q --scripts || команда отображает скрипты, которые вызываются в момент определенных действий с пакетом (установка, удаление)
 +
|-
 +
| rpm -qp [имя rpm файла] || опция <code>-p</code> используется в комбинации с вышеприведенными опциями для получения информации о пакете, который не установлен в системе
 +
|-
 +
| rpm -qR || команда отображает список зависимостей указанного пакета
 +
|-
 +
| rpm -V [имя пакета] || команда отображает изменения файлов указанного пакета после его инсталляции
 +
|-
 +
| rpm -Va || команда отображает изменения файлов всех пакетов после их инсталляции
 +
|-
 +
| rpm -qa || список всех пакетов, установленных в системе
 +
|}

Версия 16:32, 1 марта 2018

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

Предварительные требования

  • Виртуальная машина с двумя сетевыми интерфейсами
  • Установленные пакеты: yum, yum-utils, rpm, bash, bash-completion

Общая информация

Управление пакетами в RHEL осуществляется двумя утилитами - yum и rpm. Утилита yum является "высокоуровневой" и позволяет устанавливать пакеты как из репозиториев (хранилищ), так и локально из директорий. yum в отличие от rpm осуществляет разрешение зависимостей, то есть устанавливает все необходимое программное обеспечение (библиотеки, документацию и тому подобное), для функционирования утилиты и/или демона. Информация о пакетах и зависимостях хранится в базе данных Berkley DB, в директории /var/lib/rpm. Для того, что бы не запоминать команды утилиты yum поможет наличие установленного пакета bash-completion.

Применение утилиты yum

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

[root@vm-01 ~]# yum info bash-completion
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Installed Packages
Name        : bash-completion
Arch        : noarch
Epoch       : 1
Version     : 2.1
Release     : 6.el7
Size        : 259 k
Repo        : installed
From repo   : RHEL-media
Summary     : Programmable completion for Bash
URL         : http://bash-completion.alioth.debian.org/
License     : GPLv2+
Description : bash-completion is a collection of shell functions that take advantage
            : of the programmable completion feature of bash.

[root@vm-01 ~]#

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

Команда Значение
install установка пакета
update обновление одного или всех пакетов, в случае, если не указано имя пакета
upgrade то же самое, что и update, только с опцией --obsoletes (которая включена по-умолчанию у update)
localinstall установка пакета находящегося в локальной директории
downgrade откат пакета до нужной версии
reinstall переустановка пакета
swap удаление одного пакета и установка другого
remove (erase) удаление пакета
autoremove то же, что и remove, но и удаляет зависимости
groupinstall установить все пакеты, принадлежащие группе

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

Команда Значение
repolist просмотр списка подключенных репозиториев
repoinfo показывает информацию о подключенном репозитории
repo-pkgs работа с пакетами конкретного репозитория. после команды repo-pkgs надо указать имя репозитория, затем имя пакета и действие.
makecache обновление метаданных подключенных репозиториев

Общие команды

Команда Значение
help краткое описание команд и аргуметов
list список пакетов во всех подключенных репозиториях
info отображение информации о пакете
deplist отображение информации о зависимостях пакета
provides (whatprovides) поиск пакетов содержащих в себе имя файла (перед именем следует указывать */ для более точного поиска)
search поиск пакета по имени и описанию
updateinfo отображает информацию об обновлениях для машины
grouplist отображает информацию об инсталлированных и доступных группах пакетов
groupinfo отборажает описание и содержимое группы пакетов
check-update отображает информацию о доступных обновлениях пактов

Применение утилиты rpm

Как уже упоминалось, rpm может оказаться удобным, когда yum, к примеру, может отказаться удалять пакет из-за ошибок в скриптах, выполняющихся после удаления пакета. Использование схоже с yum, использование команды состоит вызова утилиты с определенными ключами и имени пакета:

[root@vm-01 ~]# rpm -qi httpd
Name        : httpd
Version     : 2.4.6
Release     : 45.el7
Architecture: x86_64
Install Date: Thu 22 Feb 2018 03:55:31 AM MSK
Group       : System Environment/Daemons
Size        : 3877656
License     : ASL 2.0
Signature   : RSA/SHA256, Wed 14 Sep 2016 10:02:21 AM MSK, Key ID 199e2f91fd431d51
Source RPM  : httpd-2.4.6-45.el7.src.rpm
Build Date  : Wed 03 Aug 2016 03:34:57 PM MSK
Build Host  : x86-020.build.eng.bos.redhat.com
Relocations : (not relocatable)
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor      : Red Hat, Inc.
URL         : http://httpd.apache.org/
Summary     : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.
[root@vm-01 ~]#
Команда Значение
rpm -qf [имя файла] команда отображает какому пакету принадлежит файл
rpm -ql [имя пакета] команда отображает список файлов, принадлежащих пакету
rpm -qi [имя пакета] команда отображает информацию о пакете
rpm -qc [имя пакета] команда отображает список конфигурационных файлов, входящих в пакет
rpm -q --scripts команда отображает скрипты, которые вызываются в момент определенных действий с пакетом (установка, удаление)
rpm -qp [имя rpm файла] опция -p используется в комбинации с вышеприведенными опциями для получения информации о пакете, который не установлен в системе
rpm -qR команда отображает список зависимостей указанного пакета
rpm -V [имя пакета] команда отображает изменения файлов указанного пакета после его инсталляции
rpm -Va команда отображает изменения файлов всех пакетов после их инсталляции
rpm -qa список всех пакетов, установленных в системе