Менеджеры пакетов являются основой системы Linux. Только благодаря им вы можете установить и пользоваться новейшим программным обеспечением на своем рабочем столе. Pacman, сочетание слов «пакет» и «менеджер», является менеджером пакетов по умолчанию в системах на основе Arch.

Хотя Pacman довольно прост в освоении по сравнению с его аналогами, пользователям из других семейств дистрибутивов сложно адаптироваться к коротким аргументам Pacman, состоящим из одного символа. Итак, давайте взглянем на Pacman, его различные опции и то, как вы можете использовать его для управления пакетами в Arch Linux на профессиональном уровне.

Руководство по командам Pacman

Как и другие команды Linux, Pacman следует базовому синтаксису команд с некоторыми предопределенными флагами и аргументами:

sudo pacman -options pkgname

...где -options — это флаги, которые вы используете для вызова различных функций, а pkgname — это имя пакета(ов), с которым вы хотите работать.

Обновление пакетов с помощью Pacman

Когда вы устанавливаете Linux, первое, что вы должны сделать, это обновить установленные пакеты. Следующая команда Pacman синхронизирует установленные пакеты с репозиториями и обновит их, если доступны обновления:

sudo pacman -Syu

Чтобы обновить только определенный пакет, укажите имя пакета в качестве аргумента с флагом -S:

sudo pacman -S pkgname

И наоборот, вы также можете запретить обновление пакета в Arch Linux. Однако для этого вам потребуется отредактировать файл pacman.conf, расположенный в каталоге /etc.

Установка нового пакета

Чтобы добавить новые программы в вашу систему, вам необходимо установить пакеты из официальных репозиториев Arch. Флаг -S упрощает загрузку и установку пакетов. Основной синтаксис команды:

sudo pacman -S pkgname

Например, чтобы установить корневой пакет:

sudo pacman -S root

Укажите список пакетов через пробел, чтобы установить несколько пакетов с помощью одной команды:

sudo pacman -S pkgname1 pkgname2 pkgname3

Как и Ubuntu, Arch Linux также имеет несколько репозиториев, откуда вы можете получить свои пакеты. Если пакет с одинаковым именем доступен в нескольких репозиториях, выберите нужный, указав имя репозитория.

sudo pacman -S repo/pkgname

Чтобы установить пакет из репозитория «сообщества»:

sudo pacman -S community/pkgname

Для тех, кто хочет сохранить резервную копию определенных пакетов для последующего использования, вы можете загрузить пакет без его установки, используя флаг -Sw:

sudo pacman -Sw pkgname

Вы также можете загрузить и установить пакет напрямую, используя исходный URL-адрес пакета. Для этого используйте флаг -U и укажите ссылку на архив:

sudo pacman -U https://example.com/pkgname.pkg.tar.zst

Установка локального пакета с использованием архива

Иногда, когда вы не можете найти пакет в репозиториях Arch, вы можете загрузить его архив/архив из Интернета и установить его вручную с помощью Pacman.

Флаг -U позволяет вам локально установить пакет, используя загруженный архив:

sudo pacman -U /path/to/archive/pkgname.pkg.tar.zst

Обычно Pacman отслеживает установленные пакеты с помощью команды pacman -S pkgname и регулярно проверяет, доступно ли для них обновление. Но если вы устанавливаете пакет с помощью скачанного архива, вам придется вручную проверять наличие обновлений для пакета.

Поэтому рекомендуется скачивать пакеты из официальных репозиториев.

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

Если вы хотите понизить версию пакета, установив его из кэша пакетов, используйте следующий формат команды:

sudo pacman -U file://path/to/archive/pkgname.pkg.tar.zst

Поиск пакета для установки

Pacman позволяет искать пакеты в локальной базе данных, базе данных синхронизации и файловой базе данных с помощью клавиш -Q, -S и -F. флаги соответственно.

Если вы не знаете точное имя пакета, вы можете найти его в базе данных синхронизации, используя флаг -Ss.

sudo pacman -Ss query

Например: $ sudo pacman -Ss thytmbox

Чтобы найти пакет, уже установленный в вашей системе, используйте флаг -Qs:

sudo pacman -Qs query

Если вы хотите узнать больше о пакете перед его фактической установкой, используйте флаг -Si с командой:

sudo pacman -Si pkgname

Чтобы вывести список потерянных пакетов, т. е. установленных зависимостей, не требуемых ни одним пакетом в системе:

sudo pacman -Qdt

Вы можете комбинировать приведенную выше команду с командой pacman -Rns, чтобы освободить место в вашей системе следующим образом:

sudo pacman -Rns $(pacman -Qdt)

Удаление пакета

Если вы хотите удалить пакет, установленный с помощью Pacman, используйте параметр -R.

sudo pacman -R pkgname

Приведенная выше команда удалит только указанный пакет и сохранит его зависимости.
Чтобы удалить зависимости вместе с пакетом, добавьте к команде флаг -s:

sudo pacman -Rs pkgname

Если пакет, который вы хотите удалить, действует как зависимость от другого пакета, вы можете удалить оба пакета, используя дополнительный флаг -c:

sudo pacman -Rsc pkgname

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

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

sudo pacman -Rns pkgname

Освободите место, очистив кэш пакетов

Когда вы устанавливаете пакет с помощью Pacman, загруженные файлы не удаляются. Вместо этого он сохраняет их в кеше пакетов до тех пор, пока они не будут удалены пользователем. Это может привести к проблемам с нехваткой памяти, поскольку эти файлы кеша могут накапливаться и
занимать огромную часть вашей системной памяти. Чтобы это исправить, важно регулярно очищать кеш пакетов.

paccache -r

Вы можете сохранить только файлы кеша установленных пакетов и удалить остальные с помощью следующей команды:

pacman -Sc

Pacman против APT против DNF: сравнение

По сравнению с другими менеджерами пакетов, такими как APT или DNF, Pacman может быть сложным для новых пользователей из-за сложных, неинтуитивных флагов, используемых в командах. Но в этом и прелесть Pacman; вы можете делать все быстро, не вводя несколько строк команд в терминале. Давайте сравним команды для обновления и обновления пакетов с помощью APT и Pacman.

Если вы используете дистрибутив на основе Debian, вам нужно будет выполнить две команды для достижения этой цели:

sudo apt update
sudo apt upgrade

Вы также можете объединить две приведенные выше команды с помощью оператора &&, но он все равно не подходит по сравнению с его аналогом в Pacman:

sudo pacman -Syu

В целом, команды APT и DNF не требуют пояснений и просты для понимания новичками в Linux, в то время как команды Pacman лаконичны и позволяют сделать больше за несколько нажатий клавиш.

Шагая вверх! Изучение пользовательского репозитория Arch

Как вы, возможно, знаете, Pacman может получать пакеты только из официальных репозиториев Arch.

Но огромная доля пакетов находится в поддерживаемом сообществом Arch User Repository (AUR).

Чтобы установить пакеты из AUR, вам понадобится помощник AUR, такой как yay.

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

Статьи по данной тематике: