RkBlog

Hardware, programming and astronomy tutorials and reviews.

Portage

Portage to w uproszczeniu system zarządzania pakietami w Gentoo. Napisany jest w Bashu i Pythonie a jego najpospolitsza czynność to ściągnąc zadany pakiet i zainstalować go wg. instrukcji zawartych w drzewie Portage. Podstawowe wiadomości znajdziemy w "man emerge".
Ebuild'y - są to pliki tekstowe które zawierają wszystkie dane o pakiecie (skąd go pobrać, jak zainstalować, jakie są jego zależności itp.) Ebuildy znajdziemy właśnie w drzewie Portage w usr/portage/.

Operacje z portage i pakietami

- Aktualizacja drzewa portage:
emerge --sync
emerge-webrsync
Pierwsza opcja korzysta z protokołu rsync, który czasami może być blokowany przez firewalle - wtedy używamy drugiej opcji by pobrać snapshoot drzewa (codziennie pakowane do archiwum bierzące drzewo portage). Trzecią opcją jest bezpośrednie ściągnięcie z serwera gentoo archiwum (np. gdy robimy to w kafejce działającej pod czymś innym).
- Wyszukiwanie pakietów:
emerge search FRAZA
emerge --searchdesc FRAZA
Pierwszy przykład dotyczy szukania pakietów które w swojej nazwie mają podaną frazę, drugi dodatkowo szuka frazy w opisach pakietów.
- Instalowanie pakietów:
emerge NAZWA_PAKIETU
emerge --pretend NAZWA_PAKIETU
emerge --fetchonly NAZWA_PAKIETU
Pierwsza linijka zawiera typowe polecenie instalowania pakietu. Druga linijka z opcją --pretend spowoduje że Portage wyświetli jedynie listę pakietów jakie musi pobrać (zależności) by zainstalować dany pakiet. Trzecia linijka z --fetchonly spowoduje że portage tylko pobierze wymagane pakiety (bez instalacji). --fetchonly i --pretend można połączyć co wyświetli listę mirrorów dla każdego z pakietów.
- Usuwanie pakietów:
emerge unmerge NAZWA_PAKIETU
Proste :)
- Aktualizacja pakietów:
emerge --update world
emerge --update --deep world
emerge --update --deep --newuse world
Pierwsza linijka zawiera polecenie aktualizujące zainstalowane pakiety. Aktualizowane będą jedynie zainstalowane pakiety (bez znacznej ingerencji w zależności). Druga linijka spowoduje aktualizację wszystkich możliwych pakietów (i zależności). Trzecia aktualizuje system uwzględniając nowe flagi USE. Z powyższymi komendami możemy łączyć --pretend czy --fetchonly.
- Usuwanie osieroconych zależności:
emerge depclean
revdep-rebuild
Po aktualizacji całego systemu możemy wywalić pakiety-zależności, które nie są już potrzebne (programy, które ich wymagały zostały np. usunięte). W tym celu wydajemy podane powyżej dwa polecenia. (to drugie pochodzi z pakietu gentoolkit).

Istnieje również kilka graficznych nakładek na portage: guitoo, kentoo i porthole.
RkBlog

Dystrybucje, 14 July 2008, Piotr Maliński

Comment article