Urpmi

From Mandriva Poland

Skocz do: nawigacji, wyszukiwania
Urpmi, czyli „jak się tu coś instaluje?!”

Spis treści


Jeśli komukolwiek brakuje czegoś w Mandrivie Linux Spring to... prawdopodobnie wystarczy jedno polecenie, aby to zmienić. Zainstalowanie jakiegokolwiek pakietu w tym systemie, jest tak proste, że nikt nie powinien mieć z tym problemu. Sprawę ułatwia narzędzie nazwane urpmi i jego graficzne odpowiedniki, takie jak gurpmi, rpmdrake czy smart. Nie trzeba nawet wiedzieć co dokładnie chce się zainstalować – one podpowiedzą wszystko.


Ale zaczynając od początku...

[edytuj] Czym jest pakiet?

Mówiąc najprościej, to tak zwana paczka, która zawiera program i informacje o jego zależnościach, czyli wszystkim czego on wymaga (inne programy, biblioteki, itp). Menedżer pakietów (taki jak urpmi) rozpakowuje tą paczkę, sprawdza czy wszystko co potrzebne jest w systemie i po prostu instaluje sam program. Jeśli dany pakiet wymaga jakichś innych pakietów do poprawnego działania, menedżer po prostu pobierze je z Internetu i zainstaluje. Wszystkie pliki pakietów (czyli te o rozszerzeniu .rpm) są nazywane według ustalonego schematu: nazwa-programu.jego-wersja.dystrybucja.architektura.rpm. Przykładowo, taka nazwa może wyglądać w tej sposób: mozilla-firefox-2.0.0.3-mdv2007.1.i586.rpm. Mozilla-firefox to oczywiście nazwa popularnej przeglądarki internetowej, 2.0.0.3 to jej wersja, mdv2007.1 to skrócona nazwa dystrybucji Mandriva Linux Spring (jej numer to 2007.1), a i586 to architektura (typ procesora), dla którego pakiet został stworzony. Architektury o nazwach ix86 (na przykład i386, i586, i686) to procesory firmy Intel, athlon to (jak można się domyślić) procesory Athlon, itd.


[edytuj] Najprościej jest graficznie, więc: jak używać rpmdrake?

Jak zainstalować jakiś pakiet? Na początku powinniśmy zacząć od skonfigurowania repozytoriów, czyli miejsc, z których pobieramy pakiety. Zaraz po instalacji Mandrivy Spring w systemie możemy korzystać tylko z pakietów zawartych na płycie DVD lub płytach CD. Dodanie dodatkowych serwerów, na których możemy znaleźć dużo więcej aplikacji, jest bardzo proste. Wystarczy w Centrum Sterowania Mandriva Linux w zakładce Zarządzanie oprogramowaniem, wybrać Wybór lokalizacji, z których są pobierane pakiety podczas aktualizacji systemu. Nazwa może być trochę myląca, jednak ta opcja pozwala wybrać nie tylko miejsca, z których system jest aktualizowany.

Zobaczymy okno menedżera nośników. W domyślnej konfiguracji, zaraz po zainstalowaniu systemu, jedynymi pozycjami będą te opisane jako płyty DVD lub CD. Aby dodać serwery zawierające więcej oprogramowania, wystarczy użyć przycisku „Dodaj” po prawej stronie.

Grafika:menedzer-nosnikow1.png

W wyświetlonym okienku możemy wybrać czy menedżer ma dodać wszystkie serwery zawierające pakiety dla systemu czy tylko te zawierające aktualizacje. Na początku najlepiej wybrać opcję „Nośniki dystrybucji” - czyli dodanie wszystkich nośników z pakietami. Zostaniemy zapytani czy połączenie z Internetem działa, ponieważ listy pakietów na serwerach muszą zostać z nich pobrane. Po wybraniu „Tak” i chwili czekania, zostaniemy poproszeni o wybranie lokalizacji, z których chcemy pobierać oprogramowanie. Najlepiej wybrać te, które są najbliżej nas.

Grafika:menedzer-nosnikow2.png

Po wybraniu serwera, aplikacja połączy się z nim, aby pobrać pliki synthesis.hdlist.cz, które zawierają spis pakietów dostępnych na serwerze. Istnieją także bardziej rozbudowane wersje tych plików – hdlist.cz, które poza spisem pakietów, zawierają także ich opisy, informacje o zmianach, itp. Jednak menedżer automatycznie korzysta z plików synthesis, ponieważ są one o wiele mniejsze, więc ich pobieranie z serwera zajmuje znacznie mniej czasu.
Kiedy menedżer skończy konfigurowanie nośników, na liście zobaczymy je opisane wieloma nazwami. Każda z nich odnosi się do innego katalogu na serwerze, ponieważ każdy z nich zawiera pakiety różnego rodzaju.
Trzy podstawowe typy nośników to:
main – zawiera podstawowe pakiety, wspierane przez Mandrivę, które działają całkowicie pewnie,
contrib – dodatkowe pakiety, które nie są rozwijane przez Mandrivę, ale przez inne osoby, w związku z czym nie zawsze działają w 100% stabilnie, a aktualizacje do nich nie zawsze wychodzą regularnie,
non-free – zawiera pakiety, które nie są darmowe.
Dodatkowo, każda z powyższych kategorii, posiada także 4 pod-kategorie, które dokładnie określają pakiety:
release – pakiety wydane równocześnie z systemem,
updates – aktualizacje wcześniej wydanych pakietów – jest to bardzo ważna kategoria, ponieważ to właśnie z tych nośników (domyślnie) system pobiera aktualizacje,
backports – pakiety z nowszych (testowych) wersji systemu,
testing – pakiety używane to testów, prawdopodobnie zawierające błędy, które użytkownicy mogą zgłaszać do poprawienia.
Jeżeli nie chcemy korzystać z któregoś typu pakietów, wystarczy odznaczyć opcję w kolumnie „Włączone” przy danym nośniku. Menedżer nośników nie będzie wtedy brał po uwagę tych pakietów. Jeśli w ogóle chcemy się pozbyć jakichś nośników, wystarczy zaznaczyć dany nośnik i kliknąć „Usuń”. Informacje o nim zostaną wtedy całkowicie usunięte z systemu. Nośniki (a konkretnie pliki hdlist.cz i synthesis.hdlist.cz) mogą się zdeaktualizować (jeśli, na przykład, na serwerze zostanie dodane nowe oprogramowanie), ponieważ te pliki są przechowywane na naszym dysku i nie są aktualizowane za każdym razem, gdy korzystamy z rpmdrake. Dlatego, aby je zaktualizować, wystarczy wybrać opcję „Aktualizuj” i nośniki, które chcemy zaktualizować. Polecam także sprawdzić czy „Ogólne ustawienia” są skonfigurowane prawidłowo. Najbardziej optymalne ustawienia (które powinny działać zawsze) są widoczne na rysunku poniżej.

Grafika:menedzer-nosnikow3.png

Po skonfigurowaniu nośników z oprogramowaniem, wystarczy wyjść z Menedżera (wybierając „OK”). Zostaniemy z powrotem przeniesieni do Centrum Sterowania Mandriva Linux i Zarządzania oprogramowaniem. Aby przeglądać listę dostępnych pakietów i je zainstalować wystarczy wybrać „Przegląd oprogramowania, które można zainstalować i instalacja pakietów”. Uruchomi się wspomniane narzędzie rpmdrake, które poprosi nas o chwilę cierpliwości, ponieważ musi wczytać wszystkie listy pakietów (które wcześniej skonfigurowaliśmy).

Menedżer oprogramowania
Menedżer oprogramowania

Wyświetlone okno jest podzielone na 3 części. Po lewej znajduje się lista kategorii z pakietami. Aby dowiedzieć się co z danej kategorii można zainstalować, wystarczy wybrać ją w tym menu. Lista pakietów pojawi się wtedy po prawej stronie. Trzecią część okna stanowi miejsce pod listą, w którym pojawia się opis aktualnie wybranego pakietu. Sposób wyświetlania kategorii po lewej stronie można zmieniać, korzystając z rozwijalnego menu nad listą. Domyślnie otwierana opcja „Wszystko” pokazuje wszystkie dostępne pakiety – te zainstalowane i te nie. „Zainstalowany” i „nie zainstalowany” pozwalają ograniczać przeglądanie tylko do pakietów, które (jak wskazują nazwy) są już w systemie bądź ich nie ma. Analogicznie, opcje dotyczące aktualizacji wyświetlają pakiety aktualizacyjne (nowsze wersje pakietów zainstalowanych w systemie i poprawki do samego systemu). Nad listą pakietów znajduje się wyszukiwarka, która wyświetla wszystkie pakiety, które zawierają (zależnie od wybranej opcji) w nazwach, opisach lub nazwach plików, wpisany ciąg znaków.

