Поиск по сайту:

Начало работы с Pacman в Arch Linux

Pacman, расшифровывается как Package Manager, представляет собой простой и стандартный инструмент управления пакетами командной строки на основе библиотеки для Arch Linux и его производных. Это позволяет нам легко устанавливать, удалять, обновлять и обновлять пакеты вместе со всеми необходимыми зависимостями. Короче говоря, Pacman будет поддерживать вашу систему Arch Linux в актуальном состоянии, синхронизируя пакеты с удаленным главным сервером. Pacman обычно использует формат пакета .pkg.tar.xz и написан на языке программирования C.

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

В этом уроке я покажу вам, как использовать pacman для установки, удаления, обновления и обновления пакетов в Arch Linux, на простых примерах.

Примеры команд Pacman

1. Обновите списки пакетов.

Как и во всех операционных системах Linux, перед установкой каких-либо пакетов или обновлением системы мы должны обновить списки пакетов:

Для этого выполните следующую команду от имени пользователя root:

# pacman -Syy

Пример вывода:

:: Synchronizing package databases...
 core 122.6 KiB 69.9K/s 00:02 [######################] 100%
 extra 1745.3 KiB 38.5K/s 00:45 [######################] 100%
 community 3.4 MiB 243K/s 00:14 [######################] 100%
 multilib 162.1 KiB 264K/s 00:01 [######################] 100%
 archlinuxfr 11.2 KiB 338K/s 00:00 [######################] 100%

2. Установите определенный пакет

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

pacman -S vlc

Приведенная выше команда установит пакет vlc вместе со всеми необходимыми зависимостями.

Точно так же вы можете установить несколько пакетов одновременно.

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

pacman -S vlc firefox

3. Загрузить пакет

Иногда вам может потребоваться просто загрузить пакет и сохранить его в кеше, не устанавливая его. Возможно, вы планируете использовать загруженные пакеты в будущем.

Для этого запустите:

pacman -Sw <package-name>

Пример:

pacman -Sw vlc

Приведенная выше команда загрузит только пакет vlc и сохранит его в папке кеша.

Pacman хранит все загруженные пакеты в папке /var/cache/pacman/pkg/ .

ls /var/cache/pacman/pkg/

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

cd /var/cache/pacman/pkg/
pacman -U <package-name>

Пример :

pacman -U vlc-2.2.2-3-x86_64.pkg.tar.xz

Не путайте с флагом -U. Это не значит удалить. Мы используем этот флаг для установки пакетов из локального кеша.

4. Установите группу пакетов.

Мы можем установить группу пакетов. Скажем, например, вы можете установить плазменный рабочий стол KDE или рабочий стол MATE. Для этого просто запустите:

pacman -S plasma-desktop
pacman -S mate

Эта команда установит сеанс плазменного рабочего стола MATE или KDE со всеми необходимыми зависимостями.

5. Обновить/обновить пакет

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

pacman -S <package-name>

Пример:

pacman -S vlc

Чтобы обновить все пакеты в вашей системе, запустите:

pacman -Syu

Приведенная выше команда обновит ваш Arch Linux до следующей доступной последней версии.

6. Пропустить обновление/обновить пакет или группу пакетов.

Иногда вам может потребоваться сохранить старую версию определенного пакета при обновлении Arch Linux.

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

pacman -Syu --ignore=grep

Пример вывода:

:: Synchronizing package databases...
 core 122.6 KiB 69.5K/s 00:02 [######################] 100%
 extra 1745.3 KiB 152K/s 00:12 [######################] 100%
 community 3.4 MiB 37.2K/s 01:33 [######################] 100%
 multilib 162.1 KiB 107K/s 00:02 [######################] 100%
 archlinuxfr is up to date
:: Starting full system upgrade...
warning: grep: ignoring package upgrade (2.23-1 => 2.24-1)
 there is nothing to do

Чтобы пропустить группу пакетов, выполните:

pacman -Syu --ignoregroup=mate

7. Удалить пакет

Чтобы удалить один или группу пакетов, мы используем параметр -R с командой pacman.

Скажем, например, я хочу удалить пакет mate.

Для этого запустите:

pacman -R mate

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

Чтобы удалить пакет со всеми его зависимостями, выполните следующую команду:

pacman -Rs <package-name>

Пример:

pacman -Rs mate

Эта команда полностью удалит пакет mate и все зависимости.

Теперь подожди. А как насчет файлов конфигурации? Pacman сохраняет важные файлы конфигурации с расширением: .pacsave при удалении пакетов.

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

pacman -Rns mate

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

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

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

pacman -Rdd <package-name>

Как вы, возможно, знаете, после удаления пакета в вашем Arch Linux все равно останутся некоторые потерянные (неиспользуемые) пакеты. Эти потерянные пакеты больше не нужны, поэтому мы можем избавиться от них, чтобы освободить место.

Чтобы проверить, есть ли в вашем Arch Linux какой-либо потерянный пакет, запустите:

sudo pacman -Qdt

Эта команда отобразит список неиспользуемых пакетов.

Чтобы удалить эти пакеты, запустите:

sudo pacman -Rns $(pacman -Qdtq)

8. Поиск пакетов в локальной базе данных.

Это означает запрос одного или списка пакетов из локальной базы данных, то есть папки кэша.

Чтобы найти конкретный пакет, например vlc, в локальной базе данных, выполните:

pacman -Q vlc

Пример вывода:

vlc 2.2.2-3

Для поиска уже установленных пакетов используйте флаг -s.

pacman -Qs vlc

Пример вывода:

local/vlc 2.2.2-3
 A multi-platform MPEG, VCD/DVD, and DivX player

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

pacman -Qi vlc

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

pacman -Q string1 string2

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

pacman -Ql vlc

9. Поиск пакетов в базе данных синхронизации.

Чтобы найти пакет в базе данных синхронизации (удаленный сервер), выполните:

pacman -Ss vlc

Пример вывода:

extra/phonon-qt4-vlc 0.8.2-4
 Phonon VLC backend for Qt4
extra/phonon-qt5-vlc 0.8.2-4
 Phonon VLC backend for Qt5
extra/vlc 2.2.2-3 [installed]
 A multi-platform MPEG, VCD/DVD, and DivX player
community/npapi-vlc 2.2.2-1
 The modern VLC Mozilla (NPAPI) plugin

Чтобы отобразить подробную информацию о данном пакете из базы данных синхронизации, выполните:

pacman -Si vlc

Pacman также поставляется с утилитой pacsearch, которая отображает результаты поиска с цветовой подсветкой и показывает, установлен ли пакет или нет.

Типичное использование команды pacsearch будет следующим:

pacsearch vlc

Пример вывода:

extra/phonon-qt4-vlc 0.8.2-4
 Phonon VLC backend for Qt4
extra/phonon-qt5-vlc 0.8.2-4
 Phonon VLC backend for Qt5
extra/vlc 2.2.2-3 [installed]
 A multi-platform MPEG, VCD/DVD, and DivX player
community/npapi-vlc 2.2.2-1
 The modern VLC Mozilla (NPAPI) plugin

Как вы видите в приведенном выше выводе, утилита pacsearch показывает, что vlc установлен.

10. Составьте список всех неиспользуемых (бесхозных) пакетов.

Чтобы просмотреть все неиспользуемые пакеты, которые больше не нужны в качестве зависимостей, используйте параметр -dt, как показано ниже.

pacman -Qdt <package-name>

11. Проверьте, какие пакеты занимают больше всего места.

У Pacman есть замечательная утилита под названием "pacgraph", которая показывает, какие пакеты занимают больше всего места на вашем жестком диске.

Сначала установите утилиту pacgraph.

pacman -S pacgraph

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

pacgraph -c

Пример вывода:

Autodetected Arch.
Loading package info
Total size: 1302MB
 407MB vlc
 201MB linux
 130MB gcc
 100MB pacgraph
 29425kB grub
 19300kB make
 15617kB yaourt
 290kB vi
 231kB pciutils
 186kB iputils
 164kB patch
 114kB pkg-config
 76kB logrotate
 55kB pcmciautils
 50kB os-prober
 31744B aurvote
 27648B which
 5120B systemd-sysvcompat

Если вы просто хотите показать самые большие пакеты, запустите:

pacgraph -c | head

Пример вывода:

Autodetected Arch.
Loading package info
Total size: 1302MB
 407MB vlc
 201MB linux
 130MB gcc
 100MB pacgraph
 29425kB grub
 19300kB make
 15617kB yaourt

Как вы видите в приведенном выше выводе, пакет vlc занимает больше места.

Аналогично, чтобы проверить, какие пакеты занимают наименьший размер, запустите:

pacgraph -c | tail

Пример вывода:

 231kB pciutils
 186kB iputils
 164kB patch
 114kB pkg-config
 76kB logrotate
 55kB pcmciautils
 50kB os-prober
 31744B aurvote
 27648B which
 5120B systemd-sysvcompat

Это даст вам представление о том, какой пакет занимает больше места на диске, и вы сможете удалить его, если он больше не нужен.

12. Пакеты перехода на более раннюю версию

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

по сути, все пакеты, которые мы загрузили во время установки, будут храниться в каталоге кеша, то есть /var/cache/pacman/pkg/. Если после обновления вы обнаружите, что пакет не работает, вы можете легко откатить его до предыдущей стабильной версии.

Для этого удалите новую версию с помощью команды:

pacman -R vlc

Затем перейдите в каталог кеша:

cd /var/cache/pacman/pkg/

Теперь установите старую версию командой:

pacman -S vlc-2.2.2-3-x86_64.pkg.tar.xz

Аналогичным образом вы можете понизить версию всех проблемных пакетов до старых версий.

13. Очистите кеш пакетов.

Как я уже сказал, все пакеты, которые мы загрузили во время установки, будут храниться в каталоге кэша, то есть /var/cache/pacman/pkg/. Если вы не будете удалять их периодически, они будут постепенно занимать место на вашем жестком диске, и рано или поздно у вас может остаться мало места на диске.

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

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

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

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

pacman -Sc

Приведенная выше команда удалит из папки кэша все пакеты, которые не установлены локально.

Чтобы полностью удалить все пакеты (независимо от того, установлены они или нет) из кеша:

pacman -Scc

Внимание! Очищенный кеш невозможно вернуть. Поэтому будьте очень осторожны перед очисткой кеша.

На этом пока все, ребята. Надеюсь, у вас есть базовые представления об использовании команд Pacman. Если вы считаете, что я что-то пропустил, пожалуйста, дайте мне знать в разделе комментариев ниже. Я обновлю это руководство как можно скорее.

Справочные ссылки:

  • Сайт Pacman
  • Pacman Wiki

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