AUR Arch Linux тратил мое время впустую, пока я не сделал это

AUR Arch Linux тратил мое время впустую, пока я не сделал это


Перейти по ссылкам

  • AUR мощный, но может быть крайне медленным
  • Как Chaotic-AUR решает эту проблему
  • Как установить и использовать Chaotic-AUR

Когда-нибудь ждали час (или больше), пока пакет AUR компилируется на вашей системе Arch? Избегаете ли вы установки некоторых приложений просто потому, что время компиляции невыносимо долгое? Позвольте мне представить вам Chaotic-AUR и рассказать, как он полностью изменил мой опыт работы с Arch.

AUR мощная, но может быть ужасно медленной

Одна из причин, по которой я и многие другие любим Arch Linux, — это Arch User Repository (AUR) — репозиторий, управляемый сообществом, где можно найти более 60 000 активно поддерживаемых пакетов и их количество продолжает расти! Хотя технически это не является исчерпывающей коллекцией приложений, на это похоже — в нём собрано множество популярных Linux-программ, которых нет в основных репозиториях Arch: core, extra и multilib.

Тем не менее, есть одна большая проблема с AUR: некоторые пакеты могут устанавливаться очень долго! Это происходит потому, что AUR не содержит пакеты, а содержит скрипты установки, называемые PKGBUILDs. Они предоставляют инструкции по загрузке и установке программного обеспечения. В зависимости от пакета это может включать загрузку исходного кода приложения и последующую его компиляцию на вашем компьютере, что может занять много времени.

В результате, если вы скачиваете действительно большой пакет, например браузер или среду разработки (IDE), и ваша система недостаточно мощная, установка пакета из AUR может занять час (или больше). Кроме того, некоторые из этих пакетов могут потребовать перекомпиляции при обновлении, что делает процесс еще более неудобным в долгосрочной перспективе!

Почему установка некоторых пакетов AUR занимает так много времени

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

Теперь в официальных репозиториях Arch все приложения и пакеты доступны в виде бинарных файлов — они заранее скомпилированы. Однако большинство PKGBUILD в AUR, если они не заканчиваются на суффикс «-bin», загружают исходный код приложения и затем компилируют его на вашей системе. В результате, если вы устанавливаете действительно большой пакет из AUR — например, браузер или IDE, и он недоступен в виде бинарника — процесс может занять часы. Например, недавно я пытался установить эмулятор Citron через AUR, и у меня заняло более часа компиляция на моем процессоре Ryzen 5 5600G.

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

Как Chaotic-AUR решает эту проблему

Chaotic-AUR — это сторонний репозиторий, который берет популярные пакеты из обычного AUR, предварительно компилирует их на своих серверах и распространяет в виде готовых к установке бинарных файлов. Это полностью устраняет время ожидания компиляции для включенных пакетов и тем самым решает одну из крупнейших проблем AUR.

Теперь Chaotic-AUR не предкомпилирует каждый пакет в AUR, так как это практически невозможно — их десятки тысяч, и многие из них даже не поддерживаются активно. Более того, Chaotic-AUR автоматизирует процесс компиляции, и он может завершиться неудачей, если файл PKGBUILD содержит неправильные инструкции, что может происходить в некоторых случаях.

Как таковой, он сосредоточен на двух основных категориях — действительно популярных пакетов AUR, которые люди часто скачивают, и больших пакетов AUR, которые компилируются вечность. Речь идет о таких приложениях, как OBS Studio, Firefox ESR, Chromium и браузер Brave — приложениях, сборка которых из исходного кода может занять от 30 минут до нескольких часов.

Стоит также упомянуть, что в отличие от обычного AUR, куда любой может загрузить PKGBUILD, в Chaotic-AUR вы не можете просто так добавить пакеты самостоятельно. Вы можете запросить включение пакета AUR в Chaotic-AUR, создав issue на их GitHub. Затем мейнтейнеры рассмотрят, имеет ли смысл добавлять его, исходя из популярности и времени компиляции.

Chaotic-AUR безопасен?

Chaotic-AUR так же безопасен, как обычный AUR — ни больше, ни меньше! Поддерживающие его люди берут те же самые PKGBUILD из обычного AUR, компилируют их на своих серверах и распространяют бинарные файлы. Они не добавляют дополнительных уровней безопасности и не создают новых уязвимостей. Пакеты, которые вы получаете из Chaotic-AUR, функционально идентичны тем, которые вы бы получили, если бы сами компилировали их из AUR. Это означает, что Chaotic-AUR несет такой же уровень риска, как и использование обычного AUR. Вам всё равно следует проявлять должную осмотрительность при скачивании пакетов из AUR — проверяйте PKGBUILD, удостоверяйтесь в надежности поддерживающего, читайте комментарии и следите за любыми проблемами с безопасностью.

Как установить и использовать Chaotic-AUR

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

sudo pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com     
sudo pacman-key --lsign-key 3056513887B78AEB     

Затем введите эти две команды, чтобы установить пакеты chaotic-keyring и chaotic-mirrorlist:

sudo pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst'     
sudo pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'     

После завершения введите эту команду:

sudo nano /etc/pacman.conf     

Это откроет файл pacman.conf с помощью текстового редактора nano. Вам нужно будет прокрутить файл до конца и добавить эту строку:

[chaotic-aur]  Include = /etc/pacman.d/chaotic-mirrorlist     

Нажмите Ctrl+O, затем Ctrl+X, чтобы сохранить и выйти из nano, и введите эту команду, чтобы синхронизировать вашу систему и обновить базу данных пакетов:

sudo pacman -Syu     

Вот и всё! Вы успешно настроили Chaotic-AUR на вашей системе Arch Linux. Теперь вы можете устанавливать пакеты из него так же легко, как устанавливаете пакеты из официального репозитория, с помощью простой команды, например:

sudo pacman -S package-name     

Chaotic-AUR по-настоящему изменил мой опыт использования Arch Linux, устранив узкое место компиляции, которое делало некоторые пакеты AUR недоступными. Если вам надоело смотреть на индикаторы выполнения вместо того, чтобы пользоваться приложениями, попробуйте его; установка занимает всего несколько минут, и вы удивитесь, как раньше обходились без этого.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *