Arch linux настройка репозиториев

Обновлено: 04.07.2024

Все существующие дистрибутивы Linux для того, чтобы осуществлять операции по обновлению ПО и библиотек ОС в основном используют пакетные менеджеры. Пакетный менеджер является ключевой программой, который зачастую и отличает различие одного дистрибутива Linux от другого.

Общее описание технологии

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

Pacman сам по себе может использоваться не только в ArchLinux и его производных, но и в прочих дистрибутивах. Возможна адаптация pacman для использования RPM, а также пакетов прочего типа, несовместимого со стандартным ArchLinux.

Pacman, как и RPM имеет возможность загрузки части пакета при обновлении. При работе pacman зачастую значительно быстрее обрабатывает транзакции, нежели это делает DPKG или RPM.

История разработки ArchLinux

Первые версии ArchLinux на самом деле являлись просто некоторой сборкой LFS, содержащим набор скриптов для сборки и развертывания дистрибутива. Очень долго, для установки самого дистрибутива pacman вообще не использовался, установочный образ содержал специализированную программу, называемую Arch Install Frimewere (AIF).

Сам по себе, дистрибутив в первых своих версиях содержал примитивную скрипт-сборочную пакетную систему, называемую Arch Build System (ABS). Суть такой примитивной пакетной системы заключался в предоставлении быстрого и удобного метода сборки пакетов из исходного кода. Но это не то, что хотел иметь собственно разработчик Arch Linux. По этой причине была разработана утилита pacman, которая и предназначалась для оперирования с уже собранными бинарными пакетами. ABS затем была переназначена для того, чтобы заниматься сборкой пакетов для pacman.

В дальнейшем, ABS в Archlinux позволил создать пользовательский репозиторий рецептов для сборки пакетов, называемый AUR. Из AUR возможна установка пакетов ArchLinux, которых нет даже в официальных репозиториях.

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

Установка пакетов ArchLinux, их обновление, а также их удаление как мы уже поняли выше, осуществляются при помощи pacman. Данная утилита достаточно проста. Рассмотрим команды ее синтаксис:

$ sudo pacman [опция] <имя пакета>

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

  • -S – установка программ в archlinux;
  • -Sw - скачать пакет но не устанавливать;
  • -U - установить локальный пакет;
  • -s – поиск пакета;
  • -i – информация;
  • -u – обновить пакеты;
  • -y – обновить списки пакетов из репозиториев;
  • -dd – игнорирование зависимостей;
  • -g – запрос информации о группе;
  • -l – вывод пакетов в виде списка;
  • -o – вывод в файл;
  • -R – удаление;
  • -Q – запрос к базе данных установленных пакетов;
  • -F – поиск по файлам;
  • -D – задание и изменение цели установки уже имеющегося пакета;
  • -R - удалить пакет;
  • -Rn - удалять резервные копии конфигурационных файлов;
  • -Rs - удалять зависимости пакета;

Это основные опции, которые будут применяться в этой инструкции.

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

Сначала рассмотрим как выполняется установка программ ArchLinux с помощью Pacman из официальных репозиториев, а потом остановимся на пользовательском репозитории AUR. Теперь рассмотрим основные команды pacman archlinux.

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

Опции для pacman при использовании комбинируются в одну фразу, таким образом, например, для обновления репозиториев и обновления ОС команда будет выглядеть так:

sudo pacman -Suy


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

Установка конкретного пакета:

sudo pacman -S [имя пакета]


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

sudo pacman -R [имя пакета]

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

sudo pacman -Rdd [имя пакета]


Поиск пакета в репозиториях:

pacman -Ss [имя пакета]


Получение информации о пакете:

pacman -Si [имя пакета]


Поиск только среди установленных пакетов:

pacman -Qs [имя_пакета]


Просмотр списка всех установленных пакетов:


Просмотр списка файлов пакета:

pacman -Ql [имя_пакета]


sudo pacman -Scc


Установка пакетов из AUR

К сожалению, не все пакеты есть в официальных репозиториях, многие вам придется искать пакеты на стороне. Большинство пакетов уже собраны и подготовлены пользователями в репозитории AUR. Для этого можно использовать пакет pacaur. Его можно установить командой:

Теперь вы можете использовать те же опции что и в утилите pacman в pacaur чтобы пользоваться AUR, например, поиск пакета:

pacaur -Ss firefox


pacaur -S firefox

Графический интерфейс Pacman

Для любителей пользоваться графическим интерфейсом вместо терминала в ArchLinux есть утилита pamac. Это простой менеджер приложений, чем-то похожий на стандартный менеджер приложений Ubuntu:


Для установки пакета достаточно открыть для него контекстное меню и нажать "Установить":


Удаление пакетов выполняется тем же образом.

Выводы

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

Репозиторий — хранилище пакетов программ, которые можно загрузить и установить на компьютер.

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

Пакеты в официальных репозиториях постоянно обновляются, при этом старые версии пакетов сразу удаляются. В Arch нет главных (major) релизов дистрибутива: каждый пакет обновляется сразу после того, как его новая версия становится доступна в upstream. Каждый репозиторий полноценен в том смысле, что содержит в себе совместимые между собой версии программ.

Contents

Стабильные репозитории

Этот репозиторий можно найти в каталоге . /core/os/ на каждом из доступных зеркал.

core содержит пакеты для:

  • Загрузки Arch Linux
  • Управления и восстановления поддерживаемых файловых систем
  • Процесса установки системы (например, openssh )

а также все необходимые зависимости этих пакетов (необязательно из makedepends) и мета-пакета base .

extra

Этот репозиторий можно найти в каталоге . /extra/os/ на каждом из доступных зеркал.

extra содержит все пакеты, которые не подходят для core. Например: Xorg, оконные менеджеры, веб-браузеры, медиаплееры, инструменты для работы с языками, такими как Python и Ruby, и многое другое.

community

Этот репозиторий можно найти в каталоге . /community/os/ на каждом из доступных зеркал.

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

multilib

Этот репозиторий можно найти в каталоге . /multilib/os/ на каждом из доступных зеркал.

multilib содержит 32-битное программное обеспечение и библиотеки, которые можно использовать для запуска и сборки 32-битных приложений на 64-битных системах (например, wine , steam и т.д.).

32-битные библиотеки хранятся в директории /usr/lib32/ при включённом репозитории multilib.

Включение multilib

Раскомментируйте раздел [multilib] в /etc/pacman.conf , чтобы включить репозиторий multilib:

Затем обновите систему и установите необходимые multilib-пакеты.

Совет: Выполните pacman -Sl multilib , чтобы вывести список всех пакетов в репозитории multilib. Названия 32-битных пакетов начинаются с lib32- .

Отключение multilib

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

Если вы столкнулись с конфликтами с gcc-libs, переустановите пакет gcc-libs и группу base-devel .

Закомментируйте раздел [multilib] в /etc/pacman.conf :

Тестовые репозитории

Тестовые репозитории предоставляют площадку для размещения пакетов перед принятием их в основные репозитории. Сопровождающие пакетов (и широкая аудитория) могут получить доступ к тестовым пакетам, чтобы убедиться в отсутствии проблем при работе с новой версией приложения. Пакет может быть перемещён в основные репозитории, как только он был протестирован и ошибок не было обнаружено.

Требование тестирования пакетов в таких репозиториях обязательно только для пакетов из репозитория core и пакетов, затрагивающих множество других программ (например, perl и python ), а также обычно применимо к большим коллекциям ПО, например, GNOME или KDE.

testing

Этот репозиторий можно найти в каталоге . /testing/os/ на каждом из доступных зеркал.

testing содержит пакеты, являющиеся кандидатами на внесение в репозитории core и extra.

Новые пакеты попадают в testing в следующих случаях:

  • Они предназначены для репозитория core. Все пакеты для core сперва должны пройти через testing.
  • Есть вероятность того, что они повредят что-либо при обновлении, в следствие чего их необходимо сперва протестировать.

testing — единственный репозиторий, в котором могут быть совпадения имён с другими официальными репозиториями. Если он включён, он должен быть первым репозиторием среди перечисленных в файле /etc/pacman.conf .

Примечание: testing создан не для хранения новейших версий пакетов. Одна из целей — удержание обновлений пакетов, которые потенциально могут нанести вред системе, являясь либо частью набора пакетов core, либо критичными в чем-то ином. Пользователям testing настоятельно рекомендуется подписаться на почтовую рассылку arch-dev-public, отслеживать форум репозитория testing и сообщать обо всех багах. Также рекомендуется рассмотреть возможность присоединения к Arch Testing Team.

community-testing

Этот репозиторий похож на репозиторий testing, но создан для пакетов, являющихся кандидатами на внесение в репозиторий community.

multilib-testing

Этот репозиторий похож на репозиторий testing, но создан для пакетов, являющихся кандидатами на внесение в репозиторий multilib.

gnome-unstable

Этот репозиторий содержит пакеты с будущим релизом (или кандидатом в релиз) окружения рабочего стола GNOME до их перевода в главный репозиторий testing.

Добавьте нижеприведенные строки в файл /etc/pacman.conf , чтобы включить данный репозиторий:

Репозиторий gnome-unstable должен быть первым в списке репозиториев (в том числе выше записи для репозитория testing).

Информацию об относящихся к упаковке багах сообщайте в нашу систему отслеживания ошибок, прочая информация должна направляться непосредственно разработчикам на GNOME Gitlab.

kde-unstable

Этот репозиторий содержит самую свежую бета-версию или версию-кандидат на выпуск KDE Plasma и Applications.

Добавьте нижеприведенные строки в файл /etc/pacman.conf , чтобы включить данный репозиторий:

Репозиторий kde-unstable должен быть первым в списке репозиториев (в том числе выше записи для репозитория testing).

Отключение тестовых репозиториев

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

  1. Удалить (закомментировать) их из файла /etc/pacman.conf .
  2. Выполнить pacman -Syuu , чтобы "откатить" обновления из этих репозиториев.

Второй пункт необязателен, но помните об этом на случай, если вы заметите какие-либо проблемы.

Репозитории Staging

Важно: Не включайте репозитории staging по какой-либо причине — система несомненно выйдет из строя после обновления. Данные репозитории предназначены исключительно для backend-разработчиков.

Данные репозитории содержат нерабочие пакеты и используются исключительно разработчиками во время одновременной пересборки большого количества пакетов. Чтобы пересобрать пакет, зависящий, например, от новой разделяемой библиотеки, необходимо сначала собрать саму библиотеку и загрузить её в staging-репозиторий — таким образом она будет доступна другим разработчикам. После пересборки всех зависимых пакетов эту группу перемещают в тестовые или основные репозитории (в зависимости от случая).

См. [1] для получения информации об исторических деталях.

Историческая справка

Разделение репозиториев появилось по историческим причинам. Когда дистрибутивом не пользовалось много людей, был только один репозиторий, известный как official (нынешний core). В то время official содержал в основном приложения, которые предпочитал Джадд Винет (Judd Vinet — основатель Arch Linux). Репозиторий был устроен таким образом, чтобы содержать "всего по одному": одно окружение рабочего стола, один основной браузер и т.д.

Конечно, были пользователи, которым не нравился выбор Джадда, и, когда появилась удобная система сборки пакетов, они начали создавать собственные пакеты. Эти пакеты вошли в репозиторий unofficial и поддерживали их другие разработчики, а не Джадд. В конце концов, разработчиками было принято решение поддерживать оба репозитория, и названия official и unofficial перестали отображать их истинный смысл. Примерно в районе версии 0.5 названия были изменены на current и extra.

Вскоре после выхода версии 2007.8.1, current был переименован в core, чтобы не было неоднозначностей в трактовке того, что, собственно, должен содержать репозиторий. Сейчас репозитории практически равны в глазах разработчиков и сообщества, но core имеет некоторые отличия. Самое главное из них — то, что только пакеты из core включаются в установочные CD и релизы. Этот репозиторий все ещё содержит полноценную систему Linux, однако, скорее всего, это не та система, которую вы хотели бы использовать.

