Алексей Федорчук
Система управления пакетами 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 или панели фаворитов:
Очевидно, что установка и удаление пакетов потребует прав администратора, запрос на получение каковых (посредством механизма sudo
, то есть с вводом пользовательского пароля) и последует после вызова Synaptic’а через меню:
Если отказаться от ввода пароля, то Synaptic таким способом запущен не будет. Однако его таки можно запустить и от лица обычного пользователя — из командной строки терминала или минитерминала прямой командой:
$ synaptic
В этом случае появится такое предупреждение:
Из которого явствует, что запущенный в пользовательском режиме Synaptic можно использовать для поиска пакетов и получения информации о них, но не для манипуляций с пакетами — соответствующие пункты меню или пиктограммы панели просто не будут активизированы.
Так что нормальный режим работы Synaptic’а — административный. И после ввода пароля пользователя можно будет видеть окно примерно такого вида:
Как явствует из скриншота, в окне Synaptic’а мы имеем следующие основные элементы интерфейса:
- строку меню;
- панель инструментальных кнопок;
- два главных фрейма — список разделов репозитория и список пакетов выбранного раздела (по умолчанию показываются все пакеты);
- фрейм с кнопками выбора критериев для вывода пакетов;
- фрейм свойств конкретного пакета.
Последний фрейм пуст, если в правом главном фрейме не отмечен ни один пакет, как на предыдущем скриншоте. Но заполняется контентом при свершении выбора: в правом нижнем фрейме мы увидим описание пакета (если доступно, на русском)
Если при этом нажать на кнопку Получить изображение экрана — то появится скриншот соответствующего пакета (буде таковой существует и имеет смысл):
А при правом клике на имени пакета появляется контекстное меню:
Здесь-то, в пункте Свойства, и содержится информация о пакете. Во-первых, общие сведения о нём:
Далее — перечень зависимостей:
В следующей вкладке — список установленных файлов и путей к ним, доступный только для установленных пакетов:
Перечень версий, доступных в подключённыхрепозиториях:
И последнее — описание пакета
Теперь рассмотрим критерии вывода пакетов. С группировкой пакетов по разделам всё более-менее ясно, тем более, что названия разделов почти все даны в русском переводе, а те немногие, что оставлены в оригинале (например, World Wide Web), и без перевода понятны:
Следующий критерий отбора — по состоянию пакетов. После нажатия соответствующей кнопки в левом главном фрейме выводится список категорий, зависящий от текущего состояния системы, например, в таком виде:
Происхождение пакетов фиксирует принадлежность пакетов к разделу официального репозитория или тому-или иному PPA-репозиторию:
В числе специальных фильтров — списки пакетов, для которых доступны обновления, списки неустановленных рекомендаций для инсталлированных пакетов, и так далее:
Название кнопки Результаты поиска говорит само за себя:
И про целевую архитектуру пакетов всё понятно без комментариев:
А теперь обратимся к спискам файлов, выводимых в правом главном фрейме. Если поглядеть на него внимательно, то слева можно увидеть две колонки пиктограмм. В первой из них отмечается текущее сосотяние пакета — установлен ли он, отмечен для установки или удаления, и так далее.
Наличие пиктограммы во второй колонке означает, что пакет поддерживается в офицальном репозитории, отсутствие — происхождение его из какого-либюо стороннего источника (например, из некоего PPA-репазитория). Полную расшифровку значений пиктограмм можно получить через систему встроенной помощи: меню Справка -> Описание значков:
А теперь вернёмся к контекстному меню. Из следующего скриншота скриншота можно видеть, что для установленного пакета активизированы пункты:
- Отметить для повторной установки — то есть реинсталляции, аналог команды
apt reinstall
; - Отметить для удаления — удаление данного пакета с сохранением его конфигов, аналог команды apt remove;
- Отметить для полного удаления — удаление данного пакета вместе с его конфигами, но не затрагивая зависимостей, аналог команды
apt purge
; - Свойства — его мы уже рассмотрели.
Кроме того, из того же контекстного меню можно отметить для установки рекомендации и предложения данного пакета:
Для пакета не установленного по умолчанию доступны два пункта — Отметить для установки (аналог команды apt install) и всё те же Свойства. Активизация пунктов Отметить для установки… рекомендуемые и предлагаемые пакеты зависит от общих настроек Synaptic’а, к которым мы со временем вернёмся.
Подчеркну, что все отметки через контекстное меню не влекут за собой немедленной установки, обновления или удаления пакетов — эти действия будут выполнены только после надатия кнопки Применить.
Теперь двинемся вверх по основным элементам интерфейса главного окна Synaptic’а. Как уже говорилось, выше двух главных фреймов обнаруживается инструментальная панель, а на ней кнопки. Первой из них идёт кнопка Обновить — это ни что иное, как перечитывание базы репозиториев пакетов, тех, которые были определены в настройках (о чем будет говориться далее).
То есть, по простому, происходит выполнение команды apt update
, замаскиврованное графическим интерфейсом. И за ходом процесса можно наблюдать воочию:
А по его завершении пакеты, для которых доступны обновления, автоматически помечаются как обновляемые. А для претворения обновлений в в действительность предназначена следующая кнопка, Применить — предложение выполнить над пакетами, отмеченными для установки, обновления или удаления, соответствующие действия.
Кнопка Свойства вызывает ту же самую панель, что и одноимённый пункт контекстного меню.
О поиске через инструментальную панель стоит поговорить отдельно. Потому что систем поиска там… не сказать чтобы совсем две, но уж полторы точно. Во-первых, это поле Быстрый поиск, которое как раз и есть «в половинных», потому что имеется дялеко не во всех сборках Synaptic’а.
Однако там, где оно имеется — предназначено для наращиваемого поиска в списке правого главного фрейма в соответствие с разделами, выбранными во фрейме левом. То есть, если в последнем выбрать раздел Все, а в поле ввести gnu
, мы получим список всех пакетов, содержащих эти символы в имени, в резюме или в описании:
Если же мы укажем точное (или предполагаемое) имя пакета (например, gnumeric), то получим список всех пакетов, непосредственно с ним связанных:
Обращаю внимание на последнюю строку в выводе результатов поиска на скриншоте: ни в имени этого пакета, ни в его кратком описании слова «gnumeric» мы не увидим. Потому что это пример поиска в полных описаниях — тех самых, которые выводятся в нижнем правом фрейме (или в закладке Общие панели Свойства).
А вот кнопка Найти имеет место быть во всех сборках Sypatic’а. И она как раз и позволяет варьировать область поиска и его критерии:
По умолчанию поиск проводится в именах пакетов и их описаниях. Однако область поиска можно ограничить только именами. Кроме того, поиск можно выполнять по имени майнтайнера пакета, номеру версии, зависимостям или предложениям:
Наконец, самый верхний интерфейсный элемент окна — строка главного меню. Однако на как раз на меню мы останавливаться не будем: смысл его пунктов в общих чертах понятен из названий, И к тому же по большей части они дублируются меню контекстным и кнопками инструментальной панели. Так что скажу-ка я лучше пару слов о настройке Synaptic’а.
Настройка
Как легко догадаться, за настройки Synaptic’а отвечает одноимённый пункт главного меню, содержащий подпункты:
- Параметры;
- Репозитории;
- Фильтры;
- Установить внутренний параметр;
- Панель инструментов.
Рассмотрим их последовательно.
Пункт Параметры (или Preferences) вызывает панель со множеством вкладок, позволяющих настроить общее поведение Synaptic’а:
- Основное;
- Столбцы и шрифты;
- Цвета;
- Файлы;
- Сеть;
- Дистрибутив.
Вкладка Основное, кроме внешнего вида (включение или выключение чекбокса о показе информации в главном окне), позволяет установить ряд очень важных параметров:
Например, Подтверждать изменения, которые могут подействовать на другие пакеты — разумеется, лучше держать эту опцию включённой, как оно и есть по умолчанию.
Важно также определиться с опцией Рассматривать рекомендуемые пакеты как зависимости, то есть считать их обязательными к установке. По умолчанию она включена, что совпадает с умолчальной конфигурацией утилиты apt, (как и в обычном apt
. Так что если использовать apt
и Sinaptic попеременно, лучше эту опцию не трогать — или изменить её и там, и там, во избежание путаницы.
Выпадающее меню Удаление пакетов определяет, удалять ли их полностью (аналогично команде apt purge
), что установлено по умолчанию, или сохранять конфигурационные файлы (как при команде apt remove
).
Меню пункта Обновить систему позволяет установить, использовать ли по умолчанию стандартное обновление, интеллектуальное (то есть с попыткой разрешения противоречий зависимостей) или выбирать метод обновления по запросу. Последнее время проблем с интеллектуальным обновлением, вроде, не отмечалось, так что можно остановиться на этом методе (тем более что он установлен по умолчанию).
В выпадающем меню Обновление устаревших сведений о пакетах можно выбрать пункты — Всегда спрашивать, Автоматически или Игнорировать. Представляется, что первая, умолчальная, будет лучшим выбором.
Во вкладке Столбцы и шрифты, во-первых, определяется набор колонок вывода информации о пакетах и их порядок. А во-вторых, указывается, использовать ли общесистемные шрифты, заданные глобально для всех приложений рабочей среды, или задать собственные, специально для Synaptic’а.
Смысл установок во вкладке Цвета вполне очевиден:
Во вкладке Файлы определяется, надо ли хранить в локальном кэше скачанные файлы пакетов, сохранять ли историю установок, а также задаётся время хранения файлов истории. Имеется и кнопка для принудительной очистки каталога /var/cache/apt/archives
:
Во вкладке Сеть при необходимости можно задать адреса прокси-серверов http и ftp, буде таковые используются:
И, наконец, во вкладке Дистрибутив указывается режим обновления дистрибутива в рамках текущей версии — по умолчанию отмечен пункт Предпочитать версии из:, и в выпдающем меню выбран пункт текущего релиза (в данном случае — xenial):
Далее в меню Настройки идёт пункт Репозитории. Выбрав его, можно, во-первых просмотреть список всех подключённых репозиториев, в том числе и неактивированных, и при необходимости — активировать что-либо из последних:
Репозитории из списка можно удалить совсем (с помощью кнопки Delete). А можно ограничиться их временной деактивацией — и в ряде случае это имеет резоны
Далее, с помощью кнопки New можно подключить какую-либо ветвь официального репозитория, указав его тип (бинарный или исходник) и просто заполнив соответствующие поля — в примере их значения даны для ветки proposed
:
Кстати, ветка proposed
— как раз пример одного из тех репозиториев, которые в обыденной жизни лучше держать в неактивном состоянии. Потому что иногда пакеты из него действительно нужны. Но их нахождение там — всегда явление временное: после тестирования они либо переходят в одну из основных веток, либо исключаются.
Тем же образом можно добавлять и PPA-репозитории. В примере ниже это проделано для репозитория Цветко Цветкова, содержащего актуальную (на момент сочинения этих строк) версию Cinnamon 3.2. Обращаю внимание, что в поле URL заносится http-адрес репозитория, а не его PPA-имя, как при использовании команды add-apt-repository
:
После довавления любого репозитория следует предложение обновить локальный кеш пакетов, не соглашаться с которым нет никаких резонов:
Смысл пункта Фильтры поиска (вспомним, что они фигурируют у нас среди кнопок левого нижнего фрейма главного окна Synaptic’а) в том, чтобы включить (или выключить) те или иные критерии поиска:
В пункте Установить внутренний параметр можно задать некие переменные для Synaptic’а, и определить их значения. Впрочем, необходимости в этом я до сих пор не испытывал, и потому говорить не буду.
Ну а с пунктом Панель инструментов всё проще некуда — здесь устанавливается вид её кнопок: в виде только значков, только текста или их комбинации; можно также скрыть инструментальную панель вообще:
На этом настройки Synaptic’а можно считать законченными. Как, впрочем, и вообще разговор о нём. А уж чем пользоваться на предмет управления пакетами, утилитой ли командной строки apt
сотоварищи, или графической оболочкой Synaptic — следует решать по ситуации.