- Pacman Commands Cheat Sheet for Arch Linux
- Updating and Upgrading Arch Linux
- Install Package(s) in Arch Linux
- Remove Package(s) in Arch Linux
- Query Package(s) in Arch Linux
- Arch Linux Pacman Cheat Sheet
- Практические примеры использования pacman
- Установка группы пакетов
- Удаление пакетов
- Обновление пакетов
- Запросы к базам данных пакетов
- Очистка кэша пакетов
Pacman Commands Cheat Sheet for Arch Linux
One uniqueness or key identifier of different Linux distributions is in the package manager they use to update, install, configure, and uninstall various targeted software packages. In Arch Linux, the package manager is called Pacman.
This tutorial seeks to walk you through some commonly used and unique Pacman commands that will make your Arch Linux interaction and experience easier and much more memorable.
It is highly advisable to be a root user or have Sudoer user privileges on your Arch Linux system to fully benefit from what the Pacman command has to offer.
Updating and Upgrading Arch Linux
If you only want to update the software database of your Arch Linux system, go with the following command:
To update and upgrade your Arch Linux system, go with the following command:
Install Package(s) in Arch Linux
If you have a specific package called an apache web server in mind that you wish to install, it is advisable to first search for the availability of the package. This step is useful because some Linux OS distributions identify common packages differently.
To install an identified package, adhere to the following command:
Supposing you have a local package or one that you have downloaded from a website and wish to install it, you need to adhere to the following command.
$ sudo pacman -U /path/to/your/installable/package
For all repo-based packages re-installation (during emergencies), implement the following command.
$ sudo pacman -Qnq | pacman -S -
Remove Package(s) in Arch Linux
To remove or uninstall a specific Arch Linux installed package, adhere to the following command.
$ sudo pacman -R name_of_package
To remove or uninstall an Arch Linux package together with its dependencies not tied to other active packages, reference the following command syntax:
$ sudo pacman -Rs name_of_package
To uninstall a specific Arch Linux package, remove its global configuration, and avoid its orphaned dependencies, use the following command syntax.
$ sudo pacman -Rns name_of_package
Query Package(s) in Arch Linux
You might wish to retrieve some information about an installed package. The command syntax to use is as follows:
$ pacman -Qi name_of_package
For the apache package we installed earlier, we can get the following info about it:
We can also query about an installable package and its associated dependencies via the command syntax:
$ sudo pacman -Sii name_of_package
To list installed packages, execute the command:
Arch Linux Pacman Cheat Sheet
Following are the list of commonly used commands for the Pacman package manager in Arch Linux.
Command | Description |
sudo pacman -Syy | Update package list |
sudo pacman -Syu | Update and upgrade all |
sudo pacman -S pkgname | Install specific package |
sudo pacman -Ss keyword | Find available packages |
sudo pacman -Qs keyword | Find available local packages |
sudo pacman -Ql pkgname | List all files from a package |
Sudo pacman -Rsc pkgname | Uninstall a package |
sudo pacman -Qii pkgname | List information on package |
With the Pacman command cheat sheet, you should be comfortable enough to take your Arch Linux OS experience to the next level.
Практические примеры использования pacman
Для установки одного пакета или списка пакетов (включая зависимости) используйте следующую команду:
pacman -S имя_пакета1 имя_пакета2 .
Для установки списка пакетов при помощи поиска по регулярному выражению (смотрите раздел Операции и синтаксис Bash и эту ветку форума):
pacman -S $(pacman -Ssq регулярное_выражение)
Если пакет имеет несколько версий в разных репозиториях (например, в extra и testing), можно указать, откуда именно следует установить пакет:
Установка группы пакетов
Некоторые пакеты объединены в группы пакетов, и они могут быть установлены одновременно. Например, при выполнении команды:
вам будет предложено выбрать пакеты из группы gnome, которые вы хотели бы установить.
Некоторые группы содержат большое количество пакетов, и среди них могут быть всего несколько нужных или ненужных вам. Вместо того, чтобы вводить все необходимые вам номера, иногда удобнее выбрать или исключить отдельные числа или диапазоны чисел при помощи приведенного ниже синтаксиса:
Enter a selection (default=all): 1-10 15
— будут выбраны все пакеты в диапазоне с 1 по 10, а также 15;
Enter a selection (default=all): ^5-8 ^2
— будут выбраны все пакеты, кроме входящих в диапазон с 5 по 8, а также 2.
Чтобы увидеть список пакетов, принадлежащих к группе gnome, выполните:
Перечень доступных групп пакетов можно изучить, посетив https://www.archlinux.org/groups/.
Обратите внимание: Если пакет в списке уже установлен, он будет переустановлен даже если была установлена последняя версия. Это поведение можно изменить опцией —needed.
Удаление пакетов
Для удаления пакета без удаления установленных зависимостей:
Для удаления пакета со всеми зависимостями, не используемыми другими установленными пакетами:
Для удаления пакета, его зависимостей и всех пакетов, зависящих от целевого пакета:
Важно: Эта операция рекурсивна и должна использоваться с осторожностью, так как появляется риск удалить много потенциально необходимых пакетов.
Для удаления пакета, который требуется другому пакету, без удаления зависимого пакета:
pacman создает резервные копии конфигурационных файлов удаляемых приложений и добавляет к ним расширение .pacsave. Если вы хотите удалить и эти файлы, используйте ключ -n:
Обратите внимание: pacman не удаляет конфигурационных файлов, созданных самими приложениями (например, скрытые файлы (имя которых начинается с точки) в вашем домашнем каталоге).
Обновление пакетов
pacman может обновить все пакеты системы одной командой. Это может занять длительное время в зависимости от того, насколько свежие пакеты установлены в вашей системе. Следующая команда выполнит одновременно синхронизацию локальной базы данных репозиториев и обновление вашей системы (не будут обновлены ‘локальные’ пакеты, отсутствующие в настроенных репозиториях):
Важно: В связи с тем, что Arch является постоянно обновляемым дистрибутивом, пользователям следует помнить, что после или в процессе обновления могут возникнуть непредвиденные трудности. Поэтому обновляться следует с осторожностью. Это означает, что если, например, ожидаются большие изменения или нововведения в обновляемых пакетах, то обновлять систему лучше тогда, когда у вас будет достаточно свободного времени и вы будете готовы к решению возможных проблем.
Запросы к базам данных пакетов
pacman с помощью флага -Q может искать пакеты в локальной базе данных:
а с помощью флага -S — в базе данных, синхронизированной с репозиториями:
pacman умеет искать пакеты в базе данных как по названиям, так и по описаниям:
pacman -Ss условие1 условие2 .
Для поиска среди установленных пакетов:
pacman -Qs условие1 условие2 .
Для отображения подробной информации об указанном пакете:
и для установленных пакетов:
Использование сразу двух флагов -i позволит просмотреть список резервных копий файлов и список измененных файлов:
Для получения списка файлов установленного пакета:
Для неустановленных пакетов используйте pkgfile.
Чтобы проверить наличие файлов, установленных пакетом:
Использование сразу двух флагов k выполнит более тщательную проверку.
Чтобы узнать, какому пакету принадлежит нужный файл:
pacman -Qo /путь/к/файлу/имя_файла
Для получения списка пакетов, которые больше не требуются как зависимости (пакеты, которые могут быть безопасно удалены или «осиротевшие» пакеты):
Для отображения пакетов, которые были установлены явно и от которых не зависят другие пакеты:
Для отображения зависимостей в виде дерева:
Для получения списка пакетов, которые зависят от конкретного установленного пакета, можно использовать утилиту whoneeds из состава пакета pkgtools:
или pactree c флагом -r:
Очистка кэша пакетов
pacman сохраняет скачиваемые пакеты в каталоге (/var/cache/pacman/pkg/) и не удаляет их файлы автоматически, поэтому следует время от времени самостоятельно чистить этот каталог, чтобы предотвратить его разрастание.
Есть встроенная опция для удаления из кэша всех пакетов, не установленных на данный момент:
Делайте это только в том случае, если у вас есть определенная уверенность, что установленные пакеты стабильны и вам не потребуется откат версии, поскольку данная команда удалит все старые версии из каталога кэша, оставив только те, которые установлены в системе на данный момент. Сохранение более старых версий пакетов может пригодиться в тех случаях, когда обновление приводит к неправильной работе системы или отдельных программ. Если не следовать этому совету, может возникнуть ситуация, в которой пользователь будет вынужден использовать альтернативный источник устаревших пакетов, такой как Arch Rollback Machine.
Также есть возможность полностью очистить каталог кэша при помощи команды pacman -Scc, однако ее использование считается плохой практикой, так как, в дополнение к вышесказанному, в случае необходимости вы не сможете переустановить пакет непосредственно из директории кэша, и вам придется скачивать его заново. Настоятельно не рекомендуется использовать эту команду, за исключением случаев, когда у вас есть острая потребность в освобождении дискового пространства.
В связи с приведенными выше предостережениями рекомендуется использовать специальный скрипт для более гибкой установки того, какие и как много пакетов будут удалены из кэша:
Команда paccache, предоставляемая пакетом pacman, по умолчанию удаляет из кэша все версии каждого пакета, кроме трех недавно использовавшихся:
Однако, в этом случае paccache не будет проверять, установлен ли пакет на данный момент, оставляя удаленные пакеты в кэше. Для удаления из кэша всех версий удаленных пакетов придется запустить команду еще раз с другими опциями:
Для просмотра всех опций смотрите paccache -h.
Альтернативный вариант — использование пакета pkgcachecleanAUR из AUR: