Arch Linux имеет AUR (Arch User Repository), набор пользовательских пакетов. Как мне установить эти пакеты в Arch Linux ARM?
Arch Linux имеет AUR (Arch User Repository), набор пользовательских пакетов. Как мне установить эти пакеты в Arch Linux ARM?
Ответы:
Согласно странице Building Packages от Arch Linux ARM, вам нужно.
Установите основы сборки. Они необходимы для компиляции пакетов в Arch Linux ARM.
$ sudo pacman -S kernel26-headers file base-devel abs
Получить PKGBUILD
. Вам нужно скачать тарбол, который вы хотите. Вы можете найти tar-архивы для программ в 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
еще актуально? Не нашел ничего об этом с гуглом. И группа 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, я бы порекомендовал установить один из более безопасных и многофункциональных менеджеров пакетов arch (и я предлагаю кому-то обновить ответ @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 query list, quiet») не будет печатать имя пакета.
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. кэш
Каждый пакет, загруженный с помощью pacman, хранится в / 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
где все они будут объяснены.