- Знакомство с менеджером Pacman в Archlinux
- Установочные пакеты в Archlinux
- Преимущества Pacman перед ручной сборкой программы
- Основные команды Pacman для работы с пакетами
- Установка пакетов ArchLinux
- Общее описание технологии
- История разработки ArchLinux
- Установка пакетов в ArchLinux
- Установка пакетов ArchLinux
- Установка пакетов Pacman
- Установка пакетов из AUR
- Графический интерфейс Pacman
- Выводы
Знакомство с менеджером Pacman в Archlinux
Ранее мы уже говорили про установку пакетов в дистрибутивах Linux при помощи терминала. В этих же статьях неоднократно упоминалось про то, что чаще всего установочные файлы в Linux представлены либо DEB, либо RPM-пакетами, для установки которых используются пакетные менеджеры apt или dnf.
Особняком от этой классической «пары» стоит дистрибутив Archlinux. Программы в нем устанавливаются из архивов, но при этом сборка исходников происходит без участия пользователя. Всю работу выполняет менеджер пакетов Pacman, про который и пойдет сегодня речь.
Установочные пакеты в Archlinux
Пакетный менеджер Pacman работает с пакетами, которые распространяются в виде архива. В статье про установочные форматы файлов в Linux говорилось, что такой формат является одним из первых появившихся, помимо упомянутых выше DEB и RPM-пакетов.
Внутри такого установочного архив находятся скомпилированные файлы приложения, метаданные о нем (например, имя, версия, зависимости и т. д.), установочные файлы и директивы для пакетного менеджера, и, по желанию разработчика, могут быть дополнительные файлы, которые упрощают жизнь пользователя (например, сценарии запуска или остановки).
Преимущества Pacman перед ручной сборкой программы
Опять-таки ранее мы учились устанавливать программы их архивов. Но тогда вручную нужно было архив распаковать, скомпилировать и собрать исходники. Pacman делает тоже самое, только оперирует уже скомпилированными файлами, которые собирает в пакет без прямого участия пользователя.
Если в результате компиляции или сборки пакет не обнаружит какой-либо зависимости, то выдаст ошибку и установка будет прервана. Pacman «подтягивает» необходимые зависимости из интернета и не требует от пользователя их ручной установки.
Кроме того, чтобы обновить программу, собранную из исходников, нужно удалить старую версию программу и установить новую (т. е. повторить процесс распаковки, компиляции и сборки). Pacman же следит за появлением новых обновлений и производит все процедуры самостоятельно.
Если вы захотите удалить пакет через Pacman, то он сделает это «чисто», то есть, не оставит в системе мусора в виде зависимостей и уже ненужных пакетов.
Основные команды Pacman для работы с пакетами
Пока что мы познакомимся только с основными командами, которые рядовой пользователь Archlinux использует практически постоянно.
- sudo pacman -S — установка пакета.
- sudo pacman -R — удаление пакета с сохранением зависимостей.
- sudo pacman -Rs — удаление пакета вместе с ненужными зависимостями.
- sudo pacman -Rn — по-умолчанию Pacman хранит копии конфигурационных файлов удаляемых пакетов, данная команда удаляет пакет вместе с этими копиями.
- sudo pacman -Syu — обновление всей системы, при этом стоит помнить, что если система не обновлялась достаточно давно, то процесс может занять значительное время (среди арчеводов, вроде, ходят шутки про боязнь обновления системы после нескольких лет не обновляемого ее использования).
- sudo pacman -Ss — осуществляет поиск пакета и выводит результаты по имеющимся репозиториям, показывает есть ли указанный пакет среди установленных.
Перечисленные пять команд являются основными, но не единственными. Кроме того, есть ряд команд, связанных с удалением, которые при неосторожном обращении могут повредить системе, поэтому в рамках знакомства про них ничего не сказано. Также хочу напомнить, что дистрибутив Archlinux нельзя назвать рекомендуемым для новичков в мире Linux, так как работа с ним требует некоторого опыта и знаний. Тем не менее, думаю, что материал статьи окажется полезным тем, кто планирует переход на Archlinux или сделал это недавно. Про преимущества этого дистрибутива я рассказывал в отдельной статье.
Также знаю, что среди подписчиков есть арчеводы. Думаю, что в комментариях они либо дополнят этот пост, либо внесут какие-либо коррективы, либо поделятся тем, что можно рассказать про Pacman в рамках следующих статей.
Установка пакетов ArchLinux
Все существующие дистрибутивы Linux для того, чтобы осуществлять операции по обновлению ПО и библиотек ОС в основном используют пакетные менеджеры. Пакетный менеджер является ключевой программой, который зачастую и отличает различие одного дистрибутива Linux от другого.
Общее описание технологии
Пакетный менеджер pacman является основным признаком дистрибутива ArchLinux. Archlinux pacman предназначен для установки программ и пакетов в дистрибутиве ArchLinux. pacman оперирует пакетами, которые, как и в случае с другими пакетными менеджерами представляют из себя бинарные архивы, содержащие некоторые данные для установки.
Pacman сам по себе может использоваться не только в ArchLinux и его производных, но и в прочих дистрибутивах. Возможна адаптация pacman для использования RPM, а также пакетов прочего типа, несовместимого со стандартным ArchLinux.
Pacman, как и RPM имеет возможность загрузки части пакета при обновлении. При работе pacman зачастую значительно быстрее обрабатывает транзакции, нежели это делает DPKG или RPM.
История разработки ArchLinux
Первые версии ArchLinux на самом деле являлись просто некоторой сборкой LFS, содержащим набор скриптов для сборки и развертывания дистрибутива. Очень долго, для установки самого дистрибутива pacman вообще не использовался, установочный образ содержал специализированную программу, называемую Arch Install Frimewere (AIF).
Сам по себе, дистрибутив в первых своих версиях содержал примитивную скрипт-сборочную пакетную систему, называемую Arch Build System (ABS). Суть такой примитивной пакетной системы заключался в предоставлении быстрого и удобного метода сборки пакетов из исходного кода. Но это не то, что хотел иметь собственно разработчик Arch Linux. По этой причине была разработана утилита pacman, которая и предназначалась для оперирования с уже собранными бинарными пакетами. ABS затем была переназначена для того, чтобы заниматься сборкой пакетов для pacman.
В дальнейшем, ABS в Archlinux позволил создать пользовательский репозиторий рецептов для сборки пакетов, называемый AUR. Из AUR возможна установка пакетов ArchLinux, которых нет даже в официальных репозиториях.
Установка пакетов в ArchLinux
Установка пакетов ArchLinux, их обновление, а также их удаление как мы уже поняли выше, осуществляются при помощи pacman. Данная утилита достаточно проста. Рассмотрим команды ее синтаксис:
$ sudo pacman [опция]
Вот основные опции программы, которые мы будем использовать:
- -S – установка программ в archlinux;
- -Sw — скачать пакет но не устанавливать;
- -U — установить локальный пакет;
- -s – поиск пакета;
- -i – информация;
- -u – обновить пакеты;
- -y – обновить списки пакетов из репозиториев;
- -dd – игнорирование зависимостей;
- -g – запрос информации о группе;
- -l – вывод пакетов в виде списка;
- -o – вывод в файл;
- -R – удаление;
- -Q – запрос к базе данных установленных пакетов;
- -F – поиск по файлам;
- -D – задание и изменение цели установки уже имеющегося пакета;
- -R — удалить пакет;
- -Rn — удалять резервные копии конфигурационных файлов;
- -Rs — удалять зависимости пакета;
Это основные опции, которые будут применяться в этой инструкции.
Установка пакетов ArchLinux
Сначала рассмотрим как выполняется установка программ ArchLinux с помощью Pacman из официальных репозиториев, а потом остановимся на пользовательском репозитории AUR. Теперь рассмотрим основные команды pacman archlinux.
Установка пакетов Pacman
Опции для pacman при использовании комбинируются в одну фразу, таким образом, например, для обновления репозиториев и обновления ОС команда будет выглядеть так:
Порядок расстановки опций значения не имеет, за исключением только того, что основной ключ, указывающийся большой буквой должен быть первым.
Установка конкретного пакета:
Удаление конкретного пакета:
Принудительное удаление конкретного пакета, с игнорированием зависимостей:
sudo pacman -Rdd [имя пакета]
Поиск пакета в репозиториях:
Получение информации о пакете:
Поиск только среди установленных пакетов:
Просмотр списка всех установленных пакетов:
Просмотр списка файлов пакета:
Установка пакетов из AUR
К сожалению, не все пакеты есть в официальных репозиториях, многие вам придется искать пакеты на стороне. Большинство пакетов уже собраны и подготовлены пользователями в репозитории AUR. Для этого можно использовать пакет pacaur. Его можно установить командой:
curl -o install.sh https://gist.githubusercontent.com/Tadly/0e65d30f279a34c33e9b/raw/pacaur_install.sh
$ sudo sh install.sh
Теперь вы можете использовать те же опции что и в утилите pacman в pacaur чтобы пользоваться AUR, например, поиск пакета:
Графический интерфейс Pacman
Для любителей пользоваться графическим интерфейсом вместо терминала в ArchLinux есть утилита pamac. Это простой менеджер приложений, чем-то похожий на стандартный менеджер приложений Ubuntu:
Для установки пакета достаточно открыть для него контекстное меню и нажать «Установить»:
Удаление пакетов выполняется тем же образом.
Выводы
В этой статье мы рассмотрели как выполняется установка пакетов ArchLinux различными способами. А также немного поговорили про историю разработки дистрибутива.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.