Korzystanie z Arch User Repository

From Manjaro Linux
Jump to: navigation, search

Ogólnie

Warning: Tzw. repozytoriów AUR używasz na własne ryzyko! Nie otrzymasz żadnego wsparcia ze strony osób opracowujących Manjaro Linux. Nie otrzymasz również wsparcia ze strony Manjaro także w sytuacjach, gdy programy zainstalowane z AUR mogły mieć wpływ na działanie Manjaro.


Jakkolwiek Manjaro jest w 100% kompatybilne z Arch Linux oraz —zostało stworzone w oparciu o ten system— to nie jest możliwym proste korzystanie z oficjalnych repozytoriów tej dystrybucji w Manjaro. W zamian Manjaro ma swoje własne repozytoria, oferujące przetestowane i stabilne oprogramowanie.

Niemniej jednak, w dalszym ciągu istnieje możliwość uzyskania dostępu do dodatkowego oprogramowania, oferowanego w Arch User Repository (AUR). AUR jest bezpośrednio zarządzane przez społeczność Arch Linuksa. Istnieje możliwość, że najbardziej popularne programy, które dostarczane są przez AUR staną się ostatecznie dostępne w oficjalnych repozytoriach Arch Linuksa. Używanie repozytorium AUR stanowić może pewne zagrożenie dla systemu oraz stanowić źródło problemów. Korzystając z repozytorium AUR musisz pamiętać, że:

  • Te same paczki oprogramowania mogą istnieć w wielu wersjach.
  • Niektóre z nich mogą być przestarzałe.
  • Może okazać się, że program będzie tylko w części działał prawidłowo lub okaże się kompletnie bezużyteczny.
  • Mogą zdarzać się paczki, które są niepoprawnie skonfigurowane (np. zawierają niepotrzebne, bądź nie zawierają potrzebnych zależności).
  • W wyjątkowych sytuacjach może się zdarzyć, że zawiera złośliwe oprogramowanie.

Decydując się na korzystanie z AUR trzeba wiedzieć, że w tym repozytorium nie są umieszczane pakiety binarne, takie jak w oficjalnych repozytoriach Manjaro, a pewne reguły (w postaci plików PKGBUILD i postinstall, które można przyrównać do ebuildów znanych z Gentoo), które umożliwiają zbudowanie takiej paczki lokalnie na komputerze użytkownika. Proces instalacji aplikacji z repozytorium AUR można zatem uznać za zamiennik kompilacji oprogramowania, a nie proste instalowanie paczki binarnej. Teoretycznie aplikacja zbudowana według reguł udostępnianych w AUR winna działać. Pod jednym warunkiem: owe reguły (które zawierają nie tylko informacje o tym jak program winien zostać skompilowany ze źródeł, ale również informacje o jego zależnościach, miejscu gdzie program ma zostać zainstalowany na dysku lokalnym itp.) są prawidłowe. Niestety nikt nie daje na to gwarancji. To społeczność, korzystając ze społecznościowego repozytorium AUR, pokazuje opiekunom takich pakietów wszelkie jego niedoskonałości. Po zarejestrowaniu się w AUR i zalogowaniu, możliwym jest nie tylko oddawanie głosów na dany program (co może spowodować, że uzyska on popularność, która spowoduje przeniesienie programu do systemu oficjalnych repozytoriów), ale także komentowanie, zgłaszanie uwag do takich programów. Przy aktywnym uczestnictwie opiekuna być może uda się doprowadzić niedziałającą aplikację do funkcjonowania. Warto jest także czytać owe komentarze i sprawdzać, czy pośród nich ktoś z użytkowników nie udostępnił jakiejś poprawki. Zdecydowanie gorzej jest z programami porzuconymi (orphaned), które nie mają swoich opiekunów. W takim przypadku gorąco zalecane jest sprawdzenie przed instalacją, czy program n jeszcze kompatybilny z systemem, na którym ma zostać zainstalowany, czy nie został również porzucony przez jego twórców i uzyskał np. jakiś zamiennik, albo czy nie zmieniły się zależności takiej aplikacji, bądź sposób jej budowania ze źródeł w stosunku do tego, który został określony w PKGBUILD. Niewykluczone, że lepiej będzie taką porzuconą aplikację skompilować ze źródeł niż korzystać z udostępnionych w AUR reguł. Decydując się na to ostatnie rozwiązanie, należy jednak pamiętać, że o ile aplikacja zbudowana z AUR jest rozpoznawana przez pacmana i umieszczana w jego bazie, a nadto jest możliwe jej usunięcia z wykorzystaniem pacmana oraz aktualizacja z wykorzystaniem np. yaourt, to w stosunku do programu skompilowanego bezpośrednio ze źródeł nie będzie takich możliwości. Jak widzisz, proces instalacji aplikacji z AUR nie jest tak prosty, jak instalacja programów z oficjalnych repozytoriów Manjaro (czy też nieoficjalnych, a nawet z paczek binarnych udostępnionych przez twórców oprogramowania niezależnie od dystrybucji). Wymaga sporo uwagi, a niekiedy ingerencji w pliki instalacyjne (reguły budowania paczki), co może wymagać sporo wiedzy o systemie. Przy braku oficjalnego wsparcia, jakie Manjaro udziela programom instalowanym z AUR może być to czasochłonne i utrudnione zadanie. W przypadku podjęcia decyzji o instalacji programu z AUR warto jest spędzić nieco czasu i sprawdzić, czy istnieje wysokie prawdopodobieństwo prawidłowego jego działania, czy też nawet zbudowania. Jakkolwiek nie jest wykluczone instalowanie programów z AUR przez osoby dopiero co rozpoczynające korzystanie z linuksa, to jednak decydując się na taką instalację, warto mieć co najmniej podstawową wiedzę na temat swojego systemu, kompilacji programów itd. Przy korzystaniu z AUR warto pamiętać również o kilku rzeczach.

  1. Jak wspomnieliśmy - cały proces instalacji takiego programu jest jego kompilacją, która odbywa się na lokalnym komputerze użytkownika. Proces kompilacji wymaga niekiedy sporo miejsca, które musi mu zostać udostępnione w systemie. Standardowo kompilacja ta przeprowadzana jest w katalogu /tmp głównego drzewa katalogów. Warto zatem sprawdzić, czy w systemie jest wystarczająco dużo miejsca dla kompilacji, w przeciwnym przypadku budowanie pakietu z AUR nie zostanie zakończone sukcesem.
  2. Sam proces kompilacji może być długotrwały i może znacznie obciążać zasoby komputera (dotyczy to szczególnie słabszych maszyn). Warto się zatem zastanowić - szczególnie w przypadku dużych aplikacji - czy na pewno konieczna jest nam dana aplikacja, czy nie istnieje jakiś jej zamiennik, lub czy warto jest korzystać z wersji rozwojowych w przypadku, gdy w oficjalnych repozytoriach znajdują się stabilne wersje określonego programu.

Pamiętaj - nie piszemy tego wszystkiego, by odstraszyć Cię od korzystania z AUR, ale po to, by uświadomić Ci pewne sprawy.


Dostęp do AUR

Począwszy od wersji Manjaro 0.8.4, wszelkie programy niezbędne do korzystania z AUR są zainstalowane w systemie, włącznie z programem ułatwiającym łatwy dostęp do tego repozytorium, jakim jest yaourt. Także obie stosowane w Manjaro nakładki graficzne na pacmana umożliwiają już dostęp do AUR (pamac w wersji co najmniej 0.9.3, octopi od wersji 0.1.9) Jeśli używasz systemu zainstalowane przed wersją 0.8.4 to może okazać się konieczne zainstalowanie następujących pakietów:

1. The base-developer group of packages: Zainstalowanie tej grupy pakietów jest konieczne, albowiem przy instalacji pakietów z AUR następuje proces ich kompilacji na lokalnym komputerze.

2. yaourt: Jest to skrypt "rozszerzający" działanie pacmana na AUR. Tym narzędziem możesz łatwo przeszukać pakiety dostępne w AUR, jak również zainstalować je. Jest to narzędzie konsolowe, które w codziennej pracy może Ci zastąpić pacmana - potrafi bowiem skorzystać z niego dla zainstalowania paczek, które są udostępnione w oficjalnych repozytoriach. Jeśli znasz składnię poleceń pacmana, to narzędzie to nie będzie Ci obce, albowiem jego składnia jest taka sama.

W celu zainstalowania tych paczek wydaj w konsoli polecenie:

sudo pacman -S base-devel yaourt
note: O ile grupę base-devel musisz bezwzględnie zainstalować, by myśleć o instalacji programów z AUR, to yaourt jest jedynie narzędziem ułatwiającym pracę z AUR. Możesz bowiem przeszukiwać AUR bezpośrednio na stronie http://aur.archlinux.org i używać do budowy paczek polecenia makepkg, możesz też zamiast yaourt zdecydować się na używanie innych narzędzi, które oferują taką samą, bądź podobną funkcjonalność. Możesz również skorzystać ze wspomnianych narzędzi graficznych, czyli pamac i octopi do instalowania paczek z AUR. My jedynie polecamy yaourt (jako jedną z alternatyw), jak również pracę z AUR w konsoli, albowiem w naszej opinii taki wybór sprawdza się doskonale.

Wyszukiwanie i instalacja programów z AUR

Tip: It is strongly recommended to first visit the AUR website and examine the relevant page(s) for any and all software intended to be installed. These pages contain comments from both existing users and package developers, which may provide valuable information (e.g. warnings and/or solutions to problems). The AUR website can be found here

Yaourt jest narzędziem konsolowym i bardzo zbliżonym w używaniu do pacmana. Jak wspomnieliśmy - posiada taką samą składnię jak pacman z niewielkimi dodatkami. Zasadniczą różnicą w korzystaniu, jest to, że w przeciwieństwie do pacmana, yaourt zawsze wywołujemy z pominięciem uzyskania uprawnień administratora. Jeśli yaourt będzie potrzebował takie uprawnienia uzyskać, sam poprosi o wprowadzenie odpowiedniego hasła.

Jeśli chcesz przeszukać i zainstalować jakiś program, wystarczy, że wpiszesz w konsoli:

yaourt [nazwa programu]

Pamiętaj, że yaourt przeszukuje również udostępnione systemowi repozytoria, a przedstawiany w następstwie tej komendy wynik pracy yaourta pokazuje odnalezione programy w taki sposób, że w pierwszej kolejności pokazywane są wyniki znalezione w repozytoriach oficjalnych, a w następnej kolejności programy oferowane w AUR.

Dla przykładu, jeśli chciałbyś zainstalować Avant Window Navigator, to powinieneś wpisać:

yaourt avant-window-navigator

Jeśli jednak nie pamiętasz, bądź nie znasz całej nazwy programu, to wystarczy abyś podał jego część. Szukając zatem Avant Window Navigator wystarczy wpisać:

yaourt avant

jednakże w takim przypadku yaourt, jako wynik zwróci wszystkie programy zawierające słowo "avant", umożliwiając instalację jednego lub większej ilości spośród nich. Musisz zatem być ostrożny i zainstalować, to co naprawdę chcesz.

Yaourtsearch.png

Jak widać na ilustracji, wynik poszukiwania paczki zawierającej słowo "avant" w nazwie dał więcej rezultatów niż tylko odnoszący się do Avant Window Navigator. Teraz z tej listy wyników możemy zainstalować dowolne programy, używając do tego przypisanych wynikom cyfrom. Możemy wybrać jeden, bądź więcej pakietów do zbudowania. Na przykład, wpisanie 3 spowoduje zainstalowanie paczki avant-window-navigaor-bzr. Jeśli nadto wpiszemy 5 to dodatkowo zostanie również pobrany i zainstalowany zestaw dodatkowych apletów dla tego programu:

==> Enter No of packages to be installed (ex: 1 2 3 or 1-3)
==> -------------------------------------------------------
3 5
Tip: The numbers at the end of each line are user votes for each package. The higher the number, the more popular the package. Note that option '3' has the highest number of votes by far!


Yaourtdownload.png

Once the number(s) of your chosen software package(s) have been entered, and the installation process has begun, user comments from the AUR website will also be displayed. You may also be presented with a standard warning that the download package is unsupported and potentially dangerous.

You may also be asked if you wish to Edit PKGBUILD. Unless you know what you are doing, always type n for 'no' when asked. The purpose of this option is to allow experienced users to inspect the instructions that will be used to build the package(s) to be installed. As dependencies may also have to be installed first in the process, it is possible to be prompted to edit these as well.

Although you should just keep entering 'no' to these prompts, be aware that you will also be prompted on occasion to continue the installation as well. So make sure you read each prompt properly before entering anything, else you could end up aborting the installation by accident!


"Ręczna" instalacja pakietów z AUR

Jak wspomnieliśmy wyżej w notce, korzystanie z tego typu programów jak yaourt nie jest bezwzględnie konieczne, by dokonać instalacji pakietów udostępnionych w AUR. Można tego dokonać również "ręcznie". W tym celu postępujemy następująco-

Na stronie http://aur.archlinux.org wyszukujemy interesujący nas program. Na stronie programu zobaczymy m.in. komentarze. Zanim rozpoczniemy instalację, warto je przeczytać, bowiem możemy się z nich dowiedzieć, czy ktoś nie miał jakichś problemów z instalacją, czy zgłaszane błędy zostały naprawione, czy ktoś nie udostępnił jakiejś łatki, czy nowego PKGBUILDa. W ramce w prawej, górnej części okna przeglądarki zobaczymy możliwość pobrania archiwum (tar.gz) oraz przeglądnięcia PKGBUILD zanim rozpoczniemy dalszą pracę. Warto poświęcić chwilę na przeglądnięcie PKGBUILD (o ile się na tym cokolwiek znamy), albowiem może okazać się koniecznym dokonanie jakichś zmian, ewentualnie może się okazać, że w ogóle nie chcesz zainstalować takiego programu lub, że oczekiwania względem oferowanego tu pakietu powinieneś mieć inne (dla przykładu przeszukaj stronę AUR i znajdź pakiet ttf-win7-fonts, a następnie przeglądnij PKGBUILD - myślimy, że wiesz już o co nam chodzi).

Jeśli jesteśmy pewni, że chcemy zbudować sobie pakiet, to ściągamy oferowany tarball. Można tego dokonać bezpośrednio w przeglądarce (wystarczy kliknąć na plik tar.gz), można użyć wget, czy czegokolwiek innego umożliwiającego pobranie i zapisanie lokalnie pliku z internetu. Ważne, by wiedzieć, gdzie ów plik zostanie zapisany. Dalej zakładamy, że został on pobrany do katalogu ~/Pobrane, jaki znajduje się w Twoim katalogu domowym. Zakładamy również, że dalsza praca będzie odbywała się w tym katalogu, aczkolwiek nie istnieją żadne przeciwwskazania do wykorzystania innego.

Dobrym zwyczajem jest utworzyć w katalogu, w którym został zapisany tarball, katalog dla pracy (poniżej podajemy polecenia konsolowe, ale można również utworzyć stosowne katalogi, przenieść, czy rozpakować plik posługując się narzędziami graficznymi). Nazwa dowolna, w naszym przykładzie będzie to builds. Wpierw jednak przejdziemy do katalogu, do którego pobrany został tarball-

cd ~/Pobrane 
mkdir builds

Przenosimy pobrany plik (zakładamy, że ma on nazwę foo.tar.gz) do nowo utworzonego katalogu-

mv foo.tar.gz builds

Przechodzimy do katalogu builds-

cd builds

Rozpakowujemy plik-

tar -xvf foo.tar.gz

Utworzy się następny podkatalog, do którego przechodzimy-

cd <foo>

W tym katalogu będzie znajdował się co najmniej plik o nazwie PKGBUILD. Jeśli nie zapoznaliśmy się z nim wcześniej, warto to zrobić teraz. W tym momencie również, powinniśmy - o ile są one potrzebne - dokonać odpowiedniej modyfikacji pliku PKGBUILD, a być może również *.install. Jeśli wszystko jest w porządku, możemy przystąpić do tworzenia pakietu, wydając polecenie-

makepkg -s

Spowoduje ono stworzenie pakietu, który pacman może zainstalować. Jeśli okaże się, że konieczne są jakieś zależności, to również one zostaną zbudowane, jednakże wyłącznie, jeśli są one udostępnione w oficjalnych repozytoriach udostępnionych systemowi. W przypadku, jeśli zależności budowanego pakietu również będą znajdowały się wyłącznie w AUR, to należy je wpierw zainstalować w systemie w taki sam sposób, jak każdą inną paczkę z AUR.

Jeśli proces budowania paczki przejdzie prawidłowo, to w naszym katalogu pojawi się nowy plik, którego nazwa kończyć się powinna (i zwykle tak jest) na .pkg.tar.xz - w naszym przykładzie byłaby to paczka foo.pkg.tar.xz. Łatwo to można sprawdzić wydając polecenie:

ls  

Jeśli paczka została utworzona, możesz teraz ją zainstalować za pomocą pacmana (a także przez pamac bądź octopi). W tym celu należy wydać polecenie:

sudo pacman -U foo.pkg.xz


Note-W zamian za polecenie sudo pacman -U foo.pkg.xz możesz użyć również -

makepkg -i

Wsparcie, w kwestiach związanych z "ręcznym" budowaniem pakietów z AUR możesz znaleźć tu-[1]

(Courtesy bloomode for the tutorial).

Aktualizacja pakietów udostępnianych w AUR

Nie jest wykluczone, że jakiś pakiet dotychczas udostępniony wyłącznie w AUR nie znajdzie się oficjalnym repozytorium. Jeśli tak się stanie, to dalsza aktualizacja będzie się odbywać tak samo, jak wszystkich innych paczek udostępnionych w repozytorium. W odmiennym przypadku, w celu aktualizacji wszystkich programów zainstalowanych z AUR należy wydać poniższe polecenie:

yaourt -Syua

Polecenie to dokona także aktualizacji programów udostępnionych w repozytoriach oficjalnych, albowiem polecenie yaourt -Syu jest równoważne sudo pacman -Syu

Wsparcie

Odpowiednikiem tej strony na forum jest: [2]. Tutaj można zadawać wszelkie pytania związane z budową paczek z AUR. Strona w języku angielskim.

Zobacz również

Pacman

Pacman Tips