Synaptic в Xubuntu: общие сведения

Алексей Федорчук

2009-05-20

Эта заметка начинает серию, посвящённую графическим инструментам управления пакетами в дистрибутивах семейства Ubuntu на примере одного из его представителей — Xubuntu. Однако думается, что всё здесь сказанное имеет силу и для собственно Ubuntu, и для всех его сородичей и потомков (типа Mint'а) — за исключением вариантов, использующих KDE в качестве десктопа по умолчанию.

Так уж сложилось, что с самого начала своего линуксопользования и до недавнего времени я, в какой бы системе ни работал, использовал исключительно средства пакетного менеджмента, работающие из командной строки. Всякого рода YAST'ы и их аналоги из Mandrake/Mandriva, вроде rpmdrake, прошли мимо меня. В бытность пользователем deb-based дистрибутивов я вроде бы освоился с aptitude в интерактивном режиме (и даже сочинил нечто вроде статьи про неё), однако предпочтение всё равно отдавал режиму командному, о чём также отчитался. А когда возвращался к Ubuntu'идам после перерыва — оказывалось, что все приёмы работы с aptitude оказывались напрочь забытыми. И я обращался к старому доброму apt'у сотоварищи — по непонятной причине, его команды западали в память гораздо лучше.

Будучи пользователем Kubuntu, я было попробовал приобщиться графического менеджера пакетов, штатного для этого дистрибутива — Adept'а, но в те времена (2005-2006 годы) он не показывал чудес стабильности, и я это дело забросил.

Изменить моё отношение к графическим менеджерам пакетов заставил Zenwalk. Поначалу и в нём я пользовался исключительно netpkg в режиме командной строки. Пока однажды не обнаружил, что Xnetpkg — казалось бы, просто графическая надстройка над текстовой утилитой — почти во всех случаях удобнее, а кое в чём (например, в отношении поиска пакетов, в том числе обновлённых), как ни странно, и функциональнее.

Поэтому, окончательно утвердив на своём десктопе Xubuntu, после вполне неудачного эксперимента с конструированием посредством apt-get я решил обратиться к штатному пакетному менеджеру этого дистрибутива — synaptic'у. Поскольку он был унаследован от основного дистрибутива семейства — собственно Ubuntu, у него был репутация закалённого и отточенного орудия для управления пакетами; забегая вперёд, замечу, что репутация эта оказалась вполне заслуженной.

Итак, synaptic. Это — графический фронт-энд для утилит семейства apt (Advanced Packaging Tool), обычно используемых для работы с пакетами deb-формата, но частично могущих быть прикрученными и к пакетам rpm. Зародился synaptic, однако, не в лоне Ubuntu, и даже не в Debian: первые его версии были созданы в бразильском дистрибутиве Conectiva — том самом, разработчики которого впервые прикрутили apt-get для управления rpm-пакетами (под именем apt-rpm). Создателем synaptic'а был, насколько мне удалось выяснить, Альфредо Кодзима (Alfredo Kojima), а позднее им занимался Густаво Нимейер (Gustavo Niemeyer), оба бывшие тогда, на рубеже тысячелетий, сотрудниками фирмы Conectiva. И именно и исключительно фронт-эндом к apt-rpm и выступал synaptic в начальную пору своей жизни.

После покупки Connectiva фирмой Mandrakesof (в январе 2005 года) связка apt-rpm и synaptic была благополучно похерена в недрах объединённой Mandriva — в пользу собственных инструментов, urpmi и её надстройки rpmdrake. Однако сама идея оказалась очень продуктивной — и ещё в 2001 году и apt-rpm, и synaptic были инкорпорированы в первый дистрибутив, выпущенный только что образовавшейся фирмой Altlinux (в девичестве IPLabs Linux Team) — Linux Mandrake RE Spring 2001. С которого, собственно, и началось коренное отщепление будущих дистрибутивов Altlinux от прародительского Mandrake.

В том же 2001 году Michael Vogt (не зная его национальной принадлежности, транскрибировать фамилию не берусь) "дебианизировал" synaptic, приспособив его для работы с собственно deb-пакетами. Хотя Vogt и по сей день является основным майнтайнером upstream-версии пакета, среди пользователей Debian'а, насколько мне известно, он широкого распространения не получил — предпочтение здесь отдавалось сначала собственно apt-утилитам, а затем и поныне — aptitude.

Звёздный час synaptic'а наступил с появлением в октябре 2004 года первой версии Ubuntu. Будучи основанным на библиотеке Gtk, он сразу и гармонично вписался в GNOME-окружение этого дистрибутива, а в дальнейшем, в июне 200 года, был включён в состав его отпрыска — Xubuntu. На примере коего и будет рассмотрен в настоящей заметке. Хотя есть сильное подозрение, что всё сказанное относится и к собственно Ubuntu.

Как уже говорилось, synaptic — это интегрирующая надстройка над утилитами семейства apt и предоставляет все функции, обеспечиваемые командами apt-get и apt-cache, а именно:

  • поиск пакетов в репозиториях с определением их статуса;
  • их установку и обновление с автоматическим разрешением зависимостей;
  • удаление пакетов, в том числе и включая их зависимости;
  • обновление базы данных пакетов из репозитория;
  • тотальное обновление системы.
Кроме того, synaptic включает средства настройки — в частности, доступа к репозиториям, которые при использовании "чистого" apt'а выполняются обычно ручной правкой файла /etc/apt/sources.list.

Запуск synaptic'а выполняется через главное меню панели приложений (Система -> Менеджер пакетов synaptic) или через контекстное меню рабочего слота по щелчку правой кнопкой мыши (Приложения -> Система -> Менеджер пакетов synaptic).

Очевидно, что установка и удаление пакетов потребует прав администратора, запрос на получение каковых (посредством механизма sudo, то есть с вводом пользовательского пароля) и последует после вызова synaptic'а через меню. Если отказаться от ввода пароля, то synaptic запущен не будет.

Тем не менее, его можно запустить и от лица обычного пользователя — например, из командной строки терминала:

$ synaptic
В этом случае появится такое предупреждение:

Предупреждение об ограничении возможностей

Из которого явствует, что запущенный в пользовательском режиме synaptic можно использовать для поиска пакетов и получения информации о них. Тем не менее, нормальный режим работы synaptic'а — административный. И после ввода пароля пользователя (надо отметить, что по умолчанию во время появления панели для его ввода экран пригасает, а все управляющие элементы интерфейса блокируются) появляется окно примерно такого вида:

Synaptic - вид после запуска

Как явствует из скриншота, в окне synaptic'а мы имеем следующие основные элементы интерфейса:
  • строку меню;
  • панель инструментальных кнопок;
  • два главных фрейма — список разделов репозитория и список пакетов выбранного раздела (по умолчанию показываются все пакеты);
  • фрейм с кнопками выбора критериев для вывода пакетов;
  • фрейм свойств конкретного пакета.
Последний фрейм пуст, если в правом главном фрейме никакого выбора не было сделано, как на предыдущем скриншоте.

Если же таковой произвести — в правом нижнем фрейме мы увидим краткую характеристику пакета (на английском) и информацию о его поддержке (на русском): поддерживается ли данный пакет непосредственно разработчиками Caninical или сообществом пользователей Ubuntu:

Характеристика выбранного пакета

Если при этом нажать на кнопку Получить снимок экрана — то появится скриншот соответствующего пакета (буде таковой существует и имеет смысл):

Скриншот выбранного пакета в дополнение к его характеристике

Теперь пробежимся по критериям вывода пакетов. С группировкой пакетов по разделам всё более-менее ясно, тем более, что названия разделов почти все даны в русском переводе, а те немногие, что оставлены в оригинале (например, World Wide Web), и без перевода понятны. Следующий критерий отбора — по статусу пакетов. После нажатия соответствующей кнопки в левом главном фрейме выводятся следующие категории:
  • все;
  • не установленные;
  • установленные;
  • установленные (могут быть автоматически удалены).
С первыми тремя категориями ясно без комментариев. А вот четвёртая — самая интересная: это так называемые "осиротелые" (orphaned) компоненты, которые были установлены как зависимости пакетов, в дальнейшем удалённых, и потому ныне в системе не используемые:

Вывод списка «осиротелых» пакетов

При выводе пакетов по происхождению можно видеть такие категории, как:
  • main - полностью свободные пакеты, официально поддерживаемые разработчиками Ubuntu;
  • restricted - пакеты, также официально поддерживаемые дистрибутивом, но не вполне свободные;
  • universe - полностью свободные программы, официально дистрибутивом не поддерживаемые и развивающиеся силами независимых разработчиков;
  • multiverse - пакеты, аналогично universe официально не поддерживаемые и не вполне свободно распространяемые.

Вывод категорий пакетов по происхождению

Под не вполне свободными пакетами понимаются программы, распространение которых может быть полностью или частично ограничиваться патентами и законами некоторых отсталых стран — к счастью, Россия не принадлежит к их числу, и потому этот вопрос нас не волнует. Замечу только, что в категорию restricted, например, попадают проприетарные драйвера для видеокарт Nvidia и ATI/AMD (см. предыдущий скриншот), а в категорию multiverse — всякого рода мультимединые кодеки и фирменный флэш-плейер от Adobe. Что касается кнопок Специальные фильтры и Результаты поиска, то о них мы поговорим позднее.

А пока обратимся к спискам файлов, выводимых в правом главном фрейме. Если поглядеть на него внимательно, то слева можно увидеть две колонки иконок, причём вторая может либо изображать микро-логотип Ubuntu, либо быть пустой. Факт наличия микро-логотипа указывает, что данный пакет поддерживается официально разработчиками дистрибутива (сиречь фирмой Canonical, в некотором роде). А отсутствие пиктограммы во второй колонке говорит о том, что пакет либо поддерживается сообществом (точнее, некими конкретными его представителями), либо, в рамках дистрибутива, не поддерживается вообще.

Пиктограммы же первой колонки отражают статус пакет: установленный (зелёный квадратик), не установленный (квадратик не залитый) и так далее. Полную расшифровку значений пиктограмм можно получить через систему встроенной помощи: меню Справка -> Описание значков:

Расшифровка значений пиктограмм статуса пакетов

По щелчку правой кнопкой мыши на строке любого пакета вызывается контекстное меню:

Контекстное меню для установленного пакета

Их этого снапшота можно видеть, что для установленного пакета активизированы пункты:
  • отметить для повторной установки — то есть реинсталляции;
  • отметить для удаления — удаление данного пакета, без конфигурационных файлов;
  • отметить для полного удаления — удаление данного пакета вместе с его конфигами, но не затрагивая зависимостей;
  • свойства — его мы рассмотрим чуть позже.
Для пакета не установленного доступны пункты:
  • отметить для установки — понятно без комментариев;
  • свойства — то же самое, что и для установленного пакета;
  • отметить для установки рекомендуемые (recommended) и предлагаемые (suggest) пакеты — оба эти пункта зависят от общих настроек synaptic'а, и мы к ним ещё вернёмся.

Контекстное меню для неустановленного пакета

вперед