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


61

Arch Linux має AUR (Arch User Repository), колекцію створених користувачем пакетів. Як я можу встановити ці пакети на Arch Linux ARM?


2
Схоже, існує багато пакетів aur, які вже надаються через репо "aur". Я знайшов це випадково. pacman -S ваш пакет може насправді спрацювати. Наприклад, це працює з cower і gmrender-resurrect-git.
загадковийфізик

Відповіді:


53

Згідно зі сторінкою " Будівельні пакети " від ARM Arch Linux, вам потрібно.

  1. Встановіть основи збірки. Вони потрібні для компіляції пакетів на Arch Linux ARM.

    $ sudo pacman -S kernel26-headers file base-devel abs
    
  2. Отримати PKGBUILD. Вам потрібно завантажити тарбол, який ви хочете. Ви можете знайти тарболи для програм на AUR .

  3. Складіть пакети. Далі вам потрібно запустити makepkg, щоб генерувати пакет, який Pacman може встановити.

    $ makepkg -Acs
    

    -AПараметр ігнорує цільову Arch архітектуру. -cОпція очищає каталог після того, як makepkgце зроблено, і -sвстановлює необхідну залежність.

    Рекомендується НЕ запускати makepkgяк root, оскільки це може завдати постійної шкоди вашій системі. Якщо вам дійсно потрібно запустити його як root, скористайтеся --asrootопцією.

  4. Встановіть пакет. makepkgПотрібно створити файл у каталозі з набором файлів .pkg.tar.xz. Ви повинні встановити цей пакет, скориставшись -Uопцією з pacman.

    $ sudo pacman -U x.pkg.tar.xz
    

    Переконайтеся, що ви замінили x.pkg.tar.xzфактичну назву пакета.


Створення пакетів вручну, безумовно, не рекомендується для початківців користувачів. Насправді всі повинні користуватися Яуртом. Це робить весь процес простим.
Відхилення

Вам ще потрібні ці пакети та відредагувати PKGBUILD для компіляції для арки armv6h.
Anglepoise

5
@Jivings Насправді вся причина, коли яурт та інші помічники AUR не є в офіційному репо, полягає в тому, що ви повинні навчитися встановлювати іноземні пакунки вручну перед тим, як використовувати автоматизований інструмент.
PyRulez

2
Пакет 'abs' немає у сховищі
dmnc

це kernel26-headersще актуально? Не знайшли нічого про це з google. І група base-develмістить file.
користувач3123159

34

Найпростішим рішенням є використання Yaourt (ще AnOther User Repository Tool) .

Ви можете встановити за допомогою:

pacman -S yaourt

А потім синхронізуйте з AUR:

yaourt -Syy

Потім можна шукати AUR пакети:

yaourt package-name

Що надасть інтерактивні підказки до встановлення.

Або якщо ви точно знаєте назву пакета:

yaourt -S package-name

Більшість команд pacman однакові для yaourt.


У чому різниця між pacmanі yaourt?
Алекс Чемберлен

Yaourt також перевіряє AUR, а також офіційні сховища. Пакети AUR також мають більше можливостей налаштування.
Jivings

Це вже не працює. Яке офіційне рішення?
текнолаги

2
pacman -S yaourtне працює, і я не можу додати, archlinuxfrоскільки, мабуть, вони не приймаютьarmv6h
tekknolagi

1
@tekknolagi yaourtраніше знаходився в головному сховищі для Arch Arm. Можливо, вони його зняли .... Але ви все одно можете побудувати його з джерела, що пояснено у статті AUR на Arch Wiki. І є файл пакета для нього тут . Я сподіваюся, що це допомагає!
14:00

10

Усі вищезазначені відповіді застаріли. Моя відповідь не дуже гарна, але, сподіваємось, уникне питання застарівання.

Офіційною вікі пояснює докладно, як один йде про встановлення / збірці пакету , який не є частиною Pacman (пакувальник і Yaourt станом на цю дату).

Пакувальник і yaourt позначені як застарілі в AUR. (це може змінитися в майбутньому).


Хороша відповідь! Я рекомендую використовувати makepkg -si , а також (після перевірки файлу PKGBUILD)
smoothware

7

Для цього я використовую пакер, який, на мою думку, є швидшою альтернативою yaourt.

Просто додайте ці два рядки до своїх /etc/pacman.conf:

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

Тоді ви можете встановити / оновити пакувач через Pacman:

# pacman -Sy packer

І використовуйте пакувальник приблизно так само, як і Pacman:

$ packer -S some_aur_package

Також якщо ви не хочете оновити всі пакунки, включаючи пакети з AUR:

$ packer -Syu

Спочатку Packer запустить pacman -Syuдля оновлення пакетів з офіційних сховищ, потім оновить усі пакети AUR.


4

ВАЖЛИВО! yaourtзгідно із вікі не є безпечним і застарілим: https://wiki.archlinux.org/index.php/AUR_helpers

Хоча відповідь @Jivings найкраще було в `12, я рекомендував би встановити один із більш захищених та функціонально збагачених менеджерів пакетів арків (і я пропоную комусь оновити @Jivings відповідь, оскільки він має найбільшу видимість).

Я використовую aurmanі викопую його. Має всі функції, захищений, а кліп працює майже так само, як Pacman. Щоб встановити:

cd ~/Downloads
git clone https://aur.archlinux.org/aurman.git
cd aurman
makepkg -Acs
# Change xxx below to downloaded version
sudo pacman -U aurman-xxx.pkg.tar.xz

Тоді ви можете практично точно слідувати керівництву Pacman, але використовуючи aurmanзамість pacman. Наступне керівництво було взято з https://www.digitalocean.com/community/tutorials/how-to-use-arch-linux-package-management і розпочало мене:


Починаємо

Arch Linux надає засоби управління пакетами, аналогічні тим, які знайдені в інших сучасних дистрибутивах Linux. Це посібник із загальних операцій з управління пакетами.

Перш ніж продовжувати роботу, переконайтесь, що ваші бази даних пакета оновлені:

sudo pacman -Sy

Пошук

Більшість операцій з управління пакетами в Arch Linux відображається у форматі:

pacman -<a-z><a-z>.

Наприклад, звичайною командою для пошуку в сховищах Pacman є

pacman -Ss <package> 

...

Крім того, ви можете використовувати pacman -Qs зі зворотною стороною відсутності виділення кольорів.

pacman -Qs linux

Якщо ви хочете виділити кольори за допомогою pacman -Ss, можна коментувати Color з /etc/pacman.conf. Однак він виділяє різні речі, ніж pacsearch, тому ви можете спробувати обидва і побачити, який з них вам більше подобається.

sudo vi /etc/pacman.conf

...
# Misc options
#UseSyslog
Color
#TotalDownload
CheckSpace
#VerbosePkgLists
...

Отримання інформації

pacman -Qi displays basic information about an installed package.

pacman -Qi linux

Name           : linux
Version        : 3.8.4-1
Description    : The linux kernel and modules
Architecture   : x86_64
URL            : http://www.kernel.org/
Licenses       : GPL2
Groups         : base
Provides       : kernel26=3.8.4
Depends On     : coreutils  linux-firmware  kmod  mkinitcpio>=0.7
Optional Deps  : crda: to set the correct wireless channels of your country
Required By    : None
Optional For   : None
Conflicts With : kernel26
Replaces       : kernel26
Installed Size : 64728.00 KiB
Packager       : Tobias Powalowski <tpowa@archlinux.org>
Build Date     : Wed Mar 20 21:16:17 2013
Install Date   : Fri Mar 29 01:02:14 2013
Install Reason : Explicitly installed
Install Script : Yes
Validated By   : Unknown

Якщо pacman -Qi не передано жодних аргументів, він повертає всі пакети в системі. Ви можете шукати цей вихід, щоб отримати спеціалізовану інформацію про встановлені пакети.

Наприклад, якщо ви хочете отримати кожен пакет та його розмір:

pacman -Qi | grep -e "Name" -e "Installed Size"

Name           : a52dec
Installed Size : 244.00 KiB
Name           : aalib
Installed Size : 768.00 KiB

...

У той час як pacman -Qi надає інформацію про встановлені пакети, pacman -Si запитує в базі даних останню отриману інформацію про пакет.

pacman -Si linux

pacman -Ql перераховує всі файли, пов'язані з пакетом.

pacman -Ql vi

vi /usr/
vi /usr/bin/
vi /usr/bin/edit
vi /usr/bin/ex
vi /usr/bin/vedit
vi /usr/bin/vi

...

Ім'я пакета у кожному рядку може ускладнити вихід у сценарій. pacman -Qlq (тобто "список запитів pacman, тихо") не буде друкувати ім'я пакета.

pacman -Qlq vi

/usr/
/usr/bin/
/usr/bin/edit
/usr/bin/ex
/usr/bin/vedit
/usr/bin/vi

...

Ви можете використовувати pacman -Qlq | grep bin, щоб знайти всі файли в цьому пакеті, які знаходяться у папці bin (і, отже, ймовірно виконувані файли). Це зручно, коли команда, пов'язана з пакетом, відрізняється від назви пакета.

pacman -Qql pacman | grep bin

Встановлення

Типовим способом встановлення або оновлення стандартного пакету є pacman -S.

sudo pacman -S <package>

Пакети часто мають подібний малюнок у своїх назвах. Дужки можна використовувати як ярлик.

sudo pacman -S lua-{sec,socket,zlib}

Іноді ви можете просто завантажити пакет для архівних цілей, не встановлюючи його. pacman -Sw завантажить пакет у папку кешу.

sudo pacman -Sw <package>

Якщо пакет завантажено або ви знаєте URL-адресу, можете встановити його безпосередньо.

sudo pacman -U <package_path>

Оновлення

Оскільки Pacman обертається навколо ідеї "синхронізувати" пакет з віддаленим сховищем, pacman -Sоновить пакет, якщо він уже встановлений.

Pacman може перераховувати застарілі пакети.

pacman -Qu

На жаль, він не відображає версію пакета у сховищі, тому ви не зможете сказати, як застарілий кожен пакет. Якщо це важливо для вас, ви можете заглянути в сторонні менеджери пакунків або написати сценарій, який поєднує разом версію пакета, отриману від pacman -Qi та pacman -Si.

Ви можете отримати версію від pacman -Qi або pacman -Si, використовуючи регулярний вираз.

pacman -Qi linux | grep "Version" | sed 's/^Version\s*:\s//'

3.8.4-1

А потім написати сценарій, який показує версії поряд.

for i in $(pacman -Qqu)
do
  printf "$i: "
  printf "$(pacman -Qi "$i" | grep 'Version' | sed 's/^Version\s*:\s//') "
  echo   "$(pacman -Si "$i" | grep 'Version' | sed 's/^Version\s*:\s//')"
done

Pacman пропонує спосіб оновити всі ваші пакунки одночасно, але це не рекомендується, оскільки Arch є постійним розповсюдженням релізів. Якщо виникають проблеми, може знадобитися час, щоб визначити, які причини.

sudo pacman -Syu

Пониження рівня

Arch Linux офіційно не підтримує застарілі пакети. Натомість вам потрібно буде покластися на кеш пакету та місця, наприклад, Arch Rollback Machine. Кеш

Кожен пакунок, завантажений з пакетом, зберігається в / var / cache / pacman / pkg.

ls /var/cache/pacman/pkg | grep linux

linux-3.11.6-1-x86_64.pkg.tar.xz
linux-3.9.7-1-x86_64.pkg.tar.xz

...

Якщо ви хочете повернутися до пакету у своєму кеші, просто встановіть його безпосередньо.

pacman -U <path_to_cached_file>

Арка відкатної машини

Arch Rollback Machine - це набір знімків офіційного дзеркала Arch Linux. Станом на це написання воно триває чотири місяці. Зараз ARM розміщено на веб-сайті http://seblu.net/a/arm , хоча це може змінитися в майбутньому.

Пакети ARM можна встановити віддалено за допомогою pacman -U.

pacman -U http://seblu.net/a/arm/2013/08/31/extra/os/x86_64/apache-2.2.25-1-x86_64.pkg.tar.xz

Не зовсім зручно переглядати ARM для старих пакетів. На щастя, є інструменти, які полегшують це:

downgrade
downgrader

Вони шукають старіші версії в кеші та ARM. Їх використання - це те, що ви очікували.

downgrade <package>
downgrader <package>

Обидва інструменти є в AUR, тому найпростішим способом їх встановлення буде такий помічник, як yaourt.

Примітка: ARM - це неофіційний проект, який раніше був закритий, тому може бути хорошою ідеєю уникати очищення кешу, якщо ARM знизиться або змінить місця знову. Якщо ви хочете прокатати свою власну ARM, на Github, здається, є проект NodeJS. Видалення

Вийміть пакет за умови, що від нього нічого не залежить. Залиште встановлені його залежності.

sudo pacman -R <package>

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

sudo pacman -Rs <package>

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

sudo pacman -Rdd <package>

Щоб повністю видалити пакунок:aurman -Rsn <package>
mjd2

0

Перше, що вам потрібно зробити - це завантажити пакет з AUR. Для цього: git clone http://aur.archlinux.org/package.gitХоча це виглядає так, як ви завантажуєте .gitфайл, результатом буде каталог.

cd packageщоб знайти PKGBUILDфайл. Це буде використано на наступному кроці.

Нарешті, запустіть цю команду для складання та встановлення завантаженого вами пакету. makepkg -Sri. Якщо ви хочете всебічно пояснити, що означає кожна з цих букв, ви можете бігти makepkg -hтам, де всі вони будуть пояснені.


2
Ласкаво просимо до Stack Exchange, Ashish .. Чи можете ви детальніше розібратися у своїй відповіді - навіщо потрібно робити вищезазначене, що робити заяви та ін.?
Філ Б.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.