Примерно между версиями 0.5 и 0.6 обнаружилось, что есть большое количество пакетов, которые разработчики не хотели поддерживать. Джейсон Чу (Jason Chu) создал неофициальные "Репозитории Доверенных Пользователей" (Trusted User Repositories), где доверенные пользователи могли размещать созданные ими пакеты. Также существовал репозиторий staging, из которого пакеты могли быть перенесены в официальные репозитории одним из разработчиков Arch Linux, но, если не считать этого пункта, разработчики и доверенные пользователи были практически равны.

Такое разделение работало до тех пор, пока доверенным пользователям не надоело поддерживать собственные репозитории, а обычные пользователи не захотели выкладывать свои пакеты. Это привело к развитию AUR. Доверенные пользователи объединились в меньшую по размеру группу, которая сейчас поддерживает репозиторий community. Доверенные пользователи все ещё образуют отдельную от разработчиков Arch Linux группу и довольно мало общаются между собой. Тем не менее, популярные пакеты время от времени все ещё перемещают из community в extra. AUR позволяет также обычным пользователям выкладывать свои файлы PKGBUILD.

После того, как однажды ядро из репозитория core поломало множество систем, в репозитории была введена политика подтверждения ("core signoff policy"). С тех пор все обновления пакетов для core должны сперва пройти через репозиторий testing и только после нескольких подтверждений ("signoffs") от других разработчиков пакет можно перенести. Через какое-то время было замечено, что некоторые пакеты в core почти не используются, а число подписей пользователей и отсутствие отчётов об ошибках неофициально стали критерием для утверждения таких пакетов.

В конце 2009 и начале 2010, в связи с созданием новых файловых систем и желанием поддерживать их при установке, а также осознанием того, что репозиторий core никогда не был чётко структурирован (просто "важные пакеты, выбранные разработчиками"), назначение репозитория было сформулировано более точно.


Пару лет назад, когда ещё пользовался Манджаро, писал для себя материал, с целью разобраться в том, что такое yay: чем он отличается от привычного pamac, зачем он нужен, если есть pacman по умолчанию, а почему часто встречаемый yaourt уже не стоит использовать.

Что такое Arch User Repository (AUR)

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

Что такое Yay?

Yay — вспомогательный инструмент Arch Linux AUR, написанный на Go. Он поможет вам автоматически устанавливать пакеты из PKGBUILD

Yay основан на дизайне yaourt, apacman и pacaur. Он разработан с учетом следующих целей:

  • Предоставление интерфейса для Pacman
  • Интерактивный поиск/установка в формате Yaourt
  • Минимальные зависимости
  • Минимизация вводимых пользователем данных
  • Знать, когда пакеты git должны быть обновлены

Особенности

  • Расширенное выполнение зависимостей
  • Загрузить PKGBUILD из ABS (Arch Build System) или AUR
  • Допоkнение команд AUR клавишей Tab
  • Вопрос к пользователю перед вводом всех входных данных (перед запуском построений)
  • Сужение круга поиска (yay linux header сначала выполняет поиск linux, а затем сужается до header)
  • Поиск подходящих поставщиков пакетов и разрешение выбора
  • Удаление зависимостей в конце процесса построения
  • Запуск без выбора источника PKGBUILD
  • Обеспечивает интерфейс для pacman, а также не имеет почти никаких зависимостей
  • Обеспечивает функцию поиска yaourt и значительно минимизирует вход пользователя
  • Еще одна заметная особенность — вы можете выбрать, какое приложение установить или обновить
  • Кроме того, он поддерживает завершение вкладки AUR, поэтому просто введите несколько букв пакета AUR и нажмите Enter, чтобы завершить имя
  • yay обеспечивает заполнение таблицы AUR и загружает PKGBUILD из ABS или AUR. Бинарный файл не имеет никаких дополнительных зависимостей
  • Предоставляет расширенное обеспечение зависимостей и удаляет все зависимости make по окончанию процесса сборки
  • Поддерживает цветной вывод при включении опции Color в файле /etc/pacman.conf
    Цветной вывод может быть активирован для поддержки только пакета AUR или только пакетов из оф. репозитория.

