Poldek - sztandarowy produkt PLD. Jeszcze na początku XXI wieku, był obiektem westchnień i pożądania wielu użytkowników Linuksa. Można powiedzieć, że przecierał szlaki dla istniejących obecnie zaawansowanych menadżerów plików. Trudno sobie nawet dzisiaj wyobrazić zarządcę pakietów, który nie sprawdzałby zależności, nie potrafiłby wyszukiwać konkretnych plików w repozytorium, etc.
Stworzenie przewodnika, który opisuje wszystkie możliwości polkda, byłoby bardzo trudne i czasochłonne. Istnieje zresztą wiele bardzo dobrych opisów, jak należy z niego korzystać, chociażby ten znajdujący się w głównej dokumentacji PLD. Serdecznie zachęcam do jego przeczytania. Istnieje również storna systemowa man którą, jak wszyscy doskonale wiedzą, można przeczytać wykonując polecenie:
man poldek
Skoro wszystko zostało już tak skrzętnie opisane, to po co właściwie ten przewodnik? Zdaję sobie sprawę, że nie wszyscy lubią czytać dokumentację, przeglądać wiele stron i przebijać się przez szczegółowy opis programu. Dla większości wystarczy prosty przewodnik, który umożliwi im pracę z programem. Stąd też pomysł na niniejszy przewodnik. Skupię się w nim głównie na najczęściej wykonywanych czynnościach. Ograniczę się również do trybu interakcyjnego, jest znaczniej przyjaźniejszy dla początkujących użytkowników.
Aby uruchomić poldka w trybie interaktywnym wystarczy wywołać polecenie:
poldek
Zanim przejdę do szczegółów, warto jeszcze wspomnieć, że poldek, do pełnego działania, wymaga wysokich uprawnień – root'a, inaczej super-użytkownika. Można oczywiście uruchomić go z uprawnieniami użytkownika, ale wtedy najważniejsze opcje - instalowania i usuwania pakietów - nie będą dla nas dostępne.
Koniec zbyt długiego wstępu, czas na konkrety. A więc zaczynamy!
Każde uruchomienie poldka powinniśmy poprzedzić aktualizacją bazy pakietów. Możemy uczynić to na dwa sposoby:
poldek --up
Będzie oszczędzał nasze łącze i pobierze różnice między naszą aktualną bazą a repozytoriami. Jeśli nie aktualizowaliśmy bazy od dawna może się nie powieść. Druga możliwość to:
poldek --upa
Pobierze pełne informacje o repozytoriach. Pewne, ale będziemy musieli ściągnąć kilka megabajtów. Coś za coś.
Od razu uwaga dla osób które nie aktualizują często bazy. Jednym z objawów pominięcia tego kroku jest informacja od naszego menadżera pakietów, że nie jest w stanie zainstalować jakiegoś pakietu! Dzieje się tak dlatego gdyż, prosimy poldka o zainstalowanie paczki, która od dawna nie znajduje się w repozytorium. Została ona po prostu zastąpiona na serwerze nową wersją.
Nawet jeśli jest to nasze pierwsze uruchomienie poldka, w naszym systemie znajdują się już jakieś zainstalowane pakiety. Ważne jest, chociażby ze względów bezpieczeństwa, by były one w jak najnowszych wersjach. Listę aktualizacji możemy obejrzeń wykonując (oczywiście w trybie interaktywnym):
ls -u
bądź krótszą komendę i zwracającą więcej informacji:
llu
Drugie polecenie dodatkowo pokaże nam rozmiar każdego pakietu oraz łączny rozmiar wszystkich paczek. Pełnej aktualizacji dokonujemy wykonując:
upgrade *
Zachęcam jednak wszystkich aby wcześniej przeprowadzili test uaktualnienia pakietów:
upgrade -t *
Po pierwsze, odpowie on nam na pytanie, czy możliwa jest pełna, bezbłędna aktualizacja systemu, bez ściągania nowych pakietów. Po drugie, poznamy łączny rozmiar danych, który należy ściągnąć - nie musi być on równy z tym, który otrzymamy wykonując llu. Pakiety w końcu są upakowane. Jeśli chcemy uaktualnić tylko niektóre paczki, wystarczy podać ich listę:
upgrade nazwa/y-pakietu/ów
np.:
upgrade ImageMagick-* libcap-2.17-2.i686
Jak widać, możemy podać pełne nazwy pakietów wraz z wersją, samą nazwę, bądź całą grupę korzystając z gwiazdki. Warto wspomnieć, że nie musimy przepisywać nazw pakietów z listy llu. Po napisaniu słowa upgrade działa autouzupełnianie - poldek, po dwykrotnym naciśnięciu przycisku tab, wypisze nam listę możliwych pakietów. Na ogół wystarczy napisać kilka pierwszych liter nazwy i menadżer pakietów sam dopisze resztę. Ba, nawet słowo upgrade i wiele innych jest podpowiadane.
Umiemy już aktualizować system, to może coś zainstalujemy? Tylko co? Skąd mamy wiedzieć jak nazywa się jakaś paczka, albo w którym pakiecie znajduje się jakiś program? Pomogą nam w tym oczywiście opcje wyszukiwania. Najprostsza postać wyszukiwania to:
search *nazwa*
np.:
search *skype*
Powinniśmy w wyniku ujrzeć coś takiego:
poldek:/all-avail> search *skype* Przeszukiwanie pakietów..........................................zrobione. 5 package(s) found: gnome-do-plugins-0.8.2.1-1.i686 kde-protocol-skype-1.0.31.0-3.noarch kde4-kdenetwork-kopete-protocol-skype-4.3.4-4.i686 python-skype-1.0.31.0-3.noarch skype-2.1.0.47-2.i686
Otrzymaliśmy listę pakietów, w których, w ich podsumowaniu i opisie znaleziono słowo “skype”. Możemy się teraz upewnić, co zawiera dany pakiet, czytając jego opis, np.:
desc skype-2.1.0.47-2.i686
Jeśli odpowiedź nas satysfakcjonuje, możemy przystąpić do instalacji, jeśli nie, oczywiście czytamy inne opisy, bądź szukamy dalej wpisując inne zapytanie. Możemy w ten sposób wyszukiwać również programy, których nazw nie znamy a interesują nas ich pewne właściwości:
poldek:/all-avail> search *edytor*html* poldek:/all-avail> search *przeglądarka*www*
Kolejnym, przydatnym sposobem wyszukiwania jest wyszukiwanie plików:
search -f [fragment nazwy, ścieżki]
np.:
search -f */skype search -f */ping search -f *.png search -f *ant*.jar search -f /usr/share/kadu/*
W odpowiedzi na nasze zapytanie powinniśmy ujrzeć listę pakietów, w których znajdują się pliki pasujące do podanego wzorca. Dla pewności, możemy obejrzeć listę plików z paczki wykonując:
desc -f nazwa-pakietu
np.:
desc -f poldek
Instalacja jest bardzo prosta. Wystarczy wydać polecenie:
install nazwa/y-pakietu/ów
i poldek zainstaluje wybrany pakiet, ewentualnie dociągnie inne paczki, potrzebne do prawidłowego działania pakietu. Możemy podać samą nazwę pakietu, nazwę wraz z wersją, bądź wskazać grupę posługując się gwiazdką. Oczywiście pamiętajmy, że zawsze wspiera nas autouzupełnianie (2x tab). Przykłady instalacji:
install gimp install skype-2.1.0.47-2.i686 install gstreamer-* install dos2unix unix2dos evince
Polecenie install również wspiera testowanie, tak jak to opisano przy aktualizacji systemu. Dlatego warto wykonać:
install -t nazwa/y-pakietu/ów
i upewnić się, że nie zaczniemy przypadkiem ściągać za chwilę 500MB.
Odinstalowanie pakietu jest bardzo proste. Wpisujemy po prostu:
uninstall nazwa/y-pakietu/ów
Podobnie jak przy instalacji możemy posłużyć się: samą nazwą, nazwą z wersją, bądź grupą pakietów. Przykłady:
uninstall skype uninstall gstreamer-*
Dla naszego bezpieczeństwa poldek od razu nie usunie wybranych pakietów, tylko wypisze ich listę i poprosi o potwierdzenie. Nie zdziw się również, gdy oprócz wskazanych przez Ciebie pakietów, lista paczek do usunięcia będzie większa. Po prostu niektóre pakiety wymagają istnienia innych - nazywamy to zależnościami - i po ich zniknięciu, dalsza ich egzystencja w systemie nie miałaby sensu.
Jeśli uważasz, że przewodnik jest zbyt powierzchowny i przedstawia zbyt mały zakres wiedzy, zajrzyj na wspomnianą już oficjalną stronę dokumentacji PLD. Sam poldek zawiera pomoc, wywołujemy ją:
poldek:/all-avail> help
O szczegóły, parametry każdego polecenia możemy go zapytać wykonując:
nazwa-komendy -?
np.:
install -? ls -? desc -?
Jeśli interesujesz się pakietami i chciałbyś dowiedzieć się o nich nieco więcej, rzuć okiem na przewodnik RPM w praktyce. Warto także przeczytać krótką i zgrubną instrukcję budowania pakietów z CVS.