Yum linux что это
Yum, шпаргалка
Шпаргалка по работе с пакетным менеджером Yum (Yellowdog Updater, Modified), который используется в популярных Linux дистрибутивах: RedHat, CentOS, Scientific Linux (и других). В целях экономии места вывод команд не представлен.
Оглавление
список названий пакетов из репозиторий
список всех доступных пакетов
список всех установленных пакетов
установлен ли указанный пакет
список установленных и доступных пакетов
список пакетов, относящихся к ядру
отображение информации о пакете
список зависимостей и необходимых пакетов
найти пакет, который содержит файл
поиск пакета по имени и описанию
получить информацию о доступных обновлениях безопасности
вывести список групп
вывести описание и содержимое группы
установка группы пакетов «Basic Web Server»
Проверка на доступные обновления
список подключенных репозиториев
информация об определенном репозитории
информация о пакетах в указанном репозитории
установить все пакеты из репозитория
удалить пакеты установленные из репозитория
проверить локальную базу rpm (поддерживаются параметры dependencies, duplicates, obsoletes, provides)
просмотр yum истории (вывод списка транзакций)
просмотр информации определенной транзакции (установленные пакеты, установленные зависимости)
дополнительно можно просмотреть лог
удалить пакеты сохраненные в кэше
удалить все пакеты и метаданные
обновить все пакеты
обновить до определенной версии
установить из локальной директории (поиск/установка зависимостей будут произведены из подключенных репозиториев)
откатиться к предыдущей версии пакета
переустановка пакета (восстановление удаленных файлов)
удаление ненужных более пакетов
создание локальных репозиториев (createrepo ставится отдельно)
установка обновлений по расписанию (yum-cron устанавливается отдельно)
Опции Yum
ответить «yes» при запросе,
ответить «no» при запросе
использовать Yum без плагинов
или отключить определенный плагин
включить плагины, которые установлены, но отключены
включить отключенный репозиторий
скачать пакеты, но не устанавливать
(на Centos 7 x86_64 будут скачаны в ‘/var/cache/yum/x86_64/7/base/packages/’)
Cледующие команды доступны после установки пакета yum-utils
найти из какого репозитория установлен пакет
найти процессы, пакеты которых обновлены и требуют рестарта
запрос к репозиторию, узнать зависимости пакета, не устанавливая его
синхронизировать yum репозиторий updates в локальную директорию repo1
проверить локальный репозиторий на целостность
установить необходимые зависимости для сборки RPM пакета
управление конфигурационными опциями и репозиториями yum
запрос к локальной базе yum, отображение информации о пакете
(использованная команда, контрольная сумма, URL с которого был установлен и другое)
скачать rpm пакеты из репозитория
скачать src.rpm пакет из репозитория
(должен быть подключен соответствующий репозиторий, например в ‘/etc/yum.repos.d/CentOS-Sources.repo’ в CentOS)
Конфигурационные файлы Yum и их расположение
Основной конфигурационный файл
директория, с конфигурациями (например, yum плагины)
директория, содержащая информацию о репозиториях
Некоторые опции yum.conf:
Директория, где yum хранит кэш и файлы базы (по умолчанию ‘/var/cache/yum’)
Определяет должен или нет Yum хранить кэш заголовков и пакетов после успешной установки. Значения: 0 или 1. (по умолчанию 1)
уровень вывода отладочных сообщений. Значения: 1-10 (по умолчанию 2)
лог файл (по умолчанию ‘/var/log/yum.log’)
обновлять устаревшие пакеты
проверка подписи пакетов. Значения: 0 или 1 (по умолчанию 1)
включение плагинов. Значения: 0 или 1 (по умолчанию 1)
Некоторые полезные плагины
Добавляет опцию командной строки для просмотра ченжлога перед/после обновлениями
выбирает более быстрые репозитории из списка зеркал
добавляет команды keys, keys-info, keys-data, keys-remove, которые позволяют работать с ключами.
блокировать указанные пакеты от обновления, команда yum versionlock
добавление команд yum verify-all, verify-multilib, verify-rpm для проверки контрольных сумм пакетов
Работа Yum через прокси сервер
Для всех пользователей:
добавить в секцию [main] в /etc/yum.conf
при необходимости указать пароль, добавить
указать прокси для отдельного пользователя
Буду рад любым дополнениям и замечаниям.
Дополнительно читайте:
CentOS: использование YUM и немного о полезных возможностях RPM
Что такое YUM?
Yellow dog Updater, Modified (YUM) — открытый консольный менеджер RPM-пакетов.
RPM (рекурсивный акроним RPM Package Manager — RPM — менеджер пакетов; ранее раскрывался как Red Hat Package Manager — менеджер пакетов Red Hat
YUM создан для решения следующих задач:
YUM – поиск пакетов, файлов
# yum list packagename
Если вы не помните имя пакета полностью – можно воспользоваться подстановкой значения с помощью символа *, не забывая его заэкранировать с помощью символа обратного слеша для правильной обработки вашим командным интерпретатором (например – bash ):
Вместо * (замена любого количества символов) можно использовать знак ? – который заменяет один любой символ в поиске. Например, в имени пакета screen – 6 символов. Для поиска по первым 4-м символам введите:
# yum list scre??
…
screen.i686 4.0.3-16.el6 @base
Эти символы замены (? и *) допускаются и в большинстве остальных команд YUM.
Поиск пакета в списках по его имени (можно неполному слову) и в его описании:
# yum search scre
…
screen.i686 : A screen manager that supports multiple logins on one terminal
…
# yum provides */httpd.conf
…
httpd-2.2.15-15.el6.centos.1.i686 : Apache HTTP Server
Repo : base
Matched from:
Другой вариант – надо найти пакет, который хранит свои файлы в каталоге /etc/httpd :
# yum provides /etc/httpd*
Установка, обновление, удаление пакетов с помощью YUM
# yum install mc
…
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
mc i686 1:4.7.0.2-3.el6 base 1.6 M
Installing for dependencies:
gpm-libs i686 1.20.6-12.el6 base 28 k
perl i686 4:5.10.1-127.el6 base 9.7 M
perl-Module-Pluggable i686 1:3.90-127.el6 base 38 k
perl-Pod-Escapes i686 1:1.04-127.el6 base 30 k
perl-Pod-Simple i686 1:3.13-127.el6 base 210 k
perl-libs i686 4:5.10.1-127.el6 base 591 k
perl-version i686 3:0.77-127.el6 base 49 k
…
Можно указать несколько пакетов для установки, разделяя их запятыми.
Что бы YUM не запрашивал подтверждения установки пакета и/или его зависимостей – используйте ключ -y :
# yum reinstall packagename
# yum localinstall atop-1.25-1.el5.rf.i386.rpm
Обновить установленный пакет packagename можно командой:
# yum update packagename
А обновить полностью систему – той же командой, но без указания имени пакета:
Посмотреть список установленных пакетов, которые можно обновить:
Выполнить downgrade пакета до его предыдущей версии:
# yum downgrade packagename
Для удаления пакета из системы используется опция remove (или erase – которая является алиасом remove ):
# yum remove packagename
YUM и репозитории
# yum repolist
repo id repo name status
base CentOS-6 – Base 4,776
extras CentOS-6 – Extras 17
updates CentOS-6 – Updates 960
А всех, в том числе неактивных – так:
# yum repolist all
…
repo id repo name status
…
C6.2-extras CentOS-6.2 – Extras disabled
C6.2-updates CentOS-6.2 – Updates disabled
base CentOS-6 – Base enabled: 4,776
c6-media CentOS-6 – Media disabled
…
debug CentOS-6 – Debuginfo disabled
extras CentOS-6 – Extras enabled: 17
updates CentOS-6 – Updates enabled: 960
Ещё интересная возможность – отобразить доступные для установки (уже установленные пакеты отображаться не будут) только из определённого репозитория. Например – вывести список пакетов из репозитория base :
# yum –disablerepo “*” –enablerepo “base” list available
Что бы получить полный список, в том числе уже установленные пакеты – уберите слово available в этой команде.
Другие возможности YUM
Получить информацию об установленных пакетах можно так:
О конкретном пакете packagename:
# yum info packagename
# yum info gcc-c++
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: ftp.colocall.net
* extras: ftp.colocall.net
* updates: ftp.colocall.net
Available Packages
Name : gcc-c++
Arch : i686
Version : 4.4.6
Release : 4.el6
Size : 4.3 M
Repo : base
Summary : C++ support for GCC
URL : http://gcc.gnu.org
License : GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions
Description : This package adds C++ support to the GNU Compiler Collection.
: It includes support for most of the current C++ specification,
: including templates and exception handling.
Тут так же поддерживаются символы-заменители, например – вы не помните полностью имя пакета screen:
Исключить пакет из списка пакетов для обновления можно так.
После чего через запятую укажите список пакетов, которые необходимо поддерживать в их текущей версии. Например – так:
Просмотреть список зависимостей пакета:
# yum deplist packagename
Посмотреть список последних действий YUM:
# yum history
Loaded plugins: fastestmirror
ID | Login user | Date and time | Action(s) | Altered
——————————————————————————-
7 | root | 2013-03-06 15:02 | I, U | 45
6 | root | 2013-03-06 14:59 | Install | 1 EE
5 | root | 2013-03-06 14:58 | Install | 1
4 | root | 2013-03-06 14:54 | Install | 8
3 | root | 2013-03-06 14:47 | Install | 3
2 | root | 2013-03-06 14:22 | Install | 1
1 | System | 2013-03-06 13:52 | Install | 209
При проблемах с менеджером пакетов YUM
Другие возможности работы с RPM-пакетами
Посмотреть список установленных в системе пакетов НЕ из списка репозиториев CentOS;
Посмотреть список всех установленных в системе пакетов:
Показать список всех GPG-ключей с соответствующей информацией репозитория:
Посмотреть список изменений в версиях пакета:
Посмотреть список пакетов по дате их установки/обвноления (например – найти необновившиеся пакеты):
Получить список установленных ключей GPG с информацией об их репозиториях:
GNU Privacy Guard, GnuPG, GPG — свободная альтернатива набору криптографического ПО PGP, выпущенная под лицензией GNU General Public License. Является частью проекта GNU, получила гранты от немецкого правительства. GnuPG полностью совместим со стандартом IETF OpenPGP. Текущие версии GnuPG могут взаимодействовать с PGP и другими OpenPGP-совместимыми системами в режиме совместимости. GnuPG позволяет шифровать и подписывать данные в целях безопасного хранения и передачи информации.
Пакетный менеджер Yum в CentOS – справочник команд
Содержание:
В данной статье мы рассмотрим менеджер пакетов Yum, который позволяет управлять установкой, удалением и обновлением пакетов, автоматически разрешать зависимости, управлять дополнительными репозиториями.
Yum (Yellowdog Updater Modified) – консольный менеджер пакетов для дистрибутивов Linux, основанных на пакетах формата RPM (RedHat Package Manager). Сюда входят такие популярные ОС как RedHat, CentOS, Fedora, Oracle Linux, Scientific Linux.
Знак «$» в консоли говорит, что мы в пользовательском режиме. Знак «#» говорит о том, что в привилегированном. Работая в пользовательском режиме для повышения прав необходимо использовать команду «sudo«. Например: sudo yum install httpd.
При установке пакетов система просит подтверждение установки: [y/d/N]. Чтобы подтверждение было одобрено по умолчанию, нужно добавить ключ -y
Yum: установка, обновление и удаление пакетов
Полная справка по менеджеру пакетов yum :
Очистить кеш всех пакетов (обчычно используется при возникновении проблем при работе yum):
Пересоздать кеш пакетов заново:
Отобразить список подключенных репозиториев:
Вывести список всех доступных пакетов для установки:
Список всех пакетов, которые установлены в системе:
Вывести список пакетов, которые относятся к ядру Linux:
Проверить установлен ли в системе определенный пакет, например, apache:
Можно получить более подробную информацию о пакете:
Перед установкой пакета можно проверить его на зависимости и необходимые пакеты с помощью команды:
Можно установить сразу несколько пакетов:
Удалить установленный пакет:
!Но перед удалением любого пакета, рекомендуется сначала проверить его на зависимости (бывают пакеты, удаление которых влечет за собой удаление множества других пакетов, что в следствии приводит к неработоспособности системы):
Найти пакет по имени или описанию:
С помощью опции provides вы можете найти пакеты, содержавшие определенный файл, например:
Выполнить обновление всех установленных пакетов:
Вы можете обновить только определенный пакет, указав его имя:
Проверить если доступные обновления для системы можно командой:
Получить информацию о доступных обновлениях безопасности:
Бывают случаи, когда после обновления какого-либо пакета или сервиса, возникают проблемы. Например, после обновления php, перестало работать ваше приложение или сайт. Вы можете вернуть предыдущую версию пакета, откатив установленный пакет:
Рассмотрим на примере группового листа «Basic Web Server». Получить информацию о группе и пакетах в ней:
При проверке мы видим, что будут установлены набор пакетов и сервисов для веб-сервера.
Ещё один полезный групповой лист «System Administration Tools»:
Как видим, в данном листе содержатся пакеты, которые будут полезны для мониторинга и отладки.
Установить групповой лист можно командой:
Yum: история и логи установки/удаления пакетов
Вы можете вывести информацию об истории установки пакетов yum (списка транзакций) с помощью команды:
Вывод состоит из 5 столбцов, в первом выводится ID транзакции по которому можно посмотреть всю информацию (установленные пакеты, зависимости):
Более того, можно отменить данную транзакцию командой:
В моем случае удалилось бы 4 пакета:
Так же всю информацию об истории установки/удаления пакетов менеджером yum можно посмотреть в логе /var/log/yum.log :
Дополнительные полезные параметры yum
Чтобы ответить no при запросе, нужно указать опцию:
Использовать yum без плагинов или отключить конкретный плагин:
Включить отключенный плагин:
Задействовать отключенный репозиторий:
Отключить определенный репозиторий:
Конфигурационный файл /etc/yum.conf
Основные параметры конфигурационного файла:
cachedir – локальный кэш пакетов (по умоланию /var/cache/yum )
logfile — путь до файла с логами yum
obsoletes — обновлять или нет, устаревшие пакеты(1-да, 0-нет)
gpgcheck — проверка подписи пакета перед установкой (1-да, 0-нет)
keepcache — хранение кеша (1-да, 0-нет)
cachedir — директория для хранения кеша(по умолчанию /var/cache/yum )
debuglevel – уровень отладки от 1 до 10
plugins — включение yum плагинов (1-да, 0-нет)
bugtracker_url – ссылка по которой будут зарегистрированы ошибки работы yum
installonly_limit – максимальное количество версий, которые могут быть установлены для одного пакета.
Полезные плагины yum
Некоторые популярные плагины и их описание:
yum-plugin-fastestmirror – плагин служащий для измерения скорости зеркал и предоставления самого быстрого для установки пакетов.
yum-plugin-security — плагин которые предоставляет список обновлений относящихся только к безопасности системы.
yum-plugin-keys — позволяет работать с ключами keys, keys-info, keys-data, keys-remove
Директория где хранятся все плагины /etc/yum/
yum-plugin-versionlock – позволяет блокировать обновление указанных пакетов
Вывести список доступных плагинов yum:
Чтобы заблокировать обновление пакета через плагин, выполните:
Вывести список заблокировнных пакетов:
Убрать пакет из заблокированных:
Если вам в какой-то момент времени не нужно использовать определенный плагин, вы его можете отключить, добавив префикс при вызове yum:
Или же отключить вообще все плагины, установленные в системе:
Использование yum через прокси
Yum для работы с репозиториями программ использует протокол HTTP/1.1. Если ваш Linux сервер имеет доступ в интернет только через HTTP прокси сервер, вы можете указать имя прокси сервера в конфигурационном файле /etc/yum.conf в секции [main] :
Если прокси-сервер требует авторизацию, добавьте строки:
Для проверки работы yum через прокси сервер воспользуйтесь командой:
Установка пакетов в CentOS 7
Нам довольно часто приходится устанавливать различные программы. По умолчанию в системе есть только самое необходимое, а если вам понадобится что-либо специфическое, то вам придется устанавливать программы вручную. Установка программ Linux в некотором смысле проще, чем в Windows. Здесь большинство необходимых программ находятся в официальных репозиториях и для их установки или обновления достаточно выполнить несколько команд.
В этой статье мы рассмотрим как выполняется установка пакетов CentOS 7. Рассмотрим основы работы с пакетным менеджером yum, его возможности, поиск и разрешение зависимостей пакетов.
Что такое YUM?
Программа распространяется под лицензией GPL (General Public License) и любой пользователь может получить доступ к исходникам или даже улучшить код. Пакетный менеджер поддерживает подключение сторонних репозиториев и разрешение зависимостей для установки пакетов. Для улучшения работы Yum могут быть загружены различные плагины.
Утилита работает в консоли, а ее синтаксис очень прост:
$ sudo yum опции команда имя_пакета
Сначала рассмотрим основные команды пакетного менеджера:
Еще рассмотрим дополнительные опции, которые могут вам понадобиться когда будет выполняться установка rpm CentOS:
Теперь вы знаете все основные возможности утилиты, рассмотрим некоторые примеры работы с ней.
Установка пакетов в CentOS 7
Перед тем как переходить к установке пакетов CentOS нужно обновить список репозиториев и систему до самой последней версии. Для этого существует команда:
Установка пакета CentOS
Чтобы установить пакет, который есть в официальных репозиториях вам достаточно использовать команду install. Просто наберите эту команду и имя пакета, например, для firefox:
sudo yum install thunderbird
Чтобы посмотреть информацию об установленном пакете используйте команду info:
sudo yum info thunderbird
Для удаления пакета используйте команду remove:
sudo yum remove thunderbird
Поиск пакетов CentOS
sudo yum search mysql
Вторая позволяет найти нужный пакет по команде, которая вам нужна, в некоторых случаях это бывает очень удобно:
sudo yum provides lspci
Теперь вы знаете какой пакет нужен и установка пакетов rpm CentOS 7 теперь может быть выполнена очень быстро и вам не нужно открывать множество форумов для поиска информации.
Группы пакетов CentOS
Группы пакетов, это тоже достаточно удобный инструмент. С помощью него вы можете не устанавливать пакеты по одному, а установить сразу целую группу. Сначала посмотрите список доступных групп:
sudo yum group list
Дальше вы можете посмотреть список файлов в каждой выбранной группе:
sudo yum group info «Стандартный веб-сервер»
Затем. чтобы установить группу пакетов наберите:
sudo yum group install «Стандартный веб-сервер»
Точно так же вы можете обновить группу пакетов, чтобы не обновлять всю систему:
sudo yum group update «Стандартный веб-сервер»
sudo yum group remove «Стандартный веб-сервер»
Репозитории пакетов CentOS
В официальных репозиториях есть далеко не все нужные пакеты. Если серверные программы там можно найти без труда, то с программами для рабочего стола, теми же кодеками, возникнут проблемы. Их нужно устанавливать из сторонних репозиториев.
sudo yum install epel-release
Но такая ситуация не со всеми репозиториями. Многие из них хранят файлы установки у себя. Например, репозиторий с различным мультимедийным программным обеспечением nux устанавливается по-другому. Сначала нужно скачать файл репозитория по ссылке. Качайте обязательно последнюю версию иначе ничего работать не будет.
Например, на данный момент самая новая
Затем установите загруженный пакет с помощью yum:
sudo yum install nux-dextop-release-0-5.el7.nux.noarch.rpm
Затем обновите список репозиториев и можете устанавливать пакеты:
Далее можете устанавливать пакеты, например, vlc:
sudo yum install vlc
Ну и смотрим список репозиториев:
Здесь отображаются все доступные репозитории. Для удаления репозитория будет достаточно удалить его пакет.
Установка программ CentOS в GUI
Если вы не любите пользоваться терминалом, то установка программ CentOS 7 может быть выполнена и через графический интерфейс. Но здесь возможностей намного меньше чем в терминале. Используйте утилиту «Программы», которая расположена в главном меню:
Здесь вы можете выбрать нужную категорию программ или ввести имя пакета в поиске:
Затем останется нажать кнопку «Установить пакет». Но тут не поддерживается работа с репозиториями.
Выводы
В этой статье мы рассмотрели как выполняется установка пакетов Centos 7. Конечно, здесь нет такого большого количества пакетов, как в той же самой Ubuntu или OpenSUSE, но для сервера их вполне хватает, а для рабочего стола всегда можно собрать из исходников то, что очень нужно. Надеюсь информация была полезной для вас.