Linux Mint и его Cinnamon. Очерки применителя. Часть 7

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

Управление пакетами: Synaptic

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

Введение

Как ни странно, Synaptic появился не в Debian, и вообще не в deb based системах: первые его версии были созданы в бразильском дистрибутиве Connectiva — том самом, разработчики которого впервые прикрутили apt-get для управления 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’а, насколько мне известно, он широкого распространения не получил — предпочтение здесь отдавалось сначала собственно apt-утилитам, а затем и поныне — aptitude.

Звёздный час Synaptic’а наступил с появлением в октябре 2004 года первой версии Ubuntu. Будучи основанным на библиотеке Gtk, он сразу и гармонично вписался в тогдашнее GNOME-окружение этого дистрибутива. А с возникновением в ноябре 2006 года Mint был включён в состав этого дистрибутива, чтобы с тех пор верой и правдой служить во всех его вариантах, включая даже KDE-редакцию. И, хотя здесь он «снизу» подпирается собственной, чрезвычайно функциональной реализацией apt, а «сверху» перекрывается Менеджером программ, в ряде случаев Synaptic оказывается самым эффективным средством для работы с пакетами.

Обзор

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

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

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

Запуск Synaptic’а выполняется через главное меню панели приложений (Администрирование -> Менеджер пакетов Synaptic) или любым другим традиционным для Mint способом.

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

synaptic_001

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

$ synaptic

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

synaptic_002

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

synaptic_003

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

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

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

synaptic_004

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

synaptic_005

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

synaptic_006

Здесь-то, в пункте Свойства, и содержится главная информация о пакете — общие сведения

synaptic_007

перечень зависимостей

synaptic_008

список установленных файлов и путей к ним (доступно только для установленных пакетов)

synaptic_009

доступные версии

synaptic_010

и, наконец, описание пакета

synaptic_011

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

  • Все;
  • Не установленные;
  • Не установленные (остались файлы настроек);
  • Установленные;
  • Установленные (вручную);
  • Установленные (локально или устаревшие);
  • Установленные (обновляемые).

synaptic_012

По происхождению пакеты разделяются на установленные локально (то есть с инсталляционного носителя или предварительно скачанные на диск) и из различных репозиториев — rebecca, trusty, PPA и так далее:

synaptic_013

Про архитектуру всё понятно без комментариев — их нынче осталось всего ничего.

Что касается кнопок Специальные фильтры и Результаты поиска, то о них мы поговорим позднее.

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

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

synaptic_014

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

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

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

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

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

synaptic_015

Здесь же можно наблюдать за ходом процесса попакетно:

synaptic_016

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

synaptic_017

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

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

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

synaptic_018

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

synaptic_019

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

synaptic_020

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

synaptic_021

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

Настройка

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

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

synaptic_022

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

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

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

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

synaptic_023

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

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

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

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

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

Прочие опции данной вкладки ясны из приведённого выше скриншота.

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

synaptic_024

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

synaptic_025

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

synaptic_026

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

synaptic_027

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

synaptic_028

Пункт меню Репозитории, как уже упоминалось, самостоятельного значения не имеет — через него просто вызывается фирменная утилита mintsource.

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

synaptic_029

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

synaptic_030

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

synaptic_031

На этом настройки Synaptic’а можно считать законченными. Как, впрочем, и вообще разговор о нём. Ибо, на мой взгляд, практическое применение этой программы в Mint весьма ограничено: для манипуляций с единичными пакетами эффективней apt в его «фирменной» реализации, для обыденных обновлений проще использовать mintupdate, а для глобального обновления при смене версий дистрибутива — опять же обратиться к apt dist-upgrade. Единственное, для чего я иногда использую Synaptic — это для удаления пакетов, и исключительно в силу большей наглядности процесса. Хотя и здесь есть альтернатива, о которой сейчас расскажу.

Удаление пакетов: нетрадиционный метод

Среда Cinnamon в Mint предлагает несколько неожиданный метод удаления пакетов — не проверял, имеет ли он место быть в других средах и дистрибутивах. А именно — правым кликом на имени программы вызывается контекстное меню:

remove_032

В котором легко видеть пункт Удалить. И это не удаление пункта из меню, что можно сделать в редакторе последнего, а именно удаление пакета (после запроса пароля), вместе со всеми теми, что от него зависят:

remove_033

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

$ apt autoremove

Описанный метод по наглядности, как мне кажется, превосходит удаление через Synaptic. Хотя он не очень удобен для массового удаления пакетов (например, после стандартной инсталляции), так как каждый пакет надо удалять индивидуально, да ещё и вводя пароль на каждый чих. Так что в этой ситуации лучше воспользоваться «традиционным» методом — командой apt purge. Однако для удаления единичных пакетов, тем более поставленных «на посмотреть», он подходит как нельзя лучше. Таким образом я удаляю пакеты, устанавливавшиеся в экспериментальных целях и не оправдавшие ожиданий. А также просто те, на которые упал глаз как ненужные после стандартной инсталляции.

Оглавление

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