Воззрения кота Manual’а. Deb-пакеты. Часть 5. Synaptic

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

manul-logo-100Система управления пакетами Synaptic — интегрирующий графический фронт-энд для нескольких утилит семейства APT, обычно используемых для работы с пакетами deb-формата, а в некоторых дистрибутивах — и с пакетами rpm.

Введение

Как ни странно, Synaptic появился не в Debian, и вообще не в deb based системах: первые его версии были созданы в бразильском дистрибутиве Connectiva — том самом, разработчики которого впервые прикрутили apt для управления rpm-пакетами, назвав это дело apt-rpm. Создателем Synaptic’а был Альфредо Кодзима (Alfredo Kojima), а позднее им занимался Густаво Нимейер (Gustavo Niemeyer), оба являвшиеся тогда, на рубеже тысячелетий, сотрудниками фирмы Connectiva. И исключительно фронт-эндом к apt-rpm и выступал Synaptic в начальную пору своей жизни.

После покупки Connectiva фирмой Mandrakesof (в январе 2005 года) связка apt-rpm и Synaptic была благополучно похерена в недрах объединённой Mandriva — в пользу собственных инструментов, urpmi и rpmdrake. Однако сама идея оказалась очень продуктивной — и ещё в 2001 году Михаэль Фогт (Michael Vogt) «дебианизировал» Synaptic, приспособив его для работы с собственно deb-пакетами. Хотя Фогт и по сей день является основным майнтайнером upstream-версии пакета, среди пользователей Debian’а, насколько мне известно, он широкого распространения не получил — предпочтение здесь отдавалось сначала aptitude, а затем и поныне — собственно apt-утилитам.

Звёздный час Synaptic’а наступил с появлением в октябре 2004 года первой версии Ubuntu. Будучи основанным на библиотеке Gtk, он сразу и гармонично вписался в тогдашнее GNOME-окружение этого дистрибутива. И с темх пор в ряде случаев Synaptic оказывается самым эффективным средством для работы с пакетами.

Обзор

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

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

Кроме того, Synaptic включает средства настройки — в частности, доступа к репозиториям. В Mint для этой цели вызывается собственная утилита smintsource.

Штатный способ запуска Synaptic’а выполняется через главное меню, папример, в Cintu nfr: Администрирование -> Менеджер пакетов Synaptic или панели фаворитов:

dpkges-part_05_001

Очевидно, что установка и удаление пакетов потребует прав администратора, запрос на получение каковых (посредством механизма sudo, то есть с вводом пользовательского пароля) и последует после вызова Synaptic’а через меню:

dpkges-part_05_002

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

$ synaptic

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

dpkges-part_05_003

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

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

dpkges-part_05_004

Как явствует из скриншота, в окне Synaptic’а мы имеем следующие основные элементы интерфейса:

  • строку меню;
  • панель инструментальных кнопок;
  • два главных фрейма — список разделов репозитория и список пакетов выбранного раздела (по умолчанию показываются все пакеты);
  • фрейм с кнопками выбора критериев для вывода пакетов;
  • фрейм свойств конкретного пакета.

Последний фрейм пуст, если в правом главном фрейме не отмечен ни один пакет, как на предыдущем скриншоте. Но заполняется контентом при свершении выбора: в правом нижнем фрейме мы увидим описание пакета (если доступно, на русском)

dpkges-part_05_005

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

dpkges-part_05_006

А при правом клике на имени пакета появляется контекстное меню:

dpkges-part_05_007

Здесь-то, в пункте Свойства, и содержится информация о пакете. Во-первых, общие сведения о нём:

dpkges-part_05_008

Далее — перечень зависимостей:

dpkges-part_05_009

В следующей вкладке — список установленных файлов и путей к ним, доступный только для установленных пакетов:

dpkges-part_05_010

Перечень версий, доступных в подключённыхрепозиториях:

dpkges-part_05_011

И последнее — описание пакета

dpkges-part_05_012

