Обзор Pacman
Менеджер пакетов Manjaro, Pamac поставляется в большинстве редакций Manjaro. Все редакции Manjaro включают pacman — менеджер пакетов из предшествующего дистрибутива Arch Linux. Pacman включает некоторые расширенные возможности, которых нет в Pamac.
Ключевые моменты, которые следует знать:
- Pacman уже установлен в Manjaro Linux по умолчанию.
- Pacman в основном разрабатывается/поддерживается разработчиками Arch Linux
- Pacman можно использовать только из командной строки, если вы предпочитаете графический менеджер пакетов, пожалуйста, рассмотрите Pamac или Octopi.
- Pacman может использовать только официальные репозитории Manjaro. Для доступа к Arch User Repository(AUR), использования flatpaks и snaps имеются отдельные статьи.
Чтобы обновить базу данных пакетов и обновить все пакеты в системе
Принудительное полное обновление базы данных пакетов и обновление всех пакетов в системе. Это необходимо сделать при переключении ветвей или переключении зеркал.
Чтобы принудительно обновить базу данных пакетов, обновите все пакеты в системе и разрешите понижение версии пакетов. Понижение может быть необходимо только при переходе на более старую ветку. Например, при переходе с Testing на Stable.
To install the packages with the broken dependency or with the deadlock dependency. Two or more packages need to be updated and first is blocking second and second is blocking first one. Use carefully!
Для поиска доступных пакетов в репозиториях Manjaro можно использовать команду pacman -Ss ключ_слово . Она будет искать ключевое слово как в имени пакета, так и в его описании. Например, для поиска пакетов, содержащих ключевое слово smplayer, вы можете использовать:
Вы можете искать установленные пакеты таким же образом, используя -Qs вместо -Ss . Чтобы найти установленные пакеты для smplayer:
После того, как вы нашли пакет, вы можете использовать pacman -Qi для получения дополнительной информации об установленных пакетах или pacman -Si для пакетов в репозитории. Следуя приведенному выше примеру, вы можете использовать
Наконец, чтобы получить список всех установленных пакетов в вашей системе, введите следующую команду:
Предостережение Никогда не устанавливайте пакет без предварительного обновления системы. Для rolling release это может привести к незагружающейся системе
Для установки программного пакета основной синтаксис — pacman -S имя_пакета . Однако установка пакета без обновления системы приведет к ситуации частичного обновления, поэтому во всех примерах здесь будет использоваться pacman -Syu имя_пакета , которая установит пакет и обеспечит обновление системы. Например, для установки smplayer команда будет выглядить следующим образом:
Затем вам будет представлен список программ для установки. Вы можете заметить, что в этом списке больше пакетов, чем вы просили. Это связано с тем, что многие пакеты также имеют зависимости — пакеты, которые должны быть установлены для правильной работы выбранного вами программного обеспечения.
Pacman также может напрямую устанавливать пакеты из локальной системы или из места в Интернете. Формат такой команды — pacman -U /путь/к/пакету . Например, чтобы установить копию кэша пакетов, вы можете сделать следующее:
Кроме того, вы можете получить его непосредственно с одного из зеркал Manjaro:
user $ sudo pacman -U https://mirror.alpix.eu/manjaro/stable/community/x86_64/smplayer-19.5.0-1-x86_64.pkg.tar.xz COPY TO CLIPBOARD
Предостережение При использовании pacman -U вы должны убедиться, что устанавливаемый пакет полностью совместим с вашей системой
Предостережение При удалении пакетов всегда просматривайте список пакетов перед подтверждением. Если вы не будете осторожны, то легко можете удалить весь рабочий стол из-за зависимостей
Чтобы удалить пакет программного обеспечения, основной синтаксис — sudo pacman -R имя_пакета . Мы можем удалить пакет smplayer, который мы установили выше, с помощью:
Это удалит пакет, но оставит все зависимости. Если вы также хотите удалить ненужные зависимости, то можете использовать pacman -Rsu имя_пакета , как показано в этом примере:
Иногда, когда вы пытаетесь удалить пакет, то не можете этого сделать, потому что есть другие пакеты, зависящие от него. Вы можете использовать pacman -Rc имя_пакета для удаления пакета и всего, что от него зависит. При использовании этой опции обратите внимание на предупреждение, приведенное выше.
Самый ядерный вариант — pacman -Rcs имя_пакета . Это удалит все, что зависит от данного пакета и продолжит удалять его зависимости. Это действительно должно использоваться только в исключительных случаях, например, при удалении всего окружения рабочего стола и попытке не оставить ничего после себя.
Обычно Pacman также создает резервные файлы конфигурации при удалении пакетов. Чтобы удалить и их, вы можете добавить n к любому из приведенных выше примеров. Например:
Pacman Overview
Manjaro’s package manager, Pamac ships with most Manjaro editions. All Manjaro editions include pacman, the package manager from upstream Arch Linux. Pacman includes some advanced features not found in Pamac.
- Pacman is already installed in Manjaro Linux by default
- Pacman is mainly developed/maintained by Arch Linux developers
- Pacman can only be used from the command line, if you would prefer a graphical package manager please see Pamac or Octopi
- Pacman can only use the official Manjaro repository. There are separate articles available for accessing the Arch User Repository(AUR), using flatpaks and using snaps
To update the package database and update all packages on the system
To force a full refresh of the package database and update all packages on the system. You must do this when switching branches or switching mirrors.
To force a full refresh of the package database, update all packages on the system and allow packages to be downgraded. Downgrading should be only be needed when switching to an older branch. For example, switching from Testing to Stable.
To install the packages with the broken dependency or with the deadlock dependency. Two or more packages need to be updated and first is blocking second and second is blocking first one. Use carefully!
To search the Manjaro repositories for available packages you can use the command pacman -Ss keyword . It will search both the package name and the description for the keyword. For example, to search for packages containing the keyword smplayer you could use:
You can search your installed packages in the same manner using -Qs instead of -Ss . To search your installed packages for smplayer:
Once you have found a package you can use pacman -Qi to get more information about an installed packages or pacman -Si for packages in the repos. Following the example above you could use
Finally, for a list of all installed packages on your system, enter the following command:
Warning Never install a package without updating the system first. On a rolling release this can lead to an unbootable system
To install a software package, the basic syntax is pacman -S packagename . However, installing a package without updating the system will lead to a partial upgrade situation so all the examples here will use pacman -Syu packagename which will install the package and ensure the system is up to date. For example, to install smplayer the command is:
You will then be presented a list of software to install. You may notice this list has more packages than you requested. This is because many packages also have dependencies which are packages that must be installed in order for the software you selected to function properly.
Pacman can also directly install packages from the local system or a location on the internet. The format of that command is pacman -U packagelocation . For example, to install a copy of your package cache you could do something like:
Alternatively, you could get it directly from one of Manjaro’s mirrors:
user $ sudo pacman -U https://mirror.alpix.eu/manjaro/stable/community/x86_64/smplayer-19.5.0-1-x86_64.pkg.tar.xz COPY TO CLIPBOARD
Warning When using pacman -U it is up to you to ensure that the package you are installing is fully compatible with your system.
Warning Always review the package list before confirming when removing packages. If you are not careful you can easily remove your entire desktop due to dependencies.
To remove a software package, the basic syntax is sudo pacman -R packagename . We could remove the smplayer package we installed above with:
This will remove the package, but will leave all the dependencies behind. If you also want to remove the unneeded dependencies you could use pacman -Rsu packagename as seen in this example:
Sometimes when you try to remove a package you will not be able to because there are other packages which depend on it. You can use pacman -Rc packagename to remove a package and everything that depends on it. Be careful to heed the above warning when using this option.
The most nuclear option is pacman -Rcs packagename . This will remove everything that depends on packagename and continue to do so on its dependencies. This should really only be used in exceptional circumstances such as when removing an entire desktop environment and trying not to leave anything behind.
Pacman usually also creates backup configuration files when deleting packages. To remove those, you can add n to any of the examples above. For example: