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

Как использовать Yaourt для простой загрузки пакетов сообщества Arch Linux


Введение

Новичков в Arch Linux может обескуражить отсутствие официальных пакетов, загружаемых с помощью стандартного менеджера пакетов pacman. В этой статье я надеюсь объяснить, почему Arch решила работать таким образом, а также как вы можете легко получить практически любой пакет в нем.

Глоссарий:

  • PKGBUILD: скрипт сборки для создания пакета Arch
  • makepkg: инструмент, считывающий PKGBUILD и создающий пакет Arch.
  • AUR: репозиторий пользователей Arch, коллекция PKGBUILD от сообщества
  • pacman: стандартный инструмент управления пакетами для Arch Linux
  • yaourt: инструмент для получения и создания пакетов AUR

Философия

После создания нового дроплета Arch Linux у вас есть доступ к трем стандартным репозиториям с pacman:

  • ядро
  • дополнительно
  • сообщество

Основные и дополнительные репозитории поддерживаются власть предержащими. Сообщество поддерживается пользователями Arch, но это может быть не то, что вы ожидаете. Сопровождающие Arch очень строго относятся к тому, что становится стандартным пакетом. Помимо достижения порога голосования, официальный пакет сообщества должен быть принят тем, кого Arch называет «доверенным пользователем». Сопровождающие не видят причины для того, чтобы пакет был доступен с помощью диспетчера пакетов 1-й стороны, если только он не будет поддерживаться на уровне 1-й стороны.Это в отличие от попытки поддерживать как можно больше пакетов, что многие другие дистрибутивы пытались (и часто терпели неудачу) сделать На момент написания этой статьи было только 36 доверенных пользователей и только 2000+ пакетов сообщества.

Однако, в отличие от большинства других дистрибутивов, Arch Linux также содержит дополнительный репозиторий сообщества, где пользователи могут играть быстро и свободно. Это репозиторий пользователей Arch. AUR прозрачен и модерируется только коллективом, поэтому поощряет органический рост. На момент написания этой статьи в AUR было более 44 000 пакетов. Это контрастирует с более чем 10 000 стандартных пакетов.

Пакеты AUR не являются исходными пакетами или бинарными пакетами. Вместо этого они представляют собой инструкции (PKGBUILD) для приобретения, сборки (при необходимости) и установки программного обеспечения. Такой подход к управлению пакетами был заимствован из портов FreeBSD. Что касается исходно-двоичного спектра, PKGBUILD может использовать в качестве источника что угодно, от репозитория git до пакета .deb. Кроме того, отсутствуют лицензионные ограничения, в отличие от некоторых репозиториев.

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

Резюме: Arch Linux против основного Linux

Арх Линукс:

Основной Linux:

Ubuntu имеет репозиторий, похожий на AUR, который называется юниверс. Начиная с версии 9.04 (Jaunty) репозиторий юниверсов включен по умолчанию. Чтобы представить это в перспективе, ситуация в Ubuntu аналогична предоставлению пользователям Arch доступа к нескольким различным AUR с pacman прямо из коробки, не позволяя проектам с закрытым исходным кодом и не предоставляя средств для немедленной обратной связи с сообществом.

Вот пакет nodejs git в AUR

Вот пакет разработчика nodejs в репозитории Universe Ubuntu.

В дополнение к отсутствию разговора о пакете, обратите внимание, какие слова появляются сбоку на странице пакета Ubuntu:

«Как правило, пользователям не нужно связываться с первоначальным сопровождающим».

Йогурт по-французски

К сожалению, несмотря на то, что в AUR есть много фантастических и хорошо поддерживаемых пакетов, нет возможности легко получить к ним доступ после новой установки Arch. Тем не менее, на ArchWiki есть страница о многих yaourt.

Yaourt сводит громоздкий процесс установки пакетов AUR к поиску по ключевым словам и серии ответов «да» или «нет». Это также эффективная замена pacman, поскольку он может искать и устанавливать как AUR, так и стандартные пакеты.

Скачать Яйцо, Вылупи Цыпленка

Yaourt можно получить несколькими способами:

  1. Добавьте репозиторий archlinuxfr в /etc/pacman.conf
  2. Создайте пакет yaourt из AUR.

Я рассмотрю оба варианта, но первый намного проще. Если вы хотите узнать, как обычно работает загрузка и сборка пакетов из AUR, перейдите к

