Arch Linux ma AUR (Arch User Repository), kolekcję pakietów zbudowanych przez użytkownika. Jak jednak zainstalować te pakiety w Arch Linux ARM?
Arch Linux ma AUR (Arch User Repository), kolekcję pakietów zbudowanych przez użytkownika. Jak jednak zainstalować te pakiety w Arch Linux ARM?
Odpowiedzi:
Zgodnie ze stroną Building Packages z Arch Linux ARM, musisz to zrobić.
Zainstaluj niezbędne elementy kompilacji. Są one potrzebne do kompilacji pakietów na Arch Linux ARM.
$ sudo pacman -S kernel26-headers file base-devel abs
Uzyskaj PKGBUILD
. Musisz pobrać archiwum, które chcesz. Możesz znaleźć pliki tar dla programów na AUR .
Zrób paczki. Następnie musisz uruchomić makepkg
, aby wygenerować pakiet, który Pacman może zainstalować.
$ makepkg -Acs
-A
Opcja ignoruje Arch docelową architekturę. Ta -c
opcja czyści katalog po zakończeniu makepkg
i -s
instaluje niezbędne zależności.
Zaleca się, aby NIE uruchamiać się
makepkg
jako root, ponieważ może to spowodować trwałe uszkodzenie systemu. Jeśli naprawdę chcesz uruchomić go jako root, skorzystaj z--asroot
opcji.
Zainstaluj pakiet. makepkg
powinien utworzyć plik w katalogu o typie pliku .pkg.tar.xz
. Powinieneś zainstalować ten pakiet, używając
-U
opcji z pacman.
$ sudo pacman -U x.pkg.tar.xz
Pamiętaj, aby zastąpić
x.pkg.tar.xz
rzeczywistą nazwą pakietu.
kernel26-headers
wciąż jest aktualne? Nie znalazłem nic na ten temat w Google. A grupa base-devel
zawiera file
.
Najłatwiejszym rozwiązaniem jest użycie Yaourt (Yet AnOther User Repository Tool) .
Możesz zainstalować za pomocą:
pacman -S yaourt
A następnie zsynchronizuj z AUR:
yaourt -Syy
Następnie możesz wyszukać pakiety AUR:
yaourt package-name
Który zapewni interaktywne monity o instalację.
Lub jeśli dokładnie znasz nazwę pakietu:
yaourt -S package-name
Większość poleceń Pacmana jest taka sama dla twojego.
pacman
i yaourt
?
pacman -S yaourt
nie działa i nie mogę dodać, archlinuxfr
ponieważ najwyraźniej nie armv6h
yaourt
był w głównym repozytorium Arch Arm. Być może usunęli go ... Ale nadal możesz go zbudować ze źródła, co wyjaśniono w artykule AUR na Arch Wiki. I nie jest to plik pakietu dla niego tutaj . Mam nadzieję że to pomogło!
Wszystkie powyższe odpowiedzi są nieaktualne. Moja odpowiedź nie jest zbyt dobra, ale mam nadzieję, że unika się problemu przestarzałości.
Oficjalnym wiki wyjaśnia szczegółowo, jak idzie o instalowanie / budowania pakietu, który nie jest częścią Pacman (pakującego i yaourt począwszy od tej daty).
Zarówno pakujący, jak i twój są oznaczone jako nieaktualne w AUR. (może się to zmienić w przyszłości).
Używam do tego celu pakera, który moim zdaniem jest szybszą alternatywą dla twojego.
Po prostu dodaj te dwa wiersze do /etc/pacman.conf
:
[archlinuxfr]
Server = http://repo.archlinux.fr/$arch
Następnie możesz zainstalować / zaktualizować pakiet za pomocą pacman:
# pacman -Sy packer
I użyj packera w taki sam sposób, jak używasz pacmana:
$ packer -S some_aur_package
Również jeśli nie chcesz aktualizować wszystkich pakietów, w tym tych z AUR:
$ packer -Syu
Packer najpierw uruchomi pacman -Syu
aktualizację pakietów z oficjalnych repozytoriów, a następnie zaktualizuje wszystkie pakiety AUR.
WAŻNY! yaourt
jest niepewny i przestarzały zgodnie z wiki: https://wiki.archlinux.org/index.php/AUR_helpers
Podczas gdy odpowiedź @Jivings była najlepsza już w `12, zalecałbym zainstalowanie jednego z bezpieczniejszych i bogatszych w funkcje menedżerów pakietów arch (sugeruję, aby ktoś zaktualizował odpowiedź @Jivings, ponieważ ma największą widoczność).
Używam aurman
i kopię to. Ma wszystkie funkcje, jest bezpieczny, a cli działa prawie dokładnie tak, jak Pacman. Żeby zainstalować:
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
Następnie możesz postępować zgodnie z przewodnikiem Pacmana prawie dokładnie, ale używając aurman
zamiast Pacmana. Poniższy przewodnik został zaczerpnięty z https://www.digitalocean.com/community/tutorials/how-to-use-arch-linux-package-management i dał mi początek:
Arch Linux zapewnia funkcje zarządzania pakietami podobne do tych, które można znaleźć w innych współczesnych dystrybucjach Linuksa. Jest to przewodnik po typowych operacjach zarządzania pakietami.
Zanim przejdziesz dalej, upewnij się, że twoje bazy danych pakietów są aktualne:
sudo pacman -Sy
Preferując zwięzłość w stosunku do intuicyjności, większość operacji zarządzania pakietami w Arch Linux ma format:
pacman -<a-z><a-z>.
Na przykład normalne polecenie przeszukiwania repozytoriów Pacmana to
pacman -Ss <package>
...
Alternatywnie możesz użyć pacman -Qs z wadą braku podświetlania kolorów.
pacman -Qs linux
Jeśli chcesz wyróżniać kolory za pomocą pacman -Ss, możesz odkomentować Kolor z /etc/pacman.conf. Podkreśla jednak inne rzeczy niż pacsearch, więc możesz spróbować obu i zobaczyć, który z nich bardziej Ci się podoba.
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
Jeśli pacman -Qi nie zostanie przekazany bez argumentów, zwróci wszystkie pakiety w systemie. Możesz przeszukać to wyjście, aby uzyskać specjalistyczne informacje o zainstalowanych pakietach.
Na przykład, jeśli chcesz uzyskać każdą paczkę i jej rozmiar:
pacman -Qi | grep -e "Name" -e "Installed Size"
Name : a52dec
Installed Size : 244.00 KiB
Name : aalib
Installed Size : 768.00 KiB
...
Podczas gdy pacman -Qi dostarcza informacji o zainstalowanych pakietach, pacman -Si odpytuje bazę danych w celu uzyskania ostatnio pobranych informacji o pakiecie.
pacman -Si linux
pacman -Ql wyświetla wszystkie pliki związane z pakietem.
pacman -Ql vi
vi /usr/
vi /usr/bin/
vi /usr/bin/edit
vi /usr/bin/ex
vi /usr/bin/vedit
vi /usr/bin/vi
...
Nazwa pakietu w każdym wierszu może utrudnić użycie wyjścia w skrypcie. pacman -Qlq (tzn. „lista zapytań pacman, cichy”) nie wydrukuje nazwy pakietu.
pacman -Qlq vi
/usr/
/usr/bin/
/usr/bin/edit
/usr/bin/ex
/usr/bin/vedit
/usr/bin/vi
...
Możesz użyć pacman -Qlq | grep bin, aby znaleźć wszystkie pliki w tym pakiecie, które znajdują się w folderze bin (a zatem prawdopodobnie są plikami wykonywalnymi). Jest to przydatne, gdy polecenie powiązane z pakietem różni się od nazwy pakietu.
pacman -Qql pacman | grep bin
Typowym sposobem instalacji lub aktualizacji standardowego pakietu jest pacman -S.
sudo pacman -S <package>
Paczki często mają podobny wzór w swoich nazwach. Wsporniki mogą być używane jako skrót.
sudo pacman -S lua-{sec,socket,zlib}
Czasami możesz po prostu pobrać pakiet do celów archiwalnych bez instalowania go. pacman -Sw pobierze pakiet do folderu pamięci podręcznej.
sudo pacman -Sw <package>
Jeśli pakiet został pobrany lub znasz adres URL, możesz zainstalować go bezpośrednio.
sudo pacman -U <package_path>
Ponieważ pacman krąży wokół idei „synchronizacji” pakietu ze zdalnym repozytorium, pacman -S
zaktualizuje pakiet, jeśli jest już zainstalowany.
Pacman może wyświetlić listę nieaktualnych pakietów.
pacman -Qu
Niestety nie wyświetla wersji pakietu w repozytorium, więc nie będziesz w stanie stwierdzić, jak nieaktualny jest każdy pakiet. Jeśli jest to dla Ciebie ważne, możesz zajrzeć do zewnętrznych menedżerów pakietów lub napisać skrypt, który łączy wersję pakietu uzyskaną od pacman -Qi i pacman -Si.
Możesz pobrać wersję z pacman -Qi lub pacman -Si przy użyciu wyrażenia regularnego.
pacman -Qi linux | grep "Version" | sed 's/^Version\s*:\s//'
3.8.4-1
A potem napisz skrypt, który pokazuje wersje obok siebie.
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 zapewnia sposób na uaktualnienie wszystkich pakietów jednocześnie, ale nie jest to zalecane, ponieważ Arch jest dystrybucją w wersji ciągłej. Jeśli pojawią się problemy, ustalenie przyczyn może zająć trochę czasu.
sudo pacman -Syu
Arch Linux nie utrzymuje oficjalnie przestarzałych pakietów. Zamiast tego będziesz musiał polegać na pamięci podręcznej pakietów i miejscach takich jak Arch Rollback Machine. Pamięć podręczna
Każda paczka pobrana z pacmanem jest przechowywana w / 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
...
Jeśli chcesz przywrócić pakiet w pamięci podręcznej, po prostu zainstaluj go bezpośrednio.
pacman -U <path_to_cached_file>
Arch Rollback Machine to zbiór migawek oficjalnego serwera lustrzanego Arch Linux. W chwili pisania tego tekstu cofnie się o cztery miesiące. ARM jest obecnie hostowany pod adresem http://seblu.net/a/arm , choć może się to zmienić w przyszłości.
Pakiety ARM można instalować zdalnie za pomocą 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
Przeglądanie ARM w poszukiwaniu starszych pakietów nie jest wygodne. Na szczęście istnieją narzędzia, które to ułatwiają:
downgrade
downgrader
Szukają starszych wersji w pamięci podręcznej i ARM. Ich użycie jest zgodne z oczekiwaniami.
downgrade <package>
downgrader <package>
Oba narzędzia są w AUR, więc najłatwiejszym sposobem ich zainstalowania jest pomocnik taki jak yaourt.
Uwaga: ARM to nieoficjalny projekt, który został zamknięty w przeszłości, więc dobrym pomysłem może być uniknięcie czyszczenia pamięci podręcznej na wypadek, gdyby ARM spadł lub ponownie zmienił lokalizację. Jeśli chcesz rzucić własny ARM, wydaje się, że na github istnieje projekt NodeJS. Usuwanie
Usuń paczkę, pod warunkiem, że nic nie zależy od niej. Pozostaw zainstalowane zależności.
sudo pacman -R <package>
Usuń paczkę, pod warunkiem, że nic nie zależy od niej. Usuń jego zależności, które nie są wymagane przez nic innego.
sudo pacman -Rs <package>
Wymuś usunięcie pakietu. Jest to polecenie, do którego sięgniesz, aby po prostu wyczyścić pakiet z systemu i ponownie zainstalować, gdy sama ponowna instalacja nie wystarczy.
sudo pacman -Rdd <package>
aurman -Rsn <package>
Pierwszą rzeczą, którą musisz zrobić, to pobrać pakiet z AUR. Aby to zrobić: git clone http://aur.archlinux.org/package.git
Mimo że wygląda na to, że pobierasz .git
plik, wynikiem będzie katalog.
cd package
znaleźć PKGBUILD
plik. Zostanie to wykorzystane w następnym kroku.
Na koniec uruchom to polecenie, aby skompilować i zainstalować właśnie pobrany pakiet. makepkg -Sri
. Jeśli potrzebujesz kompleksowego wyjaśnienia znaczenia każdej z tych liter, możesz pobiec makepkg -h
tam, gdzie zostaną wyjaśnione wszystkie.