Теперь рассмотрим критерии вывода пакетов. С группировкой пакетов по разделам всё более-менее ясно, тем более, что названия разделов почти все даны в русском переводе, а те немногие, что оставлены в оригинале (например, World Wide Web), и без перевода понятны:

dpkges-part_05_013

Следующий критерий отбора — по состоянию пакетов. После нажатия соответствующей кнопки в левом главном фрейме выводится список категорий, зависящий от текущего состояния системы, например, в таком виде:

dpkges-part_05_014

Происхождение пакетов фиксирует принадлежность пакетов к разделу официального репозитория или тому-или иному PPA-репозиторию:

dpkges-part_05_016

В числе специальных фильтров — списки пакетов, для которых доступны обновления, списки неустановленных рекомендаций для инсталлированных пакетов, и так далее:

dpkges-part_05_017

Название кнопки Результаты поиска говорит само за себя:

dpkges-part_05_019

И про целевую архитектуру пакетов всё понятно без комментариев:

dpkges-part_05_020

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

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

dpkges-part_05_021

А теперь вернёмся к контекстному меню. Из следующего скриншота скриншота можно видеть, что для установленного пакета активизированы пункты:

  • Отметить для повторной установки — то есть реинсталляции, аналог команды apt reinstall;
  • Отметить для удаления — удаление данного пакета с сохранением его конфигов, аналог команды apt remove;
  • Отметить для полного удаления — удаление данного пакета вместе с его конфигами, но не затрагивая зависимостей, аналог команды apt purge;
  • Свойства — его мы уже рассмотрели.

Кроме того, из того же контекстного меню можно отметить для установки рекомендации и предложения данного пакета:

dpkges-part_05_022

Для пакета не установленного по умолчанию доступны два пункта — Отметить для установки (аналог команды apt install) и всё те же Свойства. Активизация пунктов Отметить для установки… рекомендуемые и предлагаемые пакеты зависит от общих настроек Synaptic’а, к которым мы со временем вернёмся.

Подчеркну, что все отметки через контекстное меню не влекут за собой немедленной установки, обновления или удаления пакетов — эти действия будут выполнены только после надатия кнопки Применить.

Теперь двинемся вверх по основным элементам интерфейса главного окна Synaptic’а. Как уже говорилось, выше двух главных фреймов обнаруживается инструментальная панель, а на ней кнопки. Первой из них идёт кнопка Обновить — это ни что иное, как перечитывание базы репозиториев пакетов, тех, которые были определены в настройках (о чем будет говориться далее).

То есть, по простому, происходит выполнение команды apt update, замаскиврованное графическим интерфейсом. И за ходом процесса можно наблюдать воочию:

dpkges-part_05_023

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

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

О поиске через инструментальную панель стоит поговорить отдельно. Потому что систем поиска там… не сказать чтобы совсем две, но уж полторы точно. Во-первых, это поле Быстрый поиск, которое как раз и есть «в половинных», потому что имеется дялеко не во всех сборках Synaptic’а.

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

dpkges-part_05_024

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

dpkges-part_05_025

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

А вот кнопка Найти имеет место быть во всех сборках Sypatic’а. И она как раз и позволяет варьировать область поиска и его критерии:

dpkges-part_05_026

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

dpkges-part_05_027

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

Настройка

Как легко догадаться, за настройки Synaptic’а отвечает одноимённый пункт главного меню, содержащий подпункты:

  • Параметры;
  • Репозитории;
  • Фильтры;
  • Установить внутренний параметр;
  • Панель инструментов.

dpkges-part_05_028

Рассмотрим их последовательно.

Пункт Параметры (или Preferences) вызывает панель со множеством вкладок, позволяющих настроить общее поведение Synaptic’а:

  • Основное;
  • Столбцы и шрифты;
  • Цвета;
  • Файлы;
  • Сеть;
  • Дистрибутив.

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

dpkges-part_05_029

