Antergos и управление пакетами: Pamac

Antergos и управление пакетами: Pamac

В прошлом очерке речь шла о пакетном менеджере CLI — pacman‘е, предназначенном для работы с официальными репозиториями Arch’а. И вскользь говорилось о дополнительных инструментах CLI — wrapper’ах и helper’ах для работы с AUR. Нынешний же очерк посвящён интегрированном средству, решающему обе эти задачи. Это — пакетный менеджер Pamac, представляющий собой графический фронт-энд (или, по простому, «морду») к библиотеке libalpm (ArchLinux Package Management Library). Которая, кстати, обеспечивает также функционал утилиты pacman и некоторых дополнительных к ней инструментов, например, yaourt.

Обзор

Пакетный менеджер Pamac — PKGBUILD, входящий в репозиторий AUR, из которого может быть установлен в любом клоне Arch’а. Однако в Antergose он как бинарник включён в одноимённый раздел официального репозитория, и устанавливается по умолчанию при первичной инсталляции.

В пакет Pamac входит несколько отдельных утилит, две из которых pamac-manager и pamac-updater, можно запустить непосредственно из секции Администрирование главного меню среды Cinnamon. В русифицированной её версии они выступают под именами Установка и удаление программ и Обновление программ, соответственно. Кроме того, pamac-updater можно вызвать щелчком по пиктограмме в трее управляющей панели Cinnamon. Доступ к прочим утилитам (pamac-installer, pamac-clean-cache) осуществляется через главное окно pamac-manager‘а (в дальнейшем для простоты будем называть его просто Pamac). Которое после запуска программы (кстати, пароль на доступ к правам администратора при запуске не запрашивается) выглядит так:

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

Приёмы работы

Обычно операции с пакетами начинаются с их поиска. Поиск в Pamac’е инкрементный и сохраняющий историю:

С найденными пакетами всё просто — из контекстного меню по ПКМ установленные пакеты можно отметить для удаления:

А неустановленные, как легко догадаться, отметить для установки:

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

и список входящих в пакет файлов:

За «один присест» для удаления и/или установки можно отметить произвольное количество пакетов — в разумных пределах, разумеется. Совмещение этих операций за один заход также не возбраняется.

Сама операция удаления или установки свершается после нажатия кнопки Применить, ввода пароля на получение прав администратора и согласия с удалением или установкой зависимостей:

Установка и удаление бинарных пакетов из официальной ветки репозитория происходит ничуть не медленней, нежели аналогичные операции в pacman‘е. Что и не удивительно, ибо в обоих случаях совершаются одни и те же действия. А вот сборка пакетов из AUR’а происходит на локальной машине. И потому очень зависит от её мощности. И от сложности пакета, разумеется, и количества его зависимостей. Хотя по возможности зависимости устанавливаются из бинарников официальной ветки, но нужные пакеты там могут и отсутствовать.

Настройка

Однако, прежде чем заниматься установкой или удалением пакетов, не худо уделить некоторое время настройке Pamac’а, выбрав соответствующий пункт меню. И начав, разумеется, с вкладки Главное. Здесь имеет смысл включить пункты Удалить ненужны зависимости и Проверка доступного дискового пространства (по умолчанию они выключены):

Включение автоматического обновления — по желанию, мы с Мануалом не включаем. А вот к списку пропускаемых обновлений сейчас вернёмся — после рассмотрения вкладки AUR. Где, во-первых, можно включить поддержку этой ветки репозитория — если она не была включена при инсталляции системы. При желании можно и переопределить каталог для размещения промежуточных продуктов, возникающих при сборке пакетов из PKGBUILD‘ов:

Главный же вопрос тут — прямо гамлетовский: проверять ли обновления AUR или не проверять? По умолчанию ответ на него отрицательный: как говорилось в очерке о репозиториях, PKGBUILD‘ы, успешно собравшиеся в первый раз, вполне могут отказаться это делать при их обновлении. Такая незадача особенно вероятна для git-версий, которые подчас по разным причинам приходится использовать. Так что, казалось бы, к раз установленному git-пакету лучше относиться как к Гондурасу — то есть не трогать его без необходимости.

Однако есть и другое решение этой проблемы — внести такие «потенциально проблемые» пакеты в тот самый список исключений, который только что упоминался. Для чего надо вернуться на главную вкладку, нажать на «плюсик» и выбрать исключаемые пакеты на панельке с их списком:

Наконец, во вкладке Кэш можно задать количество сохраняемых в кэше предыдущих версий пакетов, задать удаление из кэша только деинсталлированных пакетов, а также очистить кэш:

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

Фильтры

Напоследок любопытства ради рассмотрим фильтры сайдбара. Тем более что некоторые из них не только любопытны, но и полезны. Правда, с фильтрами Категории и Группы всё ясно без комментариев. Фильтр Репозитории выводит список их официальной ветки. Где любопытно поглядеть, какие пакеты входят в собственный репозиторий antergos, и какие из них установлены в системе:

