Pacstall – AUR для Ubuntu

aur ubuntu

Arch User Repository (AUR) – це репозиторій, створений спільнотою для користувачів Arch. Він містить опис пакетів (PKGBUILDs), які дозволяють скомпілювати пакунок з джерельного коду за допомогою makepkg і потім встановити його за допомогою pacman.

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

В результаті Arch Linux, що має відносно невелику кількість офіційних пакетів (11 945 на момент написання статті), може запропонувати ще 70 500 через колекцію AUR. Це ставить об’єднану колекцію програмного забезпечення Arch в один ряд з Debian і Ubuntu.

Сьогодні, ми подивимося на відносно новий проєкт, який називається Pacstall. Проєкт Pacstall має на меті – надати користувачам Ubuntu сторонній репозиторій, схожий за стилем на Arch, а також зручний інструмент командного рядка для автоматизації більшої частини роботи. “Pacstall спробує стати AUR, який Ubuntu хотіла б мати. Він візьме AUR і змінить його, спростивши установку програм без необхідності ритися в репозиторіях GitHub і тому подібних “.

Pacstall можна встановити за допомогою пакета Deb або однорядкової команди. Я вирішив спробувати Pacstall на Ubuntu KDE NEON, щоб подивитися, як він буде працювати. Читаючи опис проєкту, я не був упевнений, звідки будуть братися скрипти сторонніх програм. Наприклад, мені було неясно, чи буде Pacstall використовувати (і, можливо, переводити) чинні скрипти AUR, або ж він буде дублювати роботу AUR в новому підході. Я не зміг знайти документацію, яка пояснювала б, звідки взялися ці скрипти та скільки їх всього.

Трохи озирнувшись, я виявив, що Pacstall вчиться встановлювати пакети з іншого сховища, специфічного для цієї програми. Це означає, що він не пов’язаний з AUR і не вчиться у нього, а просто надає аналогічну послугу. На момент написання статті в репозиторії Pacstall знаходиться близько п’яти десятків рецептів для збірки стороннього програмного забезпечення. Так наскільки добре він працює?

Установка Pacstall в Ubuntu

Встановити Pacstall можна з термінала командою

sudo bash -c "$ (curl -fsSL https://git.io/JsADh || wget -q https://git.io/JsADh -O -)"

Сценарій установки Pacstall працює досить добре. Він виконує декілька основних перевірок, а потім встановлює деякі залежності, такі як cURL і Stow. Він також бере кілька допоміжних скриптів з GitHub.

Як це працює

Після установки Pacstall працює точно так само, як і інші менеджери пакетів. Є кілька основних прапорів командного рядка, які ми можемо використовувати. Наприклад, виконання команди “pacstall -h” показує список команд, які розпізнає менеджер пакетів. Виконання команди “pacstall -S name” призведе до пошуку пакета зі схожою назвою.

Знайшовши пакет, який ми хочемо встановити, ми можемо завантажити та зібрати програму за допомогою команди “pacstall -I package-name” або видалити її за допомогою команди “pacstall -R package-name“. Поки що все це здається досить простим. Прапор “-U” буде оновлювати сам Pacstall, а прапор “-Up” намагатиметься обновити вже встановлене програмне забезпечення. Ми можемо використовувати прапор “-L“, щоб отримати список програм, які вже були встановлені за допомогою Pacstall.

Я спробував встановити кілька пакетів з репозиторію Pacstall. Мені сподобалося те, що прапор install (-I) пропонує показати нам сценарій збірки, який він збирається запустити, і дати нам можливість відредагувати його перед виконанням будь-яких дій. Це корисно з точки зору безпеки та означає, що ми можемо налаштовувати сценарії установки в останній момент.

Один з аспектів Pacstall, який мені найменше сподобався, полягає в тому, що він вимагає адміністративного доступу, але не перевіряє, чи є у нього необхідний доступ. Якщо ми запустимо “pacstall -I package” від імені звичайного користувача (або без sudo), то сценарій бути завершено з серією помилок доступу, а не запросить пароль.

Плюси та мінуси

Я спробував встановити ряд пакетів з репозиторію Pacstall. Перше, що я помітив, це те, що деякі з доступних пакетів вже є в репозиторіях Ubuntu, що робить їх надмірними. Більш того, деякі з доступних пакетів навіть встановлені за замовчуванням в Ubuntu MATE. Можливо, вони включені в спробі надати більш сучасні версії програмного забезпечення, вже доступного в репозиторіях Ubuntu.

Наступне, про що варто згадати, – Pacstall збирає відкриті компоненти пакетів з вихідного коду. Для більшості пакетів це тривалий процес. Наприклад, установка пакета bat зайняла б менш як хвилину при використанні бінарних пакетів, але при складанні з вихідного коду на це пішло понад годину.

Іншими словами, Pacstall має невеликий репозиторій, частина якого дублює програми, вже доступні користувачам Ubuntu, і його установка займає багато часу, в порівнянні з PPA або пакетом Nix. Сподіваюся, Pacstall буде швидко розвиватися, можливо, шляхом імпорту і доопрацювання скриптів з AUR.

З пакетів, які я намагався встановити через Pacstall, більшість спрацювали, хоча файловий менеджер Nemo не спрацював, видавши помилку про невідповідність хеша. Можливо, це ознака того, що Nemo був оновлений, а порт Pacstall – ні, або щось було пошкоджено в процесі завантаження. У будь-якому випадку Pacstall пішов, пропрацювавши з портом Nemo близько двадцяти хвилин.

Висновки

Як ви можете зрозуміти з останніх кількох абзаців, Pacstall знаходиться на ранній стадії та все ще не дуже впевнено себе почуває. Йому належить пройти довгий шлях, перш ніж він стане таким же корисним, як AUR, який він прагне емулювати, або інші сторонні репозиторії. Однак, якщо він зможе швидко розвиватися, то у нього є потенціал запропонувати універсальне рішення для користувачів Ubuntu, які хочуть або встановити пакети сторонніх розробників, або отримати більш актуальне програмне забезпечення, ніж те, яке надає Ubuntu. У довгостроковій перспективі це може виявитися більш зручним, ніж розрізнена, незалежно підтримувана колекція PPA-репозиторіїв, яку багато користувачів Ubuntu використовують і керують.

Поки ж я задаюся питанням, чи не є Pacstall розв’язанням проблеми, якої не існує для більшості людей. AUR існує тому, що в Arch невеликий офіційний репозиторій, і його користувачам потрібен обхідний шлях. Ubuntu має величезний набір репозиторіїв за замовчуванням, плюс Snaps, Flatpaks і більшість інших виробників програмного забезпечення надають інсталятори або репозиторії для Ubuntu. Рідко хто хоче встановити на Ubuntu щось, що ще не упаковано для дистрибутива. Мені цікаво подивитися, що Pacstall може дати користувачам, чого не дають чинні рішення.

Мені також цікаво подивитися, як далеко пошириться ця концепція. Через кілька тижнів після анонсу сховища Pacstall з’явилася схожа концепція для Debian, названа Debian User Repository (DUR). Цей сервіс націлений на повторне використання AUR для користувачів Debian. Мені буде цікаво подивитися, чи з’являться подібні проєкти, що пропонують такі ж послуги в інших дистрибутивах.

Поділіться своєю любов'ю
FOX
FOX

Люблю что-то новое

Статті: 126

Залишити відповідь

1 Комментарий
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
Андрей

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

1
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x