Например, Подтверждать изменения, которые могут подействовать на другие пакеты — разумеется, лучше держать эту опцию включённой, как оно и есть по умолчанию.

Важно также определиться с опцией Рассматривать рекомендуемые пакеты как зависимости, то есть считать их обязательными к установке. По умолчанию она включена, что совпадает с умолчальной конфигурацией утилиты apt, (как и в обычном apt. Так что если использовать apt и Sinaptic попеременно, лучше эту опцию не трогать — или изменить её и там, и там, во избежание путаницы.

Выпадающее меню Удаление пакетов определяет, удалять ли их полностью (аналогично команде apt purge), что установлено по умолчанию, или сохранять конфигурационные файлы (как при команде apt remove).

Меню пункта Обновить систему позволяет установить, использовать ли по умолчанию стандартное обновление, интеллектуальное (то есть с попыткой разрешения противоречий зависимостей) или выбирать метод обновления по запросу. Последнее время проблем с интеллектуальным обновлением, вроде, не отмечалось, так что можно остановиться на этом методе (тем более что он установлен по умолчанию).

В выпадающем меню Обновление устаревших сведений о пакетах можно выбрать пункты — Всегда спрашивать, Автоматически или Игнорировать. Представляется, что первая, умолчальная, будет лучшим выбором.

Во вкладке Столбцы и шрифты, во-первых, определяется набор колонок вывода информации о пакетах и их порядок. А во-вторых, указывается, использовать ли общесистемные шрифты, заданные глобально для всех приложений рабочей среды, или задать собственные, специально для Synaptic’а.

dpkges-part_05_030

Смысл установок во вкладке Цвета вполне очевиден:

dpkges-part_05_031

Во вкладке Файлы определяется, надо ли хранить в локальном кэше скачанные файлы пакетов, сохранять ли историю установок, а также задаётся время хранения файлов истории. Имеется и кнопка для принудительной очистки каталога /var/cache/apt/archives:

dpkges-part_05_032

Во вкладке Сеть при необходимости можно задать адреса прокси-серверов http и ftp, буде таковые используются:

dpkges-part_05_033

И, наконец, во вкладке Дистрибутив указывается режим обновления дистрибутива в рамках текущей версии — по умолчанию отмечен пункт Предпочитать версии из:, и в выпдающем меню выбран пункт текущего релиза (в данном случае — xenial):

dpkges-part_05_034

Далее в меню Настройки идёт пункт Репозитории. Выбрав его, можно, во-первых просмотреть список всех подключённых репозиториев, в том числе и неактивированных, и при необходимости — активировать что-либо из последних:

dpkges-part_05_035

Репозитории из списка можно удалить совсем (с помощью кнопки Delete). А можно ограничиться их временной деактивацией — и в ряде случае это имеет резоны

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

dpkges-part_05_036

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

Тем же образом можно добавлять и PPA-репозитории. В примере ниже это проделано для репозитория Цветко Цветкова, содержащего актуальную (на момент сочинения этих строк) версию Cinnamon 3.2. Обращаю внимание, что в поле URL заносится http-адрес репозитория, а не его PPA-имя, как при использовании команды add-apt-repository:

dpkges-part_05_037

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

dpkges-part_05_038

Смысл пункта Фильтры поиска (вспомним, что они фигурируют у нас среди кнопок левого нижнего фрейма главного окна Synaptic’а) в том, чтобы включить (или выключить) те или иные критерии поиска:

dpkges-part_05_039

В пункте Установить внутренний параметр можно задать некие переменные для Synaptic’а, и определить их значения. Впрочем, необходимости в этом я до сих пор не испытывал, и потому говорить не буду.

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

dpkges-part_05_040

На этом настройки Synaptic’а можно считать законченными. Как, впрочем, и вообще разговор о нём. А уж чем пользоваться на предмет управления пакетами, утилитой ли командной строки apt сотоварищи, или графической оболочкой Synaptic — следует решать по ситуации.

[Общее содержание]

Добавить комментарий