А вот фильтр Установлено как раз и принадлежит к числу полезных. Ибо субфильтр Неиспользуемые как раз и выведет список «осиротелых» зависимостей, которые в большинстве случаев подлежат безжалостному истреблению — после их просмотра, разумеется:

А субфильтр Сторонние даст список пакетов, установленных из «неофициальных» источников, в нашем случае — из AUR’а:

Однако в него попали бы пакеты из любых более иных сторонних репозиториев, которых, как оказалось, достаточно много. Например, Repo-ck с ядрами Linux, пропатченными знаменитым кардиохирургом Коном Коливасом (Con Kolivas). Тем самым, который рекомендовал перед их использованием принять немножечко коньяку. Или — репозиторий Archlinux.fr, регулярно обновляемый и потому популярный в определённых кругах. Но об этом со временем будет, надеюсь, отдельный разговор.

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

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

Осталось только решить, какому из средств управления пакетами отдать предпочтение — CLI’шному pacman‘у с дополнительными инструментами или универсальному Pamac’у. Что будет темой следующего очерка.

Antergos и управление пакетами: Pamac: 3 комментария

  1. Из репозитория AUR попытка установить WPS Office завершилась ошибкой — нехватка свободного места.
    Оказалось, что архивы из репозитория AUR распаковываются и обрабатываются в каталоге /tmp, имеющем ограничение размером в 1 ГБ. В убунтоидах указанный каталог ограничен размером корневого раздела, если система устанавливалась единым корневым разделом. Меня озадачило это тем, что на корневом разделе доступно 7,7 ГБ, а программу поставить невозможно. Стоит задача снятия ограничения размера /tmp.
    Также хотелось бы выяснить, есть ли возможность устанавливать программу из архива подобно Gdebi.

  2. Решение об изменении размера каталога /tmp найдено на wiki.archlinux.org.
    В статье разъясняется, что умолчанию раздел TMPFS имеет максимальный размер, установленный от половины всей оперативной памяти, но это можно настроить. Обращается внимание, что фактическое потребление памяти/подкачки зависит от того, на сколько она заполняется, так как разделы TMPFS не потребляют память до тех пор, пока это будет на самом деле необходимо.
    Поскольку у меня ОЗУ 2 ГБ, /tmp — 1 ГБ. Чтобы увеличить /tmp, с правами суперпользователя открыла для редактирования /etc/fstab.
    В конец текста открывшегося файла вставила строку: tmpfs /tmp tmpfs nodev,nosuid,size=2G 0 0

    Сохранила файл и после перезагрузки проверила каталог /tmp. Он увеличился в два раза! 🙂
    В результате без проблем установила WPS Office с русской локализацией.

  3. Татьяна, только я собрался писать о проблемах установки файлов из AUR с этим ограничением на /tmp и путями его решения, как обнаружил Ваш комментарий. Вы — настоящая дама: всегда предвосхищаете события.
    Так, теперь перейдём к вопросам решения этой проблемы (и средствами описанного пакета pamac тоже).
    Безусловно, одним из них является работа с /tmp и fstab.
    Есть топорное решение в виде скачивания «инструкций» (снимка) для сборки непосредственно со страницы какого-либо пакета. К примеру, amanda, правый угол с возможностями работы с пакетом. Нам нужен пункт «Download snapshot» («Загрузить снимок», если вы переключили язык отображения на русский). По умолчанию он попадает в каталог Загрузки (Downloads, если вы избавились от кириллицы в названиях каталогов, за что ратует Алексей — что я, к слову, поддерживаю: меньше проблем в дальнейшем). Прямо там же его можно распаковать в отдельную директорию, пусть даже вложенную в Загрузки, благо архиватор Арча натаскан на бесчисленное количество архивов различных форматов. После чего вход в эту директорию средствами GUI — через менеджер файлов, или через командную строку. В первом случае придется добавить сочетание клавиш Ctrl+Alt+T либо выбор «Открыть в терминале» из контекстного меню. Далее, для обоих случаев нужно
    makepkg -sri

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

    сборка пакетов из AUR’а происходит на локальной машине

    только теперь мы не ограничены рамками /tmp.
    Ну а если вернуться к теме очерка, а именно — к pamac, то более значимой для нас будет другая цитата:

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

    А так как в AUR есть не только небольшие пакеты, но и такие монстры, как WPS Office, Draftsight, PaleMoon (да-да, им ещё пользуются, он прекрасно работает под Linux, но в Арче требует много времени и дискового пространства на сборку), то вы, перопределив каталог сборки (на тот же Загрузки-Downloads), спокойно выводите сборку таких вот монстров с зависимостями из под ограничений /tmp. Что и является, на мой взгляд, лучшим решением для пользователей, предпочитающих графический интерфейс системы.

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