В седьмой главе описывается Gslapt – графическая надстройка над утилитой slapt-get, рассказывается о её практическом применении и настройке. А также даётся общее заключение о целесообразности их параллельного применения, как взаимодополняющих инструментов для работы с пакетами.
Если утилиту slapt-get в какой то мере можно считать созданной по мотивам утилит семейства APT, то её графическая оболочка Gslapt – оригинальная разработка, созданная специально для Slackware. Однако как неотъемлемая часть системы она присутствует только в Salix (и Vector Linux).
В дистрибутиве Salix Gslapt устанавливается по умолчанию в обоих вариантах с графической средой. Он запускается из раздела Система главного меню через одноимённый пункт, предварительно запрашивая пароль пользователя. Что осуществляется через утилиту gksu – графическую надстройку над командами su и sudo (в данном случае, по понятным причинам, используется вторая).
Рисунок 7-1. Запрос пароля пользователя перед запуском Gslapt
Первое действие, требуемое после запускаGslapt – запрос на получение списка пакетов для подключённых репозиториев. Причём это необходимо в любом случае – даже если этот список уже был получен ранее консольной утилитой slapt-get (почему – будет сказано в разделе о настройке Gslapt).
После этого Gslapt выглядит примерно таким образом:
Рисунок 7-2. Gslapt: первый запуск
По умолчанию в верхнем фрейме выведен список всех пакетов из подключённых репозиториев, вне зависимости от их статуса. Нижний же фрейм содержит вкладки, в которых отображаются:
• общие сведения о пакете – краткая характеристика, статус и приоритет. версия, репозиторий и так далее;
• описание пакета;
• зависимости, если они были определены майнтайнером;
• список изменений, если имеются;
• список файлов пакета и путей к ним, доступный, если пакет установлен.
Через кнопки инструментальной панели доступны три действия:
обновление списка пакетов, которое желательно проводить при каждом запуске Gslapt;
• отметка всех пакетов, для которых обновления доступны;
• выполнение действий над отмеченными пакетами – до нажатия этой кнопки никаких изменений в системе (обновления пакетов, их установки, удаления и так далее) не происходит; в «реальном времени» обновляются только данные о репозиториях.
Гораздо более богатые возможности представляет меню Gslapt. Через пункт Файл можно обновить локальный кеш пакетов, отметить пакеты с доступными обновлениями и устаревшие пакеты, а также выполнить все «заказанные» операции. Второй и третий подпункты требуют внимания, о чём я подробнее скажу в следующем разделе.
В пункте Правка имеются подпункты Снять все отметки (в некоторых случаях очень востребованная опция) и Настройки, о которых пойдёт речь позднее.
Через пункт Просмотр, как легко догадаться, можно изменить режим вывода списка пакетов, что можно сделать и горячими клавишами: F2 выведет список пакетов, доступных для установки,F3 – пакетов установленных, F4 – отмеченных для выполнения какого-либо действия, F5 – пакетов, для которых в данный момент имеются обновления; нажатие F1 вернёт вывод всех пакетов.
В пункте Пакет собраны действия, доступные в Gslapt – то есть цели (target) в терминах slapt-get (см. главу пятую) - в зависимости от статуса пакета, зафиксированного в данный момент курсором. Например, для неустановленного пакета активизировано единственное действие – Установить (точнее, пока только отметить для установки):
Рисунок 7-3. Gslapt: первый запуск
Пакет установленный всегда можно переустановить или удалить:
Рисунок 7-4. Gslapt: отметка пакета для переустановки или удаления
В соответствующих случаях установленный пакет можно обновить или, напротив, «откатить» до предыдущей версии.
Все действия над пакетами, доступные через главное меню, можно выполнить также из контекстного меню по правой кнопке мыши. Кроме того, они дублируются горячими клавишами, о которых я скажу в следующем разделе.
Наконец, в пункте Помощь, во-первых, всегда можно освежить в памяти условные обозначения, применяемые в Gslapt для обозначения статуса пакетов:
Рисунок 7-5. Gslapt: легенда для обозначения статуса пакетов
Во-вторых, можно просмотреть списки изменений во всех подключённых репозиториях:
Рисунок 7-6. Gslapt: списки изменения в репозиториях
Ну и, как всегда, из подпункта О программе можно уточнить номер версии Gslapt и вспомнить о его авторе:
Рисунок 7-7. Gslapt: о программе
Ознакомившись в общем с возможностями программы, рассмотрим приёмы её практического применения.
Начнём со случая действий над единичными пакетами. Каковые обычно начинаются с их поиска. Отыскать нужный пакет проще всего с помощью строки Search, где вводится символьная последовательность, совпадения с которой будут искаться в именах пакетов, их резюме и описаниях. То есть она не обязана быть именем файла или его частью (хотя знание точного имени существенно упрощает дело), однако может содержать маски типа* или?.
Поиск в Gslapt не инкрементный, по завершении ввода достаточного (по мнению применителя) количества символов, следует нажать Enter. Например, набрав в строке поиска слово geany и нажав Enter, мы получим список всех пакетов, имеющих отношение к этому текстовому редактору:
Рисунок 7-8. Поиск пакетов
Для каждого из найденных пакетов можно просмотреть его общие свойства и описание:
Рисунок 7-9. Описание найденного пакета
Если пакет установлен, для него доступен список содержащихся в нём файлов, с указанием их положения в файловой иерархии:
Рисунок 7-10. Список файлов найденного пакета
Вкладки Зависимости и Список изменений для данного пакета могут не содержать ничего. И на практике часто так оно и бывают – их наполнение зависит от желания его майнтайнера.
В строке поиска можно указать и пакеты, установленные с помощью pkgtools (см. главу пятую, а также собранные из слакбилдов, о которых пойдёт речь в следующей части. Однако для них во вкладке общих свойств не будет указан источник, тогда как для пакетов, установленных с помощью slapt-get или Gslapt в качестве такового указывается один из штатных репозиториев дистрибутива.
Далее, как уже говорилось в предыдущем разделе, к найденному пакету могут быть применены предусмотренные программой Gslapt действия: Установить (Control+I), Переустановить (Control+E), Обновить (Control+U), Установить старое (то есть предыдущую версию, Control+D) и Удалить (Control+R). Комбинация клавиш Control+N снимает с пакета сделанную отметку. Выполнение действий над отмеченными файлами происходит только после нажатия кнопки Выполнить, через пункт меню Файл -> Выполнить или комбинацией клавиш Control+Enter.
Некоторые пакеты, вне зависимости от их статуса, например, различные варианты сборки ядра, отмечены соответствующим значком (расшифровку его смысла см. на рис. 5). И для них не активизирован ни один пункт контекстного меню (или меню Пакет). Это так называемые исключения (EXCLUDE), о которых говорилось в главе шестой (и к которым мы ещё вернёмся в заключительном разделе):
Рисунок 7-11. Пакеты-исключения
Пакеты, входящие в список исключений, средствами Gslapt нельзя ни удалить, ни обновить, ни переустановить без некоторых дополнительных действий. Или это можно сделать из командной строки утилитой slapt-get с указанием опции --ignore-excludes.
Как помнится по главе пятой, утилита slapt-get может не только устанавливать, обновлять и удалять отдельные пакеты, но и обновлять систему в целом. Разумеется, на это способен и Gslapt: достаточно любым способом (горячими клавишами Control+A, через главное или контекстное меню) отметить все пакеты, для которых доступны обновления, после чего нажать Control+Enter или экранную кнопку Выполнить.
Система исключений, о которых говорилось ранее (см. главу шестую) и будет говориться ещё, практически гарантирует от неожиданностей, вроде внепланового обновления ядра. Однако не помешает внимательно посмотреть предлагаемый список пакетов, которые будут обновлены в результате этой операции:
Рисунок 7-12. Список пакетов, предназначенных к обновлению
Возможно, для каких-то из них пакетов списка обновление окажется нежелательным – например, для пакетов, пересобранных собственноручно. Правда, такие пакеты лучше заранее внести в список исключений: список обновляемых пакетов может быть или принят, или отвергнут целиком, коррекция его «по ходу дела» невозможна.
Правда, ничто не может помешать удалить из списка исключений тот или иной компонент – правда, я очень сомневаюсь в том, что это нужно делать. А вот возможность пополнить список – иногда может понадобиться, например, при наличии собственноручно модифицированных пакетов, которые следует сохранять при обновлении системы..
В Salix имеется и возможность автоматического отслеживания обновлений – она носит название Slapt-update-service, устанавливается и активизируется по умолчанию при первичной инсталляции системы. После чего представляет собой пиктограмму в системном лотке управляющей панели Xfce. О наличии обновлений сообщает всплывающая подсказка при наведении на неё курсора мыши. После чего щелчок мышью вызывает панель с предложением эти обновления выполнить:
Рисунок 7-13. Предложение автоматического обновления
Если согласиться с этим предложением – последует запрос пароля пользователя (см. рис. 7-1), после чего будет запущен Gslapt, который выведет список обновляемых пакетов, точно такой же, как на рис. 7-12. И к которому применимо всё, что было сказано относительно обновления непосредственно из Gslapt.
От автоматического отслеживания обновлений можно отказаться вообще: для этого достаточно исключить Slapt-update-service из списка системных служб. Как – будет рассказано в главе 10.
В общем обзоре Gslapt я упомянул о возможности отметить для удаления устаревшие пакеты. Вот здесь надо быть ещё более внимательным, чем при обновлении. Потому что в список устаревших пакетов попадут не только действительного таковые, но и, например, все пакеты, собранные из слакбилдов (о которых будет рассказано в следующей части). А вот их-то удалять совсем не стоит. Так что использовать отметку устаревших пакетов нужно только в информационных целях, а удалять их по одному вручную, дабы не потерять результаты труда по поиску нужных слакбилдов и их компиляции.
Я уже упоминал, что в Gslapt интегрирована настройка всей этой системы управления пакетами – та самая, которая в предыдущей главе выполнялась в «ручном режиме». Для чего в пункте Правка главного меню предусмотрен одноимённый подпункт, вызываемый также клавишной комбинацией Control+P.
Прежде чем переходить собственно к описанию настройки, подчеркну: Gslapt использует те же самые конфигурационные файлы и рабочие каталоги, что и slapt-get. Поэтому результаты «ручной» их правки, выполненной в текстовом редакторе, будут влиять на его работу. И наоборот: переопределение параметров конфигурирования, выполненное в графическом интерфейсе Gslapt, отразится на поведении консольного slapt-get. Именно поэтому, в частности, при совместном использовании обоих инструментов рекомендуется выполнять процедуру обновления локального кеша при каждом запуске того и другого.
А теперь собственно о конфигурировании в графическом интерфейсе. Вызываемая одним их упомянутых выше способов панель настройки содержит четыре вкладки. В первой можно переопределить рабочий каталог всей системы, в частности, локального кеша пакетов:
Рисунок 7-14. Определение рабочего каталога Gslapt
Чего, впрочем, без очень веских оснований делать не стоит – а оснований таких, как уже говорилось в предыдущей главе, я не вижу. А вот возможность очистить локальный кеш время от времени может оказаться востребованной – в частности, при смене версии дистрибутива.
Вкладка Исключения содержит список этих самых EXCLUDE, который по умолчанию выглядит так:
Рисунок 7-15. Список исключений
Ну а как с этим списком целесообразно обращаться – было сказано в главе шестой.
Вкладка Репозитории в наглядном виде воспроизводит соедержание третьей секции файла /etc/slapt-get/slapt-getrc:
Рисунок 7-16. Репозитории
Удалять здесь нечего, изменять – тоже, разве что задействовать другое зеркало. Что можно сделать также очевидным способом через добавление с последующим удалением старого:
Рисунок 7-17. Добавление репозитория
А к подключению сторонних репозиториев, не относящихся к проекту Salix, следует относиться с осторожностью – впрочем, об этом уже было сказано в предыдущей части.
Наконец, последняя вкладка панели настроек – проверка GPG-ключей:
Рисунок 7-18. Проверка GPG-ключей
Это – разовая операция, и для подключенных при установке репозиториев она была выполнена. Так что обращаться к этой вкладке придётся только в случае подключения репозитория нового. При этом надо учитывать, что некоторые репозитории, приведённые в списке, GPG-ключей не содержат. Это не препятствует их использованию в Salix'е, но вызывает соответствующие сообщения, могущие смутить умы.
Можно видеть, что Gslapt по своему функционалу, как и следовало ожидать, полностью повторяет консольную утилиту slapt-get (ибо является надстройкой над ней). И при этом включает в себя функции настройки, которая иначе реализуется прямым редактированием конфигурационных файлов, и проверки обновлений, которая в slapt-get не предусмотрена. Кроме того, все возможности по работе с пакетами в Gslapt предстают в очень наглядной форме.
Тем не менее, Gslapt не столько заменяет, сколько дополняет консольное средство:slapt-get быстрее и проще в использовании. Кроме того, все действия по получению информации о пакетах в нём могут быть выполнены с правами обычного пользователя.
Так что краткий итог моего затянувшегося обзора таков: slapt-get и Gslapt целесообразно применять параллельно, по ситуации. Нужно только помнить о взаимовлиянии их настроек и всегда начинать работу с ними с обновления локального кеша.