Книга: Linux и все, все, все... Статьи и колонки в LinuxFormat, 2006-2013
PackageKit – кит пакетного менеджмента
PackageKit – кит пакетного менеджмента
Если yum всегда оставался в тени Debian'овского APT'а, то о графической надстройке PackageKit говорят ещё меньше. Хотя она не является чем-то специфическим для rpm-based дистрибутивов: её можно прикрутить к пакетам любого формата в любых дистрибутивах, вплоть до Archlinux и Gentoo.
Система PackageKit распадается на серию бэк-эндов для работы с конкретными менеджерами пакетов и интерфейсные надстройки.
Бэк-энды PackageKit предполагают работу с такими системами, как yum, apt, smart и так далее, вплоть до pacman. Интерфейсом к ним служат
1. либо консольная утилита pkcon, одинаковая во всех дистрибутивах и в отношении синтаксиса команд не зависящая от нижележащего пакетного менеджера,
2. либо графические фронт-энды, каковых минимум два – gnome-packagekit и kpackagekit, ориентированные на работу в средах GNOME/Xfce/LXDE и KDE, соответственно.
При инсталляции в Fedora по умолчанию устанавливается бэк-энд для yum и фронт-энд gnome-packagekit (при выборе в качестве рабочей среды KDE он заменяется на kpackagekit). Но в репозиториях доступны пакеты поддержки apt и smart, а также консольный клиент pkcon.
Пакетные менеджеры, поддерживаемые системой PackageKit, имеют обычно собственный развитый инструментарий для управления пакетами из командной строки (не исключение и Fedora, как мы видели в заметке про yum). Поэтому консольная утилита pkcon представляет интерес только своей теоретической универсальностью – она одинакова в любых дистрибутивах, поддерживающих PackageKit, так что задерживаться на ней не будем.
Графическая ипостась PackageKit в виде субпакета gpk-application запускается из главного стартового меню, в зависимости от используемой среды, через пункты Приложения -> Установка и удаление программ (GNOME) или Администрирование -> Установка и удаление программ (Xfce). Причём сделать это можно от лица обычного пользователя – пароль администратора будет запрашиваться по ходу дела, при необходимости выполнения действий, требующих соответствующих полномочий. После запуска перед нами появляется окно следующего вида:
Рис. 2. PackageKit – общий вид
Переключаясь в левом фрейме окна на соответствующие пункты, в правом можно видеть список всех пакетов – как установленных, так и доступных в репозиториях. Списки пакетов и коллекций можно фильтровать по:
•
статусу – установлен или доступен;
•
назначению – для разработчиков или конечных пользователей;
•
режиму – графическому или текстовому;
•
«степени свободы» – free или non-free.
По умолчанию никакая фильтрация не проводится.
Свободное поле с кнопкой Find рядом прямо так и провоцирует выполнить поиск некоего пакета. Каковой осуществляется по совпадению (не чувствительно к регистру) не только в именах пакетов, но и в их описаниях. В результате в выводе будет список всех пакетов, имеющих хоть какое-то отношение к искомому.
Для выделенного пакета доступно его краткое описание и формальные данные – принадлежность к группе, лицензия, объем подлежащего скачиванию архива и репозиторий, из которого пакет будет получен.
Более подробную информацию о пакете можно получить через меню Selection. Так, пункт Get file lists выведет список файлов и путей к ним в том виде, в котором они будут установлены в системе. Пункт Depends on даст список его зависимостей. А пункт Required by – список пакетов, которые зависят от выбранного.
Для установки найденного пакета достаточно пометить его и нажать кнопку Применить. После этого некоторое время будут проверяться зависимости пакета, список которых выводится в специальной панели.
Рис. 3. Вывод списка зависимых пакетов
Нажатие кнопки Установить повлечёт за собой скачивание пакета вместе со всеми его зависимостями, из распаковку и инсталляцию. Кнопка Отмена вызовет отказ от установки не только зависимостей, но и выбранного пакета.
Если всё идёт как надо, после описанных выше манипуляций мы будем иметь в системе установленный работоспособный пакет. Что и предлагается проверить в панели сообщения об успехе инсталляции – на ней имеется кнопка Запустить, которая вызывает старт свежеустановленной программы.
Однако нельзя исключить ситуации, что в ходе проверки зависимостей будут выявлены ошибки – как правило, они связаны с конфликтом версий пакетов, от которых зависит устанавливаемый. И единственное, что тут можно сделать – открыть вывод More details, тупо просмотреть его и закрыть панель ошибок. Выбранный пакет при этом, разумеется, установлен не будет.
Удаление пакетов происходит аналогично – только в обратном порядке:
•
сначала снимается отметка с установленного пакета;
•
затем нажимается кнопка Применить – и наступает ожидание проверки зависимостей, завершающееся появлением окна со списком пакетов, которые будут удалены вместе с заказанным;
•
список очень внимательно изучается, после чего следует согласие на удаление или отказ от него.
Подчёркиваю необходимость очень внимательного изучения списка удаляемых зависимостей: они могут оказаться весьма неожиданными. Так, удаление пакета, установленного не индивидуально, а в составе какой-либо группы или коллекции (особенно при инсталляции), может нечувствительно вызвать снос половины системы.
PackageKit в 12-й версии Fedora получит (за счёт отдельных плагинов) такие дополнительные возможности, как автоматическая установка пакетов по щелчку на имени файла в браузере или из командной строки – в ответ на сообщение command not found.
Все действия по установке и удалению пакетов (а также тотальному обновлению системы, о чём будет говориться позднее) через PackageKit фиксируются в специальном лог-файле – /var/log/yum.log; как явствует из названия, он не специфичен для этой системы, а отражает действия через менеджер пакетов yum. Однако gnome-packagekit предоставляет удобную форму визуализации его содержимого, вызываемую через пункты меню System -> Software log, где показываются: дата действия и его характер (установка, обновление или удаление), имя совершившего его пользователя и приложения (субпакета в составе gnome-packagekit):
Рис. 4. Журнал установки, обновления и удаления пакетов
Однако по хорошему, прежде чем заниматься установкой или удалением пакетов, не худо выполнить некоторые подготовительные действия.
Первое из них – проверить доступные репозитории, те самые, которые подключались на стадии установки, что делается через меню System -> Software sources. Скорее всего, все нужные источники пакетов из числа официальных для Fedora вообще и Russian Fedora в частности уже включены, но лишний раз убедиться в этом не мешает.
Затем имеет смысл обновить систему – через пункт меню System -> Refresh package lists, который сначала приведёт список доступных пакетов в актуальное (и соответствующее подключённым репозиториям) состояние, а затем предложит список пакетов, могущих быть обновлёнными, с которым остаётся только согласиться.
И теперь обновление будет выполнено, если не произойдёт ошибки —. хотя нельзя исключить и последнего варианта. В этом случае придётся обратиться к командной строке и yum’у.
Пунктами меню Software sources и Refresh package lists вызывают самостоятельные субпакеты, входящие в gnome-packagekit – gpk-repo и gpk-update-viewer, соответственно. Но они могут быть запущены автономно, через главное стартовое меню среды – Система -> Администрирование -> Источники программ/Обновление программ.
Из сказанного можно сделать вывод, что PackageKit в своей графической ипостаси – простое и удобное в обращении средство управления пакетами, функционально сходное с Synaptic’ом для deb-пакетов. В сравнении с последним он производит впечатление более медлительного. Однако это связано не с ним самим, а с rpm-форматом и базами данных для yum, требующими скачивания существенно большего объёма метаинформации. Второй недостаток PackageKit – трудность определения причин возникновения ошибок как при установке конкретного пакета, так и тотального обновления системы. Это я отнёс бы к некоторой недоработанности системы PackageKit в целом – ведь по сравнению с Synaptic’ом она ещё очень молода.
Однако и в нынешнем своём виде PackageKit пригоден для повседневного использования в сфере управления пакетами, если не выходить за пределы штатных ситуаций – при их возникновении yum нам в руки.
- Незнаменитый yum
- PackageKit – кит пакетного менеджмента
- openSUSE LiveCD: нетривиальная установка
- Вступление
- Live-среда: запуск
- Подготовка Live-режима
- Настройка окружения администратора
- Преамбула к установке
- Установка
- Итоги установки
- Заключение
- ZFS on Linux: практика применения
- Обзор возможностей
- Аппаратные потребности
- Терминология
- Модели именования устройств
- Включение поддержки ZFS
- Создаём простой пул
- «Избыточные» пулы
- Пул кэшируемый
- О некоторых опциях команды zpool
- Создание файловых систем
- Файловые системы: устанавливаем свойства
- О перемонтировании
- Вместо заключения
- 4.2. Формирование концепции репутационного менеджмента
- Шаг 4. Бейте в точку опоры! Удалите, извлеките корень!
- Бумажная волокита
- Кто завладеет Китаем – завладеет миром
- Глава 2 Сущность инновационного менеджмента
- Немного о себе и о Китае
- Глава 25 Как избежать обмана при выборе поставщика в Китае
- Две области применения категорийного менеджмента
- Кто переведет с китайского?
- 2.2. Содержание инновационного менеджмента
- Блок № 7. Маркетинг-кит
- Как структурировать информацию по библиотеке с помощью майнд-менеджмента