Oprócz repozytoriów, tych oficjalnych i nie, istnieje również AUR, czyli A(rch)U(nofficial)R(epository). Z typowym repozytorium nie ma ono jednak nic wspólnego. To składnica "przepisów" na podstawie których, pacman (a w zasadzie to makepkg) potrafi zbudować program ze źródeł, stworzyć z niego paczkę rozpoznawalną przez pacmana, a także ją zainstalować i dodać do lokalnej bazy pacmana.
Korzystając z AUR należy pamiętać, że są tam "przepisy" bardzo różnego rodzaju i jakości. Oprócz takich, które z różnych przyczyn nie mogą być w oficjalnych repozytoriach, znajdują się tu również "przepisy" na programy w fazie rozwojowej, jak również te, które z jakichś względów (np. licencyjnych) nie mogą trafić do oficjalnego repozytorium. Niestety spora część owych "przepisów" jest przeterminowana, zwłaszcza po wejściu do użycia pacmana w wersji 4.2, który bezwzględnie wymaga sekcji package w PKGBUILDzie.
Pamiętać też należy, że do AUR "przepis" dodać może każdy, a baza ta jest praktycznie nieprzeglądana przez deweloperów Archa pod jakimkolwiek kątem. Może się zatem zdarzyć, że jakiś dowcipniś (choć życie jego pewnie w AUR byłoby krótkie), wrzuci do AUR coś co w ekstremalnych przypadkach może zaszkodzić Twojemu komputerowi. Stąd też warto jest budując paczki z AUR przeglądnąć opinie, które są tam wyrażane w komentarzach i budować wyłącznie takie programy, które zostały przez Was sprawdzone, jak również sprawdzony został PKGBUILD (i ewentualnie plik *.install, a także wszystko to co jest zgodnie z PKGBUILDem dorzucane do źródeł).
Prawdopodobnie spotkaliście się już z narzędziem pn. yaourt, które wraz z pacaur jest bodaj najpopularniejszą nakładką na pacmana, rozszerzającą jego funkcje o możliwość przeglądania, budowania i instalowania programów z AUR. Prawdopodobnie też, w wielu miejscach przeczytaliście opinie, że tego typu narzędzia nie są "polecane nowicjuszom" w posługiwaniu się Archem (i dystrybucjami pochodnymi). Pozostawię bez komentarza. Opiszę natomiast dwa sposoby w jakie korzystać można z AUR i budować z niego paczki.
Metoda tradycyjnaTutaj nie korzystamy z jakichkolwiek nakładek na pacmana. Budowa i instalacja paczki odbywa się poprzez:
- odwiedzenie strony
https://aur.archlinux.org,
- odszukanie tam interesującego nas "przepisu w wyszukiwarce,
- pobraniu tarballa (menu po prawej stronie),
- rozpakowaniu tarballa,
- wykorzystaniu narzędzia makepkg przynajmniej do budowy paczki,
- wykorzystaniu pacmana do instalacji zbudowanej paczki.
Pominę rzeczy oczywiste i rozpoczniemy od rozpakowywania tarballa. Ma on format *.tar.gz, zatem stanowi skompresowane archiwum TAR. Rozpakowanie tego polega na:
tar -zxvf nazwa_tarballa
Komenda utworzy na dysku katalog o nazwie takiej samej, jak nazwa tarballa. Przechodzimy do niego:
cd nazwa_katalogu
Tutaj - zgodnie z zaleceniami wcześniej - powinniśmy przeglądnąć PKGBUILD (można to zrobić również bezpośrednio na stronie AUR) oraz pozostałe pliki. Generalnie zapoznać się z tym, co tu się znajduje. Po upewnieniu się, że wszystko jest w porządku, możemy przystąpić do budowania paczki. Wykorzystujemy w tym celu polecenie makepkg. Tutaj od razu uwaga: w polach depends i makedepends znajdziemy programy i biblioteki, które są wymagane przez budowaną paczkę. Jeśli pośród tych zależności są jakieś, których nie ma w repozytorium (trzeba sprawdzić), to musimy je zbudować i zainstalować wcześniej w ten sam sposób co inną paczkę z AUR. Jeśli już wszystkie zależności z AUR mamy zainstalowane, wówczas możemy budować program. Podstawowym poleceniem jest:
makepkg
które winno zbudować paczkę.
Może się jednak zdarzyć, że do budowy paczki potrzebujemy zainstalować również jakieś zależności z repozytoriów. Wówczas wydajemy polecenie:
makepkg -s
Obydwa sposoby spowodują, że w katalogu, w którym je wywołujemy będą również rozpakowane źródła oraz katalogi niezbędne do budowy paczki. Katalogi te, szczególnie src pomocne by zdiagnozować ewentualne problemy przy budowie.
Można to jednak wykasować.
makepkg -src
Teraz możemy instalować paczkę:
# pacman -U nazwa_paczki
Można sobie również ułatwić sprawę. Osobiście najczęściej używam polecenia:
makepkg -sirc
które zbuduje, wyczyści katalogi i zainstaluje paczkę.
YaourtTo popularny wrapper pacmana, który rozszerza jego możliwości o przeglądanie, budowę i instalację z AUR. Różnica z "metodą tradycyjną" jest taka, że w przypadku, gdy wymagane zależności znajdują się w AUR, to zostaną one wcześniej zbudowane. Podobnie też w przypadku wszelkich bardziej złożonych "przepisów" (najczęściej mają w nazwie meta), to również one zostaną zbudowane we właściwej kolejności. Składnia yaourt jest taka sama jak pacmana. Z powodzeniem zresztą może on go zastąpić także w przypadku instalacji paczek z repozytoriów.
Najpopularniejszym zatem poleceniem yaourt będzie takie, które zbuduje i zainstaluje paczkę:
yaourt -S nazwa_programu
Jeśli nie znamy pełnej nazwy programu, możemy wydać polecenie:
yaourt jakaś_nazwa
co wyświetli nam całą listę programów, odpowiadających na pytanie: jakaś_nazwa, a następnie wpisać cyfrę, bądź cyfry, które są przy tych aplikacjach, które nas interesują.
Yaourt może służyć też jako narzędzie, które ściągnie nam lokalnie niezbędne przepisy do budowy paczki (także z oficjalnych repozytoriów):
yaourt -G nazwa_programu
Ograniczeniem yaourta jest praca w tempfs, zatem może się okazać, że przy budowie dużych programów nie starczy nam miejsca do ich zbudowania. Wówczas polecam bądź to edycję pliku /etc/yaourtrc i wskazanie mu w pozycji TMPDIR miejsca, gdzie byłby w stanie zbudować paczkę, bądź to ściągnięcie "przepisu" i budowę paczki w "sposób tradycyjny".
Oprócz yaourta istnieją też inne wrappery pacmana rozszerzające jego funkcjonalność o "przepisy" z AUR jak np. wspomniany wcześniej pacaur. Także nakładki graficzne na pacmana, jakimi są Octopi i Pamac obecnie umożliwiają budowę także paczek z AUR.