Menedżer nośników
Menedżer nośników

Aby zainstalować jakiś pakiet, wystarczy zaznaczyć pole obok jego nazwy. Zostanie on oznaczony białą strzałką skierowaną w dół na zielonym tle – oznacza to, że będzie zainstalowany, po wybraniu „Zastosuj” u dołu okna. Czasem może zostać wyświetlona informacja o zależnościach – rpmdrake wyświetli listę innych pakietów, które muszą zostać zainstalowane. Wystarczy wybrać „OK”.
Pakiety, które są już zainstalowane są oznaczone białym „haczykiem” na zielonym tle. Aby odinstalować taki pakiet wystarczy odznaczyć pole obok jego nazwy. Oznaczenie zostanie zmienione na strzałkę na czerwonym tle, która oznacza, że pakiet zostanie usunięty po kliknięciu „Zastosuj”. Tu także może się pojawić informacja o innych pakietach, które zostaną odinstalowane, ponieważ wymagają pakietu, który chcemy usunąć. Po wybraniu wszystkich potrzebnych nam pakietów, wystarczy kliknąć wspomniane „Zastosuj”. Menedżer wyświetli podsumowanie o pakietach, które zostaną zainstalowane i/lub odinstalowane. Jeśli wszystko się zgadza, klikamy „Tak” i czekamy. Po zakończeniu procesu, zostanie ponownie wyświetlone okno rpmdrake. Aby je opuścić wystarczy wybrać „Zakończ”.
W zakładce Zarządzanie oprogramowaniem w Centrum Sterowania Mandriva Linux dostępne są także inne opcje, takie jak odinstalowanie i aktualizacja pakietów. Odinstalowanie wyświetla takie samo jak poprzednio okno rpmdrake, tylko pakiety wyświetlone w spisie po lewej to te zainstalowane w systemie (w menu rozwijalnym nad listą jest wybrana opcja „Zainstalowany”). Opcja aktualizacji w Zarządzaniu oprogramowaniem, wyświetla trochę inne okno, które nie zawiera spisu kategorii po lewej stronie. Wypisuje tylko wszystkie dostępne aktualizacje (nowe wersje pakietów zainstalowanych w systemie), które w Menedżerze nośników były wybrane jako „Aktualizacje”.


[edytuj] Urpmi tekstowo, czyli potęga konsoli

To był rpmdrake, a co z tym urpmi? Rpmdrake jest graficzną nakładką na urpmi, więc – jak można się domyślić – urpmi jest narzędziem tekstowym, więc korzysta się z niego przez konsolę. W tym miejscu pewnie większość początkujących użytkowników najchętniej przerzuciłaby stronę, więc bardzo proszę tego nie robić. Mimo tego, co może się wydawać – w końcu konsola Linuksa przez niedoświadczonych ciągle postrzegana jest jako coś zbyt dziwnego, by można było z tego korzystać - trzeba zaznaczyć, że używanie urpmi bez graficznych nakładek jest bardzo proste. Więc jak zacząć? Po otwarciu słynnej konsoli, trzeba uzyskać uprawnienia użytkownika root (czyli wpisać su – enter – hasło roota – enter) i można zaczynać zabawę.

[edytuj] urpmi

Podstawową komendą urpmi jest.. urpmi. Wpisanie tej komendy wyświetli podstawową pomoc dotyczącą jej używania.

Grafika:urpmi1.png

Aby zainstalować jakiś pakiet trzeba wpisać urpmi nazwa-pakietu, np. urpmi mozilla-firefox. Jeżeli pakiet, który instalujemy posiada jakieś niespełnione zależności (to znaczy takie, których nie ma w systemie), urpmi wyświetli komunikat (podobnie do rpmdrake) i zapyta czy zgadzamy się na instalacje dodatkowych, potrzebnych pakietów.

Grafika:urpmi2.png

[edytuj] urpme

Do usuwania pakietów służy komenda urpme. Korzysta się z niej tak samo jak z polecenie urpmi i tak samo, jeśli pakiet, który usuwamy jest wymagany przez jakiś inny, urpmi wyświetli informacje o wszystkim, co musi usunąć.

Grafika:urpmi3.png