Способ 1: установка через пользовательский репозиторий

Откройте файл конфигурации pacman, чтобы добавить пользовательский репозиторий.

sudo vi /etc/pacman.conf

Добавьте репозиторий archlinuxfr в самый низ.

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

Переменная $arch просто указывает, является ли ваш дистрибутив x86 или x86_64. Он будет заменен при обработке файла.

После того, как пользовательский репозиторий был добавлен в pacman.conf, необходимо синхронизировать базу данных пакетов, чтобы включить пакеты из archlinuxfr и любые обновления из стандартных пакетов, которые нужны yaourt или его зависимостям.

sudo pacman -Sy

Теперь yaourt и его зависимости можно установить так же, как и любой другой пакет через pacman.

sudo pacman -S yaourt

Кроме того, вы можете сделать оба в одной строке.

sudo pacman -Sy yaourt

Способ 2: установка через AUR

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

Общий процесс выглядит следующим образом:

  1. скачать архив, содержащий PKGBUILD
  2. раскрыть архив
  3. запустите makepkg в папке, содержащей PKGBUILD
  4. установите полученный файл .xz

Во-первых, для работы yaourt нужен пакет package-query.

Убедитесь, что стандартные репозитории обновлены для всего, что может понадобиться package-query или yaourt.

sudo pacman -Sy

Вытащите файл из AUR.

curl -O https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz

Разверните файл, чтобы получить доступ к PKGBULD.

tar zxvf package-query.tar.gz

Войдите в папку, содержащую PKGBUILD.

cd package-query

Сделайте пакет. Флаг -s синхронизирует стандартные зависимости репозитория пакета (если они есть) с pacman перед попыткой сборки пакета.

makepkg -s

Альтернатива: если у вас нет настроенного пользователя, добавьте --asroot, чтобы заставить makepkg запускаться от имени пользователя root. В обычных обстоятельствах вы не должны собирать пакеты

makepkg -s --asroot

Установите файл .xz, созданный makepkg. В качестве ярлыка вы можете запустить makepkg с -i (т. е. makepkg -si вместо makepkg -s), чтобы включить этот шаг.

sudo pacman -U *.xz

Затем сделайте то же самое с архивом yaourt.

curl -O https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
tar zxvf yaourt.tar.gz
cd yaourt
makepkg -si

Примечание. Несмотря на то, что package-query является зависимостью от yaourt, установка флага -s для makepkg не приведет к его синхронизации, поскольку его нет в стандартных репозиториях. Поэтому его нужно было строить отдельно. Хотя package-query находится в репозитории archlinuxfr, как только вы его добавите, вы можете также установить yaourt через pacman. Поскольку yaourt обрабатывает зависимости AUR, обычно вам не нужно создавать зависимости AUR отдельно.

Использование Yaourt

Типичное использование yaourt начинается с передачи желаемого ключевого слова. Yaourt просматривает как имена пакетов, так и их описания.

yaourt <keyword>

Когда вы выполняете поиск, yaourt перечисляет для каждого подходящего пакета:

  • описание
  • номер версии
  • установлен ли пакет
  • голоса за пакет

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

Когда вы выбираете пакет из списка, yaourt показывает последние комментарии и спрашивает, хотите ли вы отредактировать PKGBUILD. Это позволяет редактировать пакет на месте, если с ним что-то не так. Если кто-то опубликовал исправление в комментариях, вы можете внести изменения в PKGBUILD до того, как yaourt запустит его через makepkg.

Помимо поиска, yaourt поддерживает другие стандартные операции управления пакетами.

  • yaourt -S : установить или обновить пакет
  • yaourt -Sy: синхронизировать базу данных пакетов pacman
  • yaourt -R : удалить пакет
  • yaourt -G : получить PKGBUILD для пакета
  • yaourt --stats: показать, сколько места занимают пакеты

Yaourt имеет опцию экспорта для хранения пакетов после их сборки.

yaourt -Sb --export <destination dir> <package>

Это можно использовать для создания бинарных резервных копий важных пакетов. Если вы хотите собрать и заархивировать пакет без его установки, просто скажите «нет» на этапе установки. Поскольку yaourt — это интерактивный инструмент, вы, вероятно, захотите найти что-то еще, если вам нужно автоматизировать этот процесс.

Ресурсы

Репозиторий пользователей Arch

Предоставлено: Робертом Куаллсом