Универсальная оболочка управления пакетами PackageKit
Универсальная дружественная оболочка управления пакетами в "Линукс" PackageKit - новинка сезона 2008 года. Данный проект был взят под свою опеку создателями дистрибутива Fedora, в результате чего он быстро приобрёл известность среди пользователей и стал одним из кандидатов на роль универсального пакетного менеджера для всех линукс-дистрибутивов. На сегодняшний день, начиная с девятой версии Fedora, PackageKit стал главным приложением для работы с программными пакетами в этом дистрибутиве, а также входит в состав систем Ubuntu 8.10, Mandriva 2009 и др.
Проект PackageKit (www.packagekit.org) ставит своей целью унификацию установки и обновления программ на всех дистрибутивах "Линукс". Так как каждый дистрибутив имеет собственный менеджер работы с репозиториями и пакетами приложений, то такой зоопарк пакетных менеджеров может вызвать некоторые проблемы у многих пользователей, и в этом случае не помешала бы некоторая унификация этого процесса.
PackageKit не предлагает унифицировать форматы пакетов и заменить существующие менеджеры одним единственным и общим для всех. Этот проект является просто надстройкой над существующими пакетными менеджерами. PackageKit предлагает для пользователей единый интерфейс для управления установкой программ, но сам при этом использует функциональность установленного в системе менеджера пакетов. На данный момент он поддерживает следующие менеджеры пакетов: APT, yast, yum, smart, conary, urpmi и др.
Следует сказать, что такой способ унификации приветствуется не всеми. Некоторые хотели бы видеть именно единый формат пакетов и единый для всех пакетный менеджер и даже призывают для решения этой задачи провести крупномасштабный саммит лидеров ведущих дистрибутивов.
Теперь рассмотрим практическую сторону работы этого приложения. PackageKit, как и положено юникс-программе, реализован в виде системного демона packagekitd, управление которым осуществляется через клиентские приложения. Настройки демона хранятся в /etc/PackageKit/PackageKit.conf, где одним из основных параметров нужно прописать конкретный пакетный менеджер дистрибутива. Например, для Mandriva это urpmi:
DefaultBackend=urpmi
Пользователь же для своих нужд имеет в своём распоряжении несколько разных клиентов. В первую очередь, это консольный клиент pkcon, но также можно установить отдельно красивые графические клиенты для GTK\GNOME и KDE4 - gnome-packagekit и kpackagekit, соответственно.
Несмотря на разнообразие пакетных менеджеров, везде пользователи совершают одни и те же типовые телодвижения: выбор репозитория, поиск информации о нужном пакете, установка/удаление пакета и т.д. Вот, например, как с помощью консольной утилиты pkcon выглядят некоторые типовые действия:
pkcon search name <пакет> - поиск пакетов, содержащих в имени <пакет>
pkcon install <пакет> - установить пакет <пакет>
pkcon remove <пакет> - удалить пакет <пакет>
pkcon update - установить обновления
pkcon get depends <пакет> - показать зависимости пакета
Такая унификация весьма удобна в случаях, если пользователь оказался "не в своей летающей тарелке", то есть в непривычном и малознакомом ему дистрибутиве "Линукса". Теперь совсем не обязательно изучать в малознакомой системе её собственный пакетный менеджер, можно обойтись универсальным.
Большинство пользователей будут применять графические клиенты. В Fedora базовым графическим фронтендом является gnome-packagekit, который представляет собой целую коллекцию небольших программ. Основным приложением в этой коллекции является gpk-application. Программка gpk-update-icon показывает в трее уведомление об обновлении. Скриншоты всех программ в достаточном количестве можно посмотреть на сайте проекта.
PackageKit только развивается. Текущая версия ещё не достигла первого мажорного релиза, а на сайте проекта ещё недостаточно документации по настройке программы. В будущем возможны и значительные изменения функциональности или структуры этого приложения. Но в целом, идеологически PackageKit произвёл положительное впечатление на сообщество линуксоидов. Поэтому рекомендую обратить на него внимание и тем, кто ещё не знаком с этим проектом.
Михаил АСТАПЧИК
Горячие темы