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

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

Эта заметка начинает серию, посвящённую графическим инструментам управления пакетами в дистрибутивах семейства 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-пакетами. Хотя Фогт и по сей день является основным майнтайнером 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’а, и мы к ним ещё вернёмся.

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

Пункт Свойства контекстного меню вызывает панель со следующими закладками:

  • Общее;
  • Зависимости;
  • Установленные файлы;
  • Версии;
  • Описание.

Во вкладке Общее выводятся такие сведения, как имя пакета, его статус, приоритет, принадлежность к разделу, номера версий — установленной (при соответствующем статусе) и доступной из репозитория:

 Свойства пакета — вкладка Общее

Вкладка Зависимости, как легко догадаться, выводит имена пакетов, от которых зависит данный, и номера их версий — в грамотно собранном пакете указывается минимально возможная и выше.

 Свойства пакета — вкладка Зависимости

Во вкладке Установленные файлы выводится список всех компонентов данного пакета с их полными путями:

 Свойства пакета — вкладка Установленные файлы

Очевидно, что её содержание отображается только для установленных пакетов.

Во вкладке Версии, разумеется, указывается номер версии данного пакета и партийная кличка версии дистрибутива, для которого он собран (в примере подразумевается Лихой Кролень):

 Свойства пакета — вкладка Версии

Наконец, во вкладке Описание приводится то же самое, что содержится в правом нижнем фрейме окна synaptic’а — и также с возможностью отображения скриншота программы, буде таковой имеется:

 Свойства пакета — Описание

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

 Свойства пакета — Описание: скриншот недоступен

Подчеркну, что все действия через контекстное меню не влекут за собой немедленной установки, обновления или удаления пакетов: на каждое из них будет в дальнейшем запрошено подтверждение.

Теперь двинемся вверх по основным элементам интерфейса главного окна synapеic’а. Как уже говорилось, выше двух главных фреймов обнаруживается инструментальная панель, а на ней кнопки:

  • Обновить — это ни что иное, как перечитывание базы данных репозиториев пакетов, тех, которые были определены в настройках (о чем будет говориться далее):

    Обновление базы данных пакетов репозиториев

  • Отметить для обновления — апгрейд всех пакетов, версии которых изменились после выполнения предыдущего действия; список таких пакетов будет выведен на отдельной панели:

    Список пакетов, подлежащих апгрейду

  • Применить — предложение выполнить над пакетами, отмеченными для установки, обновления или удаления, соответствующие действия, ещё раз предваряемое выводом списка пакетов, подлежащих экзекуции:

    Проверка списка пакетов, отмеченных для исполнения над ними действий

  • кнопка Подробнее на этой панели позволит увидеть, с каких версий до каких будет произведён апгрейд:

    Подробности о версиях обновляемых пакетов

  • Свойства — вызывает ту же самую панель, что и пункт Свойства контекстного меню.

О поиске стоит поговорить отдельно. Поле Быстрый поиск предназначено для обычного наращиваемого поиска в списке правого главного фрейма в соответствие с разделами, выбранными во фрейме левом. То есть, если в последнем выбрать раздел Все, а в поле ввести gnu, мы получим список всех пакетов, начинающихся с этих символов:

 Наращиваемый поиск по первым символам

Если же мы укажем точное (или предполагаемое) имя пакета (например, gnumeric), то получим список всех пакетов, непосредственно с ним связанных:

 Наращиваемый поиск связанных пакетов

Обращаю внимание на последнюю строку в выводе результатов поиска на скриншоте: ни в имени этого пакета, ни в его кратком описании слова gnumeric мы не увидим. Ибо быстрый поиск осуществляется также и в полных описаниях — тех самых, которые выводятся в нижнем правом фрейме (или в закладке Общие панели Свойства).А вот кнопка Найти как раз и позволяет варьировать область поиска и его критерии:

 Панель поиска

Как видно из скриншота, по умолчанию поиск проводится в именах пакетов и их описаниях. Однако обасть поиска можно ограничить только именами. Кроме того, поиск можно выполнять по имени майнтайнера пакета, номеру версии, зависимым или предоставляемым (suggest) пакетам:

 Определение области и критериев поиска

Наконец, самый верхний интерфейсный элемент окна — строка главного меню. Однако на как раз на меню мы сейчас останавливаться не будем: смысл его пунктов в общих чертах понятен из названий, а о деталях мы поговорим, когда приступим к практическому использованию synaptic’а. Каковое составит предмет следующей заметки.

Synaptic в Xubuntu: общие сведения: 3 комментария

  1. Отлично написано.

    Я, кстати, тоже сначала пользовался aptitude (и чем дальше, тем больше в режиме ком. строки), но сначала использовал синаптик для поиска, потом для генерации списка закачек, а потом и для всего. :)

    Кстати, в нём ещё довольно удобно сделана история установок.

  2. Мне как то с самого начала моего покрения deb систем: ubuntu 7.10->debian etch->ubuntu 8.04-8.10->debian lenny гуй был не нужен, я себе в bashrc прописал алиасы нужные и без проблем всё быстро делаю

  3. 2 StraNNicK
    > в нём ещё довольно удобно сделана история установок
    ___
    Ага, я про неё в следующей заметке хочу написать

Обсуждение закрыто.