Настройка pacman#
Основные команды для управления пакетами#
Ниже в таблице перечислены все основные команды pacman и другие, которые часто будут встречаться на протяжении всего руководства. Их лучше запомнить.
Команда |
Описание |
|---|---|
|
Устанавливает пакет официальных из репозиториев. |
|
Выполнить полное обновление системы вместе с синхронизацией баз данных репозиториев. |
|
Удаляет названный пакет из системы |
|
Удаляет названный пакет из системы, а также все его зависимости, если они не требуются другими установленными пакетами. |
|
Выполняет полную очистку кэша пакетов. Подробнее см. Профилактика диска. |
|
Удаляет из системы все так называемые пакеты "сироты", то есть такие, которые не были явно установлены и не являются при этом ничьими зависимостями. |
|
Команда для клонирования git репозитория. Активно используется при установке AUR пакетов нижеуказанным способом. |
|
Команда для сборки пакета из соответствующего файла-сценария PKGBUILD. Ключ -i запросит установку пакета после его сборки, -s запросит установку сборочных зависимостей, -r выполнит их автоматическое удаление после окончания сборки пакета, -c выполнит удаление временных файлов. |
Пару слов об AUR помощниках#
Далее в руководстве все пакеты из AUR (Arch Linux User Repository) будут устанавливаться и собираться, если так можно выразиться, "дедовским" способом, т.е. через стандартные утилиты git и makepkg, без применения так называемых "AUR Помощников". Это сделано по причине их быстрой сменяемости, и тот помощник который был актуален раньше, может стать устаревшим и никому не нужным. Для примера, так было с AUR-помощником yaourt.
Кроме того, согласно Arch Wiki, AUR-помощники официально не
поддерживаются дистрибутивом. А "старый" метод, через обычное
клонирование git репозитория из AUR командой git clone и сборка
пакета через makepkg, будет работать всегда. Тем не менее, обращаем
ваше внимание, что возможность установки пакетов через AUR помощник
возможна, и вы можете её использовать для всех AUR пакетов, о которых
пойдет речь далее. Подробнее об этом можно почитать здесь.
Обновление ключей Arch Linux#
Обновление ключей необходимо во избежание дальнейших проблем с установкой пакетов:
sudo pacman-key --init # Инициализация
sudo pacman-key --populate archlinux # Получить ключи из репозитория
sudo pacman-key --refresh-keys # Проверить текущие ключи на актуальность
sudo pacman -Sy archlinux-keyring # Обновить пакет archlinux-keyring
Данная операция может занять продолжительное время. Для дальнейшего их
автоматического обновления нужно включить службу-таймер, которая
оптимизирует процесс при помощи команды archlinux-keyring-wkd-sync:
sudo systemctl enable --now archlinux-keyring-wkd-sync.timer
Таким образом ключи будут обновляться раз в неделю.
Включение 32-битного репозитория#
Убедимся, что конфигурация пакетного менеджера pacman настроена для получения доступа к загрузке 32-битных зависимостям, нужным в частности для установки Steam.
Примечание
Если вы не используете Steam, то можете пропустить данный шаг.
Для этого раскомментируем так называемый multilib репозиторий внутри
конфигурации /etc/pacman.conf. Сделать это можно используя любой
текстовый редактор или при помощи командной строки:
echo -e "[multilib]\nInclude = /etc/pacman.d/mirrorlist" \
| sudo tee -a /etc/pacman.conf
После чего необходимо загрузить базу данных для только что добавленного репозитория:
sudo pacman -Suy
Ускорение обновления системы#
Pacman - весьма быстрый пакетный менеджер, но узким горлышком всегда остается сеть, поэтому для более быстрого обновления системы рекомендуется всегда использовать наиболее свежие и близкие к вам географически зеркала. Для этого следует установить утилиту reflector, которая отсортирует доступные репозитории по скорости:
sudo pacman -S reflector rsync
Запустить reflector можно вручную со следующим набором параметров:
sudo reflector --verbose \
--country "$(curl -sSL 'https://ifconfig.co/country-iso')" \
--latest 25 \
--sort age \
--save /etc/pacman.d/mirrorlist
Либо в автоматическом режиме активировав службу, которая может срабатывать по таймеру для постоянной актуализации списка зеркал:
echo "--country "$(curl -sSL https://ifconfig.co/country-iso)"
--save /etc/pacman.d/mirrorlist
--protocol https
--latest 25
--sort age" | sudo tee /etc/xdg/reflector/reflector.conf
sudo systemctl enable reflector.service reflector.timer
Вместо использования reflector можно также вручную отредактировать список зеркал, добавив туда зеркала из постоянно обновляющегося перечня на сайте Arch Linux: https://archlinux.org/mirrorlist/.
Отключение таймаутов при загрузке пакетов#
Если вы имеете плохое качество соединения или слабый уровень сигнала,
то при загрузке пакетов при помощи pacman вы могли сталкиваться с
ошибкой превышания лимитов ожидания (таймаутов). Чтобы этого избежать
нужно добавить параметр DisableDownloadTimeout в pacman.conf
внутри секции [options] при помощи любого текстового редактора,
либо через команду sed:
sudo sed -i 's/\[options\]/\[options\]\nDisableDownloadTimeout/g' /etc/pacman.conf