Установка

При миграции с другого помощника AUR можно просто установить Yay с этим помощником

Альтернативно, первоначальная установка Yay может быть выполнена клонированием PKGBUILD и построением с помощью makepkg:

Перед началом работы убедитесь, что установлена группа пакетов base-devel.

. . . далее . . .

Так же возможно установить через pamac или командой "sudo pacman -S yay"

Поддержка

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

Примеры пользовательских операций

yay <Search Term> Показать меню выбора установки пакета

yay -Ps Печать статистики системы

yay -Yc Очистить ненужные зависимости.

yay -G <AUR Package> Загрузить PKGBUILD из ABS или AUR.

yay -Y --gendb Создание базы данных пакетов разработки, используемой для обновления разработки

yay -Syu --devel --timeupdate Выполнение обновления системы, а также проверка наличия обновлений пакета разработки и использование времени изменения PKGBUILD (не номер версии) для определения обновления.

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

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

yay -S <package-name-here>

Пример: yay -S mplayer

Чтобы найти пакет в AUR и официальных репозиториях, используйте флаг -Ss, как показано ниже (пример)

yay -Ss mplayer

Чтобы обновить все пакеты из AUR и официальных репозиториев, используйте флаг -Syu.

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

yay mplayer
. . . (вывод) . .
. . . (вывод) . .

==> Пакеты для установки (пример: 1 2 3, 1-3 или ^4)

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

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

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

Arch Linux

Среди них я обычно включаю Arch Linux и его производные. Хотя я хотел бы поговорить только об одном в частности, я не могу оставить в стороне другие, потому что в конечном итоге они имеют одинаковую основу.

Те, кто Пользователи Linux, которые использовали некоторое время, должны идентифицировать термин «репозиторий». который является просто источником программного обеспечения.

Эсто означает, что это место хранения, из которого можно получить пакеты программного обеспечения и установить на комп.

Репозиторий (также называемый репозиториями) можно разделить на два типа: официальный репозиторий и репозиторий, поддерживаемый третьими сторонами (пользователем) или любым пользователем.

Очевидно, что официальные источники репо поставляются с предустановленными Arch Linux, Manjaro, Antergos или любым дистрибутивом, производным от Arch Linux.

С другой стороны, есть Archiving Archiving Repository (AUR)., Который является репозиторий, управляемый сообществом для Arch Linux и его производных.

Как и официальный репозиторий, они также содержат описания пакетов (PKGBUILD), которые можно скомпилировать из исходного кода с помощью makepkg, а затем установить с помощью pacman. AUR существует для того, чтобы делиться новыми пакетами от сообщества.

Установка и удаление приложений

Для установки приложений в любой системе на базе Arch Linux или производной системе вы можете «Добавить / удалить программное обеспечение» Обычно это делается из терминала с помощью Pacman.

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

В этом случае мы также можем использовать хорошо известный инструмент Octopi, это графический интерфейс для Pacman, который также позволяет нам взаимодействовать с AUR.

Включение AUR в Arch Linux и производных

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


Учитывая, что эти приложения создаются сообществом, не все приложения регулярно обновляются.

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

Чтобы включить это, dМы должны добавить несколько строк в наш файл pacman.conf, которые мы добавим в конец файла.

Просто откройте терминал и отредактируйте с помощью nano или вашего любимого текстового редактора:

sudo nano /etc/pacman.conf

Y добавляем в конце:

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

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

Они также могут просто использовать диспетчер программного обеспечения. и избегайте использования командной строки, как я уже упоминал Octopi, который является отличным инструментом управления пакетами для Arch Linux и производных.

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

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

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

Это, в отличие от других систем, пользователи сходят с ума, и многие из них предпочитают переустановить.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Из Linux » Учебники / Руководства / Советы » Что такое AUR и как включить его в Arch Linux и производных

Читайте также: