Arch Linux має AUR (Arch User Repository), колекцію створених користувачем пакетів. Як я можу встановити ці пакети на Arch Linux ARM?
Arch Linux має AUR (Arch User Repository), колекцію створених користувачем пакетів. Як я можу встановити ці пакети на Arch Linux ARM?
Відповіді:
Згідно зі сторінкою " Будівельні пакети " від ARM Arch Linux, вам потрібно.
Встановіть основи збірки. Вони потрібні для компіляції пакетів на Arch Linux ARM.
$ sudo pacman -S kernel26-headers file base-devel abs
Отримати PKGBUILD
. Вам потрібно завантажити тарбол, який ви хочете. Ви можете знайти тарболи для програм на AUR .
Складіть пакети. Далі вам потрібно запустити makepkg
, щоб генерувати пакет, який Pacman може встановити.
$ makepkg -Acs
-A
Параметр ігнорує цільову Arch архітектуру. -c
Опція очищає каталог після того, як makepkg
це зроблено, і -s
встановлює необхідну залежність.
Рекомендується НЕ запускати
makepkg
як root, оскільки це може завдати постійної шкоди вашій системі. Якщо вам дійсно потрібно запустити його як root, скористайтеся--asroot
опцією.
Встановіть пакет. makepkg
Потрібно створити файл у каталозі з набором файлів .pkg.tar.xz
. Ви повинні встановити цей пакет, скориставшись
-U
опцією з pacman.
$ sudo pacman -U x.pkg.tar.xz
Переконайтеся, що ви замінили
x.pkg.tar.xz
фактичну назву пакета.
kernel26-headers
ще актуально? Не знайшли нічого про це з google. І група base-devel
містить file
.
Найпростішим рішенням є використання Yaourt (ще AnOther User Repository Tool) .
Ви можете встановити за допомогою:
pacman -S yaourt
А потім синхронізуйте з AUR:
yaourt -Syy
Потім можна шукати AUR пакети:
yaourt package-name
Що надасть інтерактивні підказки до встановлення.
Або якщо ви точно знаєте назву пакета:
yaourt -S package-name
Більшість команд pacman однакові для yaourt.
pacman
і yaourt
?
pacman -S yaourt
не працює, і я не можу додати, archlinuxfr
оскільки, мабуть, вони не приймаютьarmv6h
yaourt
раніше знаходився в головному сховищі для Arch Arm. Можливо, вони його зняли .... Але ви все одно можете побудувати його з джерела, що пояснено у статті AUR на Arch Wiki. І є файл пакета для нього тут . Я сподіваюся, що це допомагає!
Усі вищезазначені відповіді застаріли. Моя відповідь не дуже гарна, але, сподіваємось, уникне питання застарівання.
Офіційною вікі пояснює докладно, як один йде про встановлення / збірці пакету , який не є частиною Pacman (пакувальник і Yaourt станом на цю дату).
Пакувальник і yaourt позначені як застарілі в AUR. (це може змінитися в майбутньому).
Для цього я використовую пакер, який, на мою думку, є швидшою альтернативою 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.
ВАЖЛИВО! 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>
Перше, що вам потрібно зробити - це завантажити пакет з AUR. Для цього: git clone http://aur.archlinux.org/package.git
Хоча це виглядає так, як ви завантажуєте .git
файл, результатом буде каталог.
cd package
щоб знайти PKGBUILD
файл. Це буде використано на наступному кроці.
Нарешті, запустіть цю команду для складання та встановлення завантаженого вами пакету. makepkg -Sri
. Якщо ви хочете всебічно пояснити, що означає кожна з цих букв, ви можете бігти makepkg -h
там, де всі вони будуть пояснені.