Wszystko, co można zrobić graficznie, przez rpmdrake, można zrobić także tekstowo, używając bezpośrednio komend urpmi.

Dodanie nośników z oprogramowaniem (repozytoriów) wykonuje się komendą urpmi.addmedia. Jego podstawowa składnia wygląda następująco:
urpmi.addmedia nazwanośnika ftp://adres.serwera/ścieżka/do/katalogu/(synthesis.)hdlist.cz
Aby znaleźć adresy serwerów, które można dodać, polecam odwiedzić stronę easyurpmi.zarb.org. Kreator, po 3 prostych krokach podaje gotowe komendy urpmi.addmedia, które wystarczy wkleić do konsoli, aby skonfigurować nośniki.
Aby usunąć którykolwiek z dodanych nośników, trzeba skorzystać z polecenia
urpmi.removemedia nazwanośnika
Ta komenda działa tak samo, jak wybranie „Usuń” w rpmdrake.
Aktualizacja nośników (plików hdlist.cz i synthesis.hdlist.cz) także jest bardzo prosta. Wykonuje się ją poleceniem urpmi.update nazwanośnika przy aktualizacji tylko jednego z nich. Aby zrobić to równocześnie dla wszystkich repozytoriów, wystarczy dodać argument a, czyli wykonać komendę
urpmi.update -a

[edytuj] urpmf

Urpmf to komenda, która nie posiada swojego odpowiednika w rpmdrake. Pozwala ona na znalezienie dowolnego pliku w pakiecie. Na przykład, jeśli kompilujemy ręcznie jakiś program, który wymaga jakiegoś pliku, który nie znajduje się w systemie, a nie wiemy, w jakim pakiecie możemy go znaleźć, wystarczy wykonać polecenie urpmf nazwapliku. To polecenie działa jednak tylko jeśli nasze nośniki korzystają z plików hdlist.cz (a nie synthesis.hdlist.cz). Posiadając tylko pliki synthesis, możemy skorzystać z tego polecenia w ograniczonym zakresie. Pozwala ono także na wyszukiwanie słów w nazwach i krótkich opisach pakietów.

Aby znaleźć wszystkie pakiety zawierające w opisie słowo 'mail', wystarczy wykonać polecenie:
urpmf --summary mail
Aby to samo słowo znaleźć w nazwach, wystarczy opcję --summary zmienić na --name. Wtedy polecenie będzie wyglądać tak:
urpmf --name mail
Aby wyszukać więcej niż jedno słowo, wystarczy wziąć je w nawias. Na przykład:
urpmf --summary 'mail client'

Grafika:urpmi4.png

[edytuj] urpmi.update

Jak szybko zaktualizować system korzystając z konsoli? Wystarczą dwa połączone polecenia urpmi:
urpmi.update updates && urpmi --update –auto-select
Można je oczywiście wpisać osobno – najpierw część przed znakami &&, a następnie część pozostałą. Co robi ta komenda? urpmi.update updates aktualizuje wszystkie nośniki oznaczone jako „updates”, czyli zawierające aktualizacje (w rpmdrake to te zaznaczone w kolumnie „Aktualizacje”). Następnie polecenie urpmi --update –auto-select korzysta tylko z tych nośników (opcja –update oznacza użycie tylko nośników aktualizacyjnych) i automatycznie wybiera wszystkie pakiety, które muszą być pobrane (opcja –auto-select). Po wykonaniu tej komendy, urpmi wyświetli listę wszystkich pakietów, które wymagają aktualizacji i zapyta nas o zgodę na ich pobranie. Jeśli dodamy jeszcze opcję --auto, urpmi zainstaluje też wszystkie zależności do pakietów. Wykonanie tej komendy jest równoznaczne z zainstalowaniem wszystkich pakietów, które rpmdrake wyświetla w oknie aktualizacji w Centrum Sterowania Mandriva Linux.

[edytuj] urpmq

No dobrze, ale jak w tym wszystkim sprawdzić jakie nośniki są skonfigurowane? Do wyszukiwania (podobnego jak urpmf) służy komenda urpmq. Aby wyświetlić listę wszystkich dostępnych repozytoriów, należy wykonać polecenie
urpmq --list-media 

Grafika:urpmi5.png

Aby za pomocą urpmq wyszukiwać pakiety (a dokładnie ich nazwy), wystarczy wpisać
urpmq nazwa-pakietu
Trzeba jednak pamiętać, że wydanie polecenia w tej sposób, zakończy wyszukiwanie jednym pakiecie. Aby znaleźć wszystkie, które zawierają w nazwie dany ciąg znaków, trzeba skorzystać z opcji --fuzzy.

Grafika:urpmi6.png

Urpmq może wyświetlić także listę zależności danego pakietu. Polecenie
urpmq -d nazwapakietu
wypisze nazwy wszystkich pakietów, wymaganych przez ten, który chcemy zainstalować. Aby wyświetlić tylko te zależności, które nie są zainstalowane w systemie, wystarczy dodać opcję -m, czyli wykonać polecenie urpmq -d -m nazwapakietu. Dodatkowo, opcja --sources, pokazuje pełne adresy plików (na serwerze), które muszą być zainstalowane.

Urpmq z opcją -i wyświetla opis pakietu. Wymaga to posiadania skonfigurowanych nośników z plikami hdlist.cz (a nie synthesis.hdlist.cz).

[edytuj] urpmi i rpm

Urpmi może także instalować konkretne pakiety rpm, które znajdują się na dysku. Jest to bardzo pomocne, jeśli znajdując jakiś pakiet rpm w Internecie i zapisując go za dysku, nie wiemy czy posiadamy w systemie wszystkie zależności tego pakietu. Będąc w katalogu, w którym zapisaliśmy plik .rpm, wystarczy wydać polecenie
urpmi plik.rpm
a urpmi zainstaluje pakiet i sprawdzi czy wszystkie zależności są spełnione (jeśli nie, to oczywiście je zainstaluje). Aby skorzystać w ten sposób z urpmi, nie trzeba nawet ściągać pliku .rpm na dysk. Urpmi zadziała też, jeśli zamiast nazwy pliku na dysku, podamy ścieżkę do serwera FTP lub HTTP.

Grafika:urpmi7.png


[edytuj] Najczęstszy problem z urpmi, czyli „Baza danych zablokowana”

Ten błąd oznacza, że właśnie instalowany jest jakiś pakiet, nośniki są aktualizowane lub urpmi wykonuje jakiekolwiek inne polecenie. Najczęściej pojawia się on w momencie, kiedy korzystając z urpmi w jednym oknie, chcemy uruchomić je także w innym. Niestety nie jest to możliwe, ponieważ urpmi (ze względów bezpieczeństwa), kiedy korzysta z bazy nośników, blokuje ją, aby nie została zmieniona. Instalując jeden pakiet, nie możemy równocześnie aktualizować innych i jeszcze dodawać nowych repozytoriów. Jeżeli jednak ten błąd jest wyświetlany, mimo że ani rpmdrake nie jest uruchomiony ani polecenia urpmi nie są wykonywane, oznacza to, że prawdopodobnie urpmi zablokowało się podczas instalacji lub pobierania pakietów. Najprostszym rozwiązaniem jest restart komputera, który pomaga zawsze, może jednak uszkodzić bazę, przez co będziemy musieli skonfigurować ją jeszcze raz. Jeśli jednak wolimy rozwiązać problem w inny sposób i jesteśmy pewni, że urpmi na pewno się zacięło, można wykonać następujące polecenia:

killall urpmi urpmi.update urpme rpm urpmi.addmedia
rm -f /var/lib/urpmi/.LOCK /var/lib/rpm/RPMLOCK

Ich działanie, w gruncie rzeczy, daje rezultat dość podobny do restartu komputera i może wywołać takie same szkody.
Mimo wszystko, według wielu opinii, najlepszym rozwiązaniem jest restart komputera, ale tylko ten wykonany przez polecenie reboot lub przez wybranie restartu z menu „Zakończ pracę”.

[edytuj] Lepiej graficznie czy tekstowo?

Na to pytanie każdy użytkownik musi sam znaleźć odpowiedź. Niektórzy wolą ładną czcionkę rpmdrake, inni konsolowe urpmi. Początkujący wolą zazwyczaj metody graficzne. Zaawansowani - tekstowe. Z akcentem na słowo „zazwyczaj”. Wszystko zależy od osobistych upodobań. Chociaż tak na prawdę, nie ma znaczenia, z której metody instalacji oprogramowania będziemy korzystać. Obie używają przecież tych samych danych, a w efekcie każdej z nich, dostaniemy dokładnie to samo – nowy pakiet w systemie. A przecież o to właśnie chodzi.

W innych językach