Обзор Pacman

Revision as of 05:25, 7 August 2023 by Krotesk (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎русский • ‎中文 • ‎中文(中国大陆)‎

Обзор

Менеджер пакетов 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 имеются отдельные статьи.


Установка обновлений

Чтобы обновить базу данных пакетов и обновить все пакеты в системе

user $ sudo pacman -Syu COPY TO CLIPBOARD



Принудительное полное обновление базы данных пакетов и обновление всех пакетов в системе. Это может потребоваться при переключении ветвей или смене зеркал, чтобы избежать несогласованности метаданных. Несогласованность метаданных будет очевидна, если для некоторых пакетов вы получаете 404 Not Found.

user $ sudo pacman -Syyu COPY TO CLIPBOARD


Чтобы принудительно обновить базу данных пакетов, обновите все пакеты в системе и разрешите понижение версии пакетов. Понижение может быть необходимо только при переходе на более старую ветку. Например, при переходе с Testing на Stable.

user $ sudo pacman -Syyuu COPY TO CLIPBOARD


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!

user $ sudo pacman -Syudd COPY TO CLIPBOARD



Поиск пакетов

Для поиска доступных пакетов в репозиториях Manjaro можно использовать команду pacman -Ss ключ_слово. Она будет искать ключевое слово как в имени пакета, так и в его описании. Например, для поиска пакетов, содержащих ключевое слово smplayer, вы можете использовать:

user $ pacman -Ss smplayer COPY TO CLIPBOARD


Вы можете искать установленные пакеты таким же образом, используя -Qs вместо -Ss. Чтобы найти установленные пакеты для smplayer:

user $ pacman -Qs smplayer COPY TO CLIPBOARD



После того, как вы нашли пакет, вы можете использовать pacman -Qi для получения дополнительной информации об установленных пакетах или pacman -Si для пакетов в репозитории. Следуя приведенному выше примеру, вы можете использовать

user $ pacman -Si smplayer COPY TO CLIPBOARD



Наконец, чтобы получить список всех установленных пакетов в вашей системе, введите следующую команду:

user $ pacman -Ql COPY TO CLIPBOARD



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

Предостережение
Никогда не устанавливайте пакет без предварительного обновления системы. Для rolling release это может привести к незагружающейся системе

Для установки программного пакета основной синтаксис - pacman -S имя_пакета. Однако установка пакета без обновления системы приведет к ситуации частичного обновления, поэтому во всех примерах здесь будет использоваться pacman -Syu имя_пакета, которая установит пакет и обеспечит обновление системы. Например, для установки smplayer команда будет выглядить следующим образом:

user $ sudo pacman -Syu smplayer COPY TO CLIPBOARD


Затем вам будет представлен список программ для установки. Вы можете заметить, что в этом списке больше пакетов, чем вы просили. Это связано с тем, что многие пакеты также имеют зависимости - пакеты, которые должны быть установлены для правильной работы выбранного вами программного обеспечения.

Pacman также может напрямую устанавливать пакеты из локальной системы или из места в Интернете. Формат такой команды - pacman -U /путь/к/пакету. Например, чтобы установить копию кэша пакетов, вы можете сделать следующее:

user $ sudo pacman -U /var/cache/pacman/pkg/smplayer-19.5.0-1-x86_64.pkg.tar.xz COPY TO CLIPBOARD


Кроме того, вы можете получить его непосредственно с одного из зеркал 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, который мы установили выше, с помощью:

user $ sudo pacman -R smplayer COPY TO CLIPBOARD



Это удалит пакет, но оставит все зависимости. Если вы также хотите удалить ненужные зависимости, то можете использовать pacman -Rsu имя_пакета, как показано в этом примере:

user $ sudo pacman -Rsu smplayer COPY TO CLIPBOARD



Иногда, когда вы пытаетесь удалить пакет, то не можете этого сделать, потому что есть другие пакеты, зависящие от него. Вы можете использовать pacman -Rc имя_пакета для удаления пакета и всего, что от него зависит. При использовании этой опции обратите внимание на предупреждение, приведенное выше.

user $ sudo pacman -Rc smplayer COPY TO CLIPBOARD



Самый ядерный вариант - pacman -Rcs имя_пакета. Это удалит все, что зависит от данного пакета и продолжит удалять его зависимости. Это действительно должно использоваться только в исключительных случаях, например, при удалении всего окружения рабочего стола и попытке не оставить ничего после себя.


Обычно Pacman также создает резервные файлы конфигурации при удалении пакетов. Чтобы удалить и их, вы можете добавить n к любому из приведенных выше примеров. Например:

user $ sudo pacman -Rn smplayer COPY TO CLIPBOARD


user $ sudo pacman -Rsun smplayer COPY TO CLIPBOARD


user $ sudo pacman -Rcn smplayer COPY TO CLIPBOARD


Просмотр и удаление сирот

Перечислить все сироты - установленные пакеты, не используемые ничем другим и более не нужные:

user $ pacman -Qdt COPY TO CLIPBOARD



Для удаления всех сирот:

user $ sudo pacman -Rs $(pacman -Qdtq) COPY TO CLIPBOARD



Загрузка пакетов без установки

В некоторых случаях может быть полезно загрузить пакет без установки. Например, для установки на другую систему, не имеющую доступ к интернету. Это можно сделать с помощью команды pacman -Sw packagename. Например:

user $ sudo pacman -Sw smplayer COPY TO CLIPBOARD



Пакет и все необходимые зависимости будут загружены в ваш кэш pacman по адресу /var/cache/pacman/pkg.


Определение того, какой пакет владеет файлом

Часто бывает полезно узнать, какой пакет установил тот или иной файл в вашей системе. Это легко сделать с помощью pacman, используя pacman -Qo /путь/к/файлу. Например:

user $ pacman -Qo /usr/bin/smplayer COPY TO CLIPBOARD



Очистка кэша

Когда pacman устанавливает пакеты - он сохраняет копии всех старых пакетов, которые вы загрузили. Этот кэш может быть очень полезен, если вам нужно срочно установить старые версии пакетов. Однако, если не установить флажок, этот кэш со временем станет очень большим. Системы, работающие под управлением Pamac, уже имеют доступ к функциям автоматической очистки кэша pacman. Кэш также можно очистить вручную с помощью pacman.

Чтобы очистить кэш от пакетов, которые более не установлены, введите следующую команду:

user $ sudo pacman -Sc COPY TO CLIPBOARD



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

user $ sudo pacman -Scc COPY TO CLIPBOARD



Более безопасный способ удаления старых файлов кэша пакетов - удалить все пакеты, кроме трех последних версий, используя paccache:

user $ paccache -rvk3 COPY TO CLIPBOARD



Файл конфигурации pacman.conf

Настройки Pacman находятся в /etc/pacman.conf. Этот файл принадлежит root, пожалуйста, ознакомьтесь с этим руководством, если вам нужна дополнительная информация о том, как редактировать этот файл. Полное описание этих параметров можно найти в Arch Wiki по ссылке ниже. В этом разделе представлены некоторые настройки, которые могут представлять особый интерес для пользователей Manjaro.


Примечание
настройки в pacman.conf чувствительны к регистру

Включение цветного вывода

По умолчанию вывод pacman монохромный, но включение цветного вывода может сделать вывод более удобным для чтения, если ваш терминал поддерживает цвета. Это можно сделать, раскомментировав или добавив в файл следующую строку

Color

Показ Пакмана, поедающего энергетические пилюли

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

ILoveCandy

Устранение неполадок

Отдельная страница по устранению неполадок pacman доступна здесь.


Смотрите также