Работа с YUM
Система управления RPM-пакетами YUM
YUM (Yellowdog Updater Modified) — система управления пакетами (реализована на Python), предоставляющая возможность установки, удаления и обновления пакетов или групп пакетов. Yum изначально разработан для управления системой Red Hat Linux и в настоящее время используется в RPM-based (Red Hat Package Managment) дистрибутивах, таких как Fedora, CentOS, SUSE, Yellow Dog Linux и т.д.
1. Обновление пакетов
yum check-update
Обновить необходимые пакеты нужно использовать команду yum update pkg_name :
# yum update elfutils
обновить все возможные пакеты yum update:
# yum update
Для автоматического ответа на вопрос «Is this ok Y N» можно воспользоваться параметром -y (например: yum update -y ), который дает согласие на все вопросы.
При необходимости выполнять обновления автоматически можно воспользоваться утилитами yum-cron (для периодического обновления пакетов) и yum-updateonboot (для обновлений во время загрузки системы), чтобы их установить:
# yum install yum-cron yum-updateonboot
2. Установка/удаление пакетов
Пакет вместе со всеми зависимостями можно установить командой yum install pkg_name :
# yum install pitivi
Если вы не знаете имя пакета, но знаете имя бинарного файла, который хотите установить, то можно воспользоваться путем к бинарному файлу для установки:
# yum install /usr/bin/pitivi
В случае, если вы не знаете полный путь к бинарному файлу, то можно воспользоваться командой yum provides совместно с glob-выражением, чтобы его узнать:
$ yum provides "*bin/pitivi"
Чтобы удалить ранее установленный пакет можно воспользоваться следующей командой yum remove pkg_name :
# yum remove wicd
Вся информация о установке/удалении/обновлении пакетов фиксируется в файле /var/log/yum.log (для его просмотра необходимы права пользователя root).
3. Получение сведений о пакетах
Для поиска имен пакетов и их краткого описания можно использовать команду yum search pkg_name :
$ yum search wicd
Для получения более подробной информации о пакетах следует использовать команду yum info pkg_name :
$ yum info wicd
Использование yum search аналогично использованию команды rpm -q -i pkg_name:
$ rpm -q -i wicd
Чтобы получить еще больше информации о пакете, например контрольную сумму, то следует использовать yumdb info pkg_name :
$ yumdb info wicd
Еще одной командой для получения информации о пакетах является yum list:
$ yum list wicd-\*
Ниже приведен список некоторых команд yum list, а также команды для вывода информации о группах пакетов и репозиториях:
yum list all — вывести список всех доступных и установленных пакетов; yum list installed — вывести список только установленных пакетов; yum list available — вывести список только доступных пакетов; yum grouplist — вывести список всех групп пакетов (например, «Administration Tools», «GNOME Desktop Environment» и так далее);
yum groupinfo group_name — вывести список пакетов группы group_name, например
$ yum groupinfo KDE
Имеется возможность не только просматривать группы пакетов, но также устанавливать, удалять и обновлять их, используя команды yum groupinstall/groupremove/groupupdate, соответственно.yum repolist — вывести список id репозиториев (repo id) и количество пакетов, предоставляемых каждым из них.
И последняя команда yum history (от root) которая показывает время выполненных транзакицй (установка/удаление/обновление пакетов) и какой пользователь их выполнял. Вся история транзакций храниться в /var/lib/yum/history/.
4. Добавление новых репозиториев
Добавить новый репозиторий можно путем установки rpm-пакета или используя файл *.repo (находятся в /etc/yum.repos.d/). Приведем пример добавления репозиториев RPMFusion и Adobe:
su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'
Для того, чтобы подключить репозиторий Adobe необходимо скачать пакет adobe-release-i386-1.0-1.noarch.rpm с сайта http://get.adobe.com/flashplayer/ (выбрав YUM for Linux) и затем установить его:
# rpm -ivh adobe-release-i386-1.0-1.noarch.rpm
Будет скопирован adobe General Public Key в /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux, но не импортирован, поэтому импортируем ключ:
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
5. yum-utils
yum-utils это набор утилит и плагинов, которые расширяют возможности yum, например могут показаться довольно полезными следующие утилиты:
yumdownloader — предоставляет возможность скачать пакет из репозитория:
$ yumdownloader wicd
package-cleanup — позволяет выявлять неиспользуемые пакеты (--leaves), неполадки (--problems) и удалять старые версии ядер (--oldkernels). Например, чтобы узнать какие пакеты не используются, следует воспользоваться следующей командой:
$ package-cleanup --leaves Loaded plugins: langpacks, presto, refresh-packagekit Adding en_US to language list libcanberra-gtk3-0.25-4.fc14.i686 libertas-usb8388-firmware-5.110.22.p23-4.fc13.noarch libmpdclient-devel-2.1-3.fc13.i686 libotf-0.9.11-1.fc14.i686
Для администраторов может оказаться полезным плагин yum-plugin-security, который предоставляет доступ к списку и обновлениям только тех пакетов, которые связаны с безопасностью системы. Например, доступны следующие пакеты для обновления (можно воспользоваться yum info-security, чтобы получить более подробную информацию по каждому пакету):
$ yum list-security
Используя опцию --security мы узнаем, что есть 5 пакетов для обновления, но ни один из них не связан с безопасностью:
$ yum --security check-update
Если требуется обновлять багфиксы, то можно воспользоваться опцией --bugfixes:
$ yum --security --bugfixes check-update
Дополнительную информацию о плагине можно получить на странице справочного руководства man (man yum-security), а также тут.
Также интерес представляет плагин yum-plugin-versionlock, который позволяет удерживать версию необходимого пакета, т.е. не дает его обновлять.
6. GUI для yum
Для yum существует несколько графических фронтендов, одним из них является PackageKit — «набор открытого и свободного программного обеспечения, предназначенного для обеспечения последовательного и высокоуровневого фронт-энда для некоторого числа различных систем управления пакетами». Для PackageKit есть несколько фронт-эндов:
gnome-packagekit kpackagekit (KDE); yumex; pkcon (консольная утилита). Выбор фронт-энда зависит от используемого DE, например, если вы пользователь GNOME, то по умолчанию у вас будет установлен gnome-packagekit.
______________+++++++++++++_____________++++++++______
Установка репозитория RPMForgeRPMforge является результатом сотрудничества Dag-а,Dries-а, и других создателей пакетов. Он обеспечивает более 4000 пакетов для CentOS, в том числе MPlayer, XMMS-mp3 и другие популярные медиа программы. Он не является частью Red Hat или CentOS, но предназначен для работы с этими основными дистрибутивами. Пакеты поставляются в формате rpm, и в большинстве случаев являются готовыми к использованию. Помните, что некоторые пакеты новее чем в официальной версии CentOS и вы не должны слепо их устанавливать. Перед тем, как заменить пакет CentOS, вы должны убедиться, что не сломается что-нибудь важное. В большинстве случаев вы можете устранить последствия ошибок, но это лучшее, чтобы избежать беспорядка. 1. RPMForge для CentOS 6По умолчанию репозиторий RPMForge не подменяет апакетов из базового репозитория CentOS. Это было в прошлом, теперь данные пакеты выведенены в отдельный репозиторий (RPMForge-Extras), который по умолчанию отключен. Вы можете найти полный список пакетов RPMForge на http://packages.sw.be/. Скачайте установочный пакет репозитория. Выбрав одну из ссылок ниже, в соответствии со своей архитектурой. Если вы не знаете какая у вас архитектура, выполните команду: uname -i. Импортирование ключа. rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt Теперь убедитесь, что вы скачали пакет без ошибок. rpm -K rpmforge-release-0.5.2-2.el6.rf.*.rpm Установите пакет. rpm -i rpmforge-release-0.5.2-2.el6.rf.*.rpm Это добавит конфигурационный файл репозитория и импорт соответствующих ключей GPG. Для пробы установите что-то вроде: yum install htop 2. RPMForge для CentOS 5На данный момент более не требуется установки пакета priorities, для защиты системы от обновления не стабильными пакетами из данного репозитория. Скачайте пакет rpmforge-release. Выберите одну из двух ссылок ниже, в зависимости от вашей архитектуры. Если не уверены, какую из них использовать, то узнайте свою архитектуру командой uname -i Установка ключа Dag GPG rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt Убедитесь что вы скачали пакет без ошибок: rpm -K rpmforge-release-0.5.2-2.el5.rf.*.rpm Установите пакет rpm -i rpmforge-release-0.5.1-1.el5.rf.*.rpm Это позволит добавить файл конфигурации репозитория в YUM и импортировать соответствующие ключи GPG. Можно попробовать установить что-нибудь, например: yum install mplayer 3. CentOS 4 Скачайте пакет rpmforge-release. Выберите одну из двух ссылок ниже, в зависимости от вашей архитектуры. Если не уверены, какую из них использовать, то узнайте свою архитектуру командой uname -i (Вы можете найти полный список пакетов rpmforge-release на http://packages.sw.be/, но рекомендуется использовать один из двух перечисленных выше). Установка ключа Dag GPG rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt Убедитесь что вы скачали пакет без ошибок: rpm -K rpmforge-release-0.5.2-2.el4.rf.*.rpm Установите пакет rpm -i rpmforge-release-0.5.2-2.el4.rf.*.rpm Это позволит добавить файл конфигурации репозитория в YUM и импортировать соответствующие ключи GPG. Если все выглядит так, то все работает и можно попробовать установить что-нибудь, например: yum install mplayer Надеюсь что он работает. |