Download: CoverStory_aptitude
Transkrypt
Download: CoverStory_aptitude
COVER STORY Aptitude Instalowanie oprogramowania w Debian GNU/Linux Obsługa paczek W obecnej wersji dystrybucja Debian zawiera około 9000 pakietów. Kolejna wersja będzie posiadać około 14000! Dzięki programowi Aptitude mamy lepszy przegląd sytuacji i nie musimy już przejmować się szukaniem odpowiedniego oprogramowania. UPS DIRK MATERLIK Z aawansowane zarządzanie pakietami z obsługą zależności i konfliktów jest jedną z największych zalet Debiana GNU/Linux [1]. Z uwagi na ogromną liczbę dostępnego oprogramowania w formie pakietów Debiana, większość użytkowników chętnie skorzystałaby z jakiejś pomocy w tym gąszczu oprogramowania. Aptitude udostępnia użytkownikowi prosty graficzny interfejs użytkownika, który umożliwia łatwe odnalezienie, instalowanie i usuwanie pakietów. Aptitude zapewnia znacznie wygodniejsze, w porównaniu z poleceniami uruchamianymi z wiersza poleceń, przeglądanie listy pakietów. Debian AUTOR Pakiety Debiana można łatwo rozpoznać, ponieważ posiadają rozszerzenie .deb. Pakiet obejmuje grupę związanych ze sobą plików i danych. Ponadto pakiety zawierają metadane i ta właśnie cecha różni je od zwykłych skompresowanych plików archiwum. Metadane to m.in. informacje o wersji czy zależnościach od innych pakietów. 22 Dirk Materlik niedawno zdobył tytuł magistra informatyki na Uniwersytecie Berlińskim, a obecnie zajął się rozwijaniem własnego biznesu. Lipiec 2004 Każdy pakiet Debiana posiada swojego opiekuna. Jest on odpowiedzialny za takie przygotowanie pakietu, aby użytkownicy mogli go bez problemu dodać do działającego systemu Debian. Ponadto w każdym pakiecie muszą znaleźć się informacje licencyjne na temat Debiana [3]. Ręczna obsługa pakietów Debiana jest raczej rzadko wykorzystywana. Służące do tego celu polecenie dpkg może instalować lub usuwać pakiety oraz wyświetlać ich metadane. Jednakże dpkg posiada wyłącznie informacje o oprogramowaniu zainstalowanym na naszym komputerze. Jeżeli nowo zainstalowany pakiet będzie wymagać programów, których jeszcze nie zainstalowaliśmy, zobaczymy komunikat o błędzie i dkpg zakończy pracę, pozostawiając użytkownikowi problem do rozwiązania. Biblioteka APT (ang. „Advanced Package Tool” – zaawansowane narzędzie do pracy z pakietami) posiada natomiast metadane wszystkich pakietów ze wszystkich dostępnych źródeł, rozpoznaje zależności i rozwiązuje konflikty (patrz Ramka 1: Źródła Debiana). Standardowe oprogramowanie dla APT to zestaw narzędzi składający się z programów uruchamianych z wiersza poleceń: apt-get, apt-cache, apt-config, apt-cdrom i apt-setup. Wykonując polecenie apt-get install aptitude zainstalujemy Aptitude wraz z niezbędnymi bibliotekami. Szczegółowe informacje dotyczące konfiguracji APT i korzystania z towarzyszących narzędzi uruchamianych z wiersza poleceń znajdują się pod adresem [4]. Na Rysunku 1 pokazano strukturę narzędzi do zarządzania pakietami w Debianie: APT pobiera żądane pakiety oraz zależności z konfigurowanych źródeł i przekazuje je do dpkg, który dokonuje właściwej instalacji. Poza na- Ramka 1: Źródła Debiana Aby dowiedzieć się, gdzie znajdują się pakiety gotowe do instalacji, APT przetwarza plik konfiguracyjny /etc/apt/sources.list. Wykorzystuje do tego celu bazę danych wszystkich dostępnych pakietów i ich lokalizacji. Jeżeli dodamy nowe źródło danych, APT przetworzy nową listę pakietów i zapisze informacje o nowych programach do swojej bazy da- www.linux-magazine.pl nych. Jeśli użytkownik zechce zainstalować pakiet, APT będzie „wiedzieć”, na której płycie CD znajduje się pakiet lub z którego serwera można go pobrać. Jeżeli przeraża Was pomysł ręcznej edycji pliku sources.list, dla ustawienia źródła pakietów z płyty CD/DVD możecie skorzystać z apt-setup lub aptcdrom add. Aptitude COVER STORY SŁOWNICZEK GNU: Projekt GNU („GNU is Not Unix”) został zapoczątkowany w 1984 roku. Jego celem jest rozwijanie systemów Unix wyłącznie w oparciu o wolne oprogramowanie. Linux jest najpopularniejszym darmowym jądrem opartym na Uniksie, ale teoretycznie projekt Debian jest otwarty na każdą wolną alternatywę, np. Hurd [2] (nadal niedokończony) z projektu Debian GNU/Hurd. Oficjalna nazwa Debian GNU/Linux dotyczy systemu Debian GNU opartego na jądrze Linuksa. Rysunek 1: Wielowarstwowa struktura obsługi pakietów w Debianie. rzędziami linii poleceń i Aptitude istnieje wiele nakładek graficznych opartych na graficznym interfejsie użytkownika (GUI), np. Synaptic [5], KPackage [6] czy Gnome-APT. Opiekun (ang. maintainer): Osoba dbająca i zapewniająca użyteczność danego pakietu z oprogramowaniem. Metadane: Informacje dodatkowe. Przykładowo, plik MP3 zawiera informacje o wyko- nawcy i gatunku muzyki, które są właśnie metadanymi. ssh: „Secure shell” umożliwia użytkownikowi dostęp do wiersza poleceń innego komputera przy pomocy zdalnego, bezpiecznego połączenia terminalowego. Przy pomocy ssh można także szyfrować w zasadzie dowolne połączenie sieciowe. Wyrażenia regularne: Sposób definiowania wzorca wyszukiwania typowy dla systemów Unix, np. kropka oznacza dowolny znak, a gwiazdka – liczbę powtórzeń poprzedniego znaku. Tak więc wyrażenie „.*” spowoduje wyszukanie wszystkiego, gdyż określa wyszukiwanie dowolnego znaku oraz dowolnej ilości powtórzeń. Kiedy wpiszemy aptitude bez dodatkowych parametrów, program wyAptitude jest alternatywą dla wiersza poleświetli początkowo tylko ceń. Nie posiada jednak nakładki graficzpasek menu z opisem nej z interfejsem GUI w pełnym tego słowa pomocy dla najważniejznaczeniu. Korzysta z biblioteki curses, szych klawiszy, listę paktóra wykorzystuje semigrafikę do tworzekietów w górnej części nia elementów menu czy okien. Ma to swoje okna oraz panel opisu dobre strony, ponieważ z Aptitude można dla zaznaczonej pozycji pracować w systemach nie posiadających (Rysunek 2). Jeżeli mapulpitu graficznego, a nawet uruchomić go my możliwość skorzystaw zdalnej sesji ssh. nia z kursora myszy, tak Pomimo posiadania przyjaznego interfejjak w przypadku okna su, Aptitude można kontrolować także terminala z interfejsem z wiersza poleceń. W Tabeli 1 umieszczono Rysunek 2: Kategorie w oknie domyślnym. GUI, możemy kierować spis najważniejszych opcji. Aby z nich skoktórymi możemy zarządzać przy pomocy pracą Aptitude przy pomocy myszy. Jeżeli rzystać, należy uruchomić Aptitude, stosumenu View (okna). Klawiszem [q] zamykamysz nie jest dostępna, naciśnięcie klawijąc konwencję: my okno. Program kończy pracę w momensza [F10] spowoduje przejście do menu. cie zamknięcia ostatniego okna. Klawisze Aptitude korzysta z wielu widoków okna, aptitude opcja [F6] i [F7] służą do przemieszczania się między oknami (następne/poprzednie Tabela 1: Opcje dla Aptitude okno). uruchamianego z wiersza poleceń Znacznik --- obok pozycji na liście pakiePolecenie Działanie tów oznacza kategorię, którą można rozwiinstall nazwapakietu Instaluje pakiet nąć naciskając klawisz [Enter] lub klikając remove nazwapakietu Usuwa pakiet ją dwukrotnie klawiszem myszy. Poruszapurge nazwapakietu Usuwa pakiet i kasuje pliki konfiguracyjne jąc się po kategorii możemy wybrać interehold nazwapakietu Zapobiega aktualizacji pakietu sujący nas pakiet i wyświetlić w panelu opiunhold nazwapakietu Umożliwia aktualizację określonego pakietu sowym informacje dotyczące wybranego pamarkauto nazwapakietu Oznacza pakiet jako automatycznie zainstalowany kietu (patrz Rysunek 3). Przy pomocy klaunmarkauto nazwapakietu Oznacza pakiet jako ręcznie zainstalowany wiszy [a] i [z] możemy przewijać panel opiupdate Aktualizuje listę pakietów możliwych do zainstalowania sowy. Opisy pakietów Debiana dostępne są upgrade Aktualizuje pakiety, których pojawiły się nowsze wersje wyłącznie w języku angielskim. dist-upgrade Aktualizuje pakiety bez względu na to, czy do wykonania aktualizacji wymagane jest ich usunięcie Litera bądź litery obok nazwy pakietu posearch klucz wyszukiwania Wyszukuje pakiety określone kluczem wyszukiwania kazują status danego pakietu. Pierwsza liteclean Usuwa wszystkie dane pobranych pakietów z dysku ra, zawsze obecna, określa, czy pakiet jest zaautoclean Usuwa pobrane pakiety z dysku, jeżeli istnieje ich nowsza wersja instalowany (i) czy nie (p). W Tabeli 2 opisadownload nazwapakietu Pobiera określony pakiet bez instalowania no także inne, mniej spotykane możliwości. Nakładki graficzne www.linux-magazine.pl Lipiec 2004 23 COVER STORY Aptitude Ramka 2: Rodzaje dystrybucji Debian Obecnie istnieją trzy różne dystrybucje Debiana. Wersja stabilna to oficjalnie wydana wersja produkcyjna, do której rzadko wydaje się pełne aktualizacje. Jednak z drugiej strony jest to wersja, w której oprogramowanie zostało w pełni sprawdzone, a wszelkie luki w bezpieczeństwie są szybko usuwane. Obecna stabilna wersja posiada nazwę kodową Woody. Wersja niestabilna, określana także mianem Sid, to wersja rozwojowa, która podlega ciągłym zmianom. Tutaj znajdziemy najnowsze wersje pakietów, jednak należy pamiętać, że są one w trakcie edycji, zmian i kontroli. Wersja testowa to kompromis osiągnięty pomiędzy wersją stabilną a niestabilną. Pakiety, po uruchomieniu na wersji niestabilnej i poprawnej pracy przez pewien czas, są następnie umieszczane w wersji testowej. Od tej zasady nie ma wyjątków – spowodowane jest to wymogami bezpieczeństwa. Tak więc do momentu wydania poprawki może upłynąć trochę czasu. Wersja testowa jest zawsze następcą bieżącej wersji stabilnej i obecnie posiada nazwę kodową Sarge. Sarge znalazł się na płycie DVD dołączonej do Linux Magazine 5/2004. Druga litera określa działanie Aptitude wobec danego pakietu. Zwykle jest to litera d, oznaczająca usunięcie pakietu lub i, czyli zainstalowanie pakietu. Pole to pozostaje puste, jeżeli wobec danego pakietu nie będą podejmowane żadne czynności. Opcje te opisano w Tabeli 3. Aby otworzyć nowe okno, w którym wyświetlone będą metadane pakietu, naciskamy klawisz [Enter] lub klikamy dwukrotnie wybrany pakiet. Najważniejsze informacje w tym miejscu to zależności (Depends), pakiety, których nie można zainstalować równocześnie z innymi (Conflicts) i pakiety, które są zalecane (Recommends). Naciśnięcie klawisza [q] zamyka bieżące okno i powoduje powrót do poprzedniego okna. Akcja! Rysunek 3: Hierarchia listy pakietów. mienie procesu instalacji. Aptitude wyświetli wtedy podsumowanie pakietów przeznaczonych do zainstalowania i odinstalowania, ułożonych według motywacji tzn. w zależności od tego, czy pakiet został automatycznie zaznaczony przez Aptitude w celu określenia zależności, czy też zaznaczył go użytkownik. Aby potwierdzić i zastosować wprowadzone zmiany, musimy ponownie nacisnąć klawisz [g]. Jeżeli Aptitude został uruchomiony bez wymaganych uprawnień użytkownika głównego (root), program sam poprosi o podanie hasła (Rysunek 4). Jeżeli w konfiguracji APT umieszczono jako źródła danych także serwery internetowe, naciśnięcie klawisza [u] spowoduje zaktualizowanie bieżących list na tych serwerach. Aby zaznaczyć wybrane pakiety do aktualizacji, naciskamy klawisz [u]. Jeżeli nie życzymy sobie aktualizacji pakietu, naciskamy klawisz [=]. Gdy zdarzy się najgorsze, zawsze możemy nacisnąć klawisz [L] i zainstalować ponownie (a więc naprawić) uszkodzone pakiety. Aby zainstalować pakiet, naciskamy klawisz [+]. Oczywiście pod Grupowanie pakietów warunkiem, że zaznaczyliśmy kursorem odpowiedni pakiet. To, jaAby usystematyzować pakiety w grupach, możemy w Aptitude zdekie okno jest obecnie wyświetlane (czy to będzie lista pakietów czy widok Tabela 2: Status pakietu szczegółowy), nie ma tutaj znaczenia. Litera Status Naciśnięcie tego klawisza spowoduje i Zainstalowany. zainstalowanie bieżącego pakietu oraz p Nie zainstalowany. wszystkich wymaganych pakietów zav Wirtualny: pakiet nie jest sprawdzony. leżnych, o ile nie są dostępne w systeAby rozwiązać problem zależności, należy mie. Klawisz [-] powoduje usunięcie zainstalować kilka takich pakietów. pakietu. Aby usunąć zarówno pliki prou Pobrany i rozpakowany, ale nie skonfigurowany. gramu, jak i pliki konfiguracyjne, naciC Częściowo skonfigurowany. H Częściowo zainstalowany. skamy klawisz [_]. c Nie zainstalowany, ale nadal istnieją pliki konfiguAptitude zapamiętuje zaznaczone do racyjne - zwykle jest to wynik poprzedniej instalacji. instalacji pakiety w celu późniejszego Rysunek 4: Do wykonania wszystkich czynnoB Błąd: status tego pakietu w systemie nie jest znany. określenia zależności z innymi pakietaści wymagane są uprawnienia root-a. E Błąd wewnętrzny Aptitude. mi. Kiedy ostatni element oprogramowania wymagający konkretnego pakietu Tabela 4: zostanie usunięty z systemu, Aptitude Tabela 3: Czynności Opcje wyszukiwania automatycznie zaznaczy go do usunięcia dotyczące pakietu zaawansowanego przy najbliższej okazji. Jako że jest to Opcja Działanie Litera Czynność funkcja Aptitude, a nie biblioteki APT, ~b Wyszukuj błędne pakiety i Instaluj. działa to jedynie w przypadku pakietów ~d Wyszukuj opisy pakietów d Odinstaluj: zachowaj pliki konfiguracyjne w systemie. instalowanych przez Aptitude. ~i Wyszukuj w zainstalowanych pakietach h Wstrzymaj: nie aktualizuje tego pakietu. Jeżeli ręcznie zaznaczymy pakiet do ~m Wyszukuj w polu Maintainer (opiekun) p Usuń całkowicie wraz z plikami konfiguracyjnymi. zainstalowania klawiszem [+], początko~n Wyszukuj w nazwach pakietów r Zainstaluj ponownie pakiet. wo nic się nie dzieje. Musimy jeszcze na~s Wyszukuj w nazwach sekcji u Aktualizuj pakiet do nowszej wersji. cisnąć klawisz [g], co spowoduje urucho- 24 Lipiec 2004 www.linux-magazine.pl Aptitude finiować kryteria dla poszczególnych grup. Naciskamy w tym celu klawisz [G]. W nowym oknie możemy zmienić sposób sortowania pakietów. Domyślnie wygląda to następująco: COVER STORY INFO [1] Debian GNU/Linux: http://www.debian.org/index.html [2] Hurd: http://www.gnu.org/software/hurd/ filter(missing),task,status,U section(subdir,passthrough),U section(topdir) Pozycja filter(missing) ukrywa wszystkie pakiety, których nie można zainstalować. Innymi słowy, opcja ta zapewnia, że na liście pojawią się wyłącznie pakiety dostępne na płycie CD lub na serwerze. Kolejna pozycja, task, wyświetla kategorię, w której znajdują się pakiety specjalne nie oferujące własnych programów, ale instalujące inne pakiety z powodu zależności. Przykładowo, pakiet kde wymaga kilku bazowych pakietów środowiska KDE. Po wybraniu pakietu kde, APT automatycznie zainstaluje te pakiety. Kolejne dwie pozycje section pozwalają na wybór jednej z dwóch głównych grup pakietów. Pierwsza pozycja (topdir) zawiera grupę main, czyli główne pakiety dystrybucji, a grupa non-free zawiera dodatkowe pakiety oprogramowania nie zaliczanego do Open Source. Na kolejnym poziomie struktury znajdują się subdir, czyli podkatalogi, np. devel dla narzędzi programistycznych lub games przeznaczony dla wszelkiego rodzaju gier i zabaw. Pozycja section(subdir,passthrough) układa listę według podkatalogów. W ten sposób umieszczone są one przed section(topdir), co oznacza, że Aptitude (jak pokazano na Rysunku 3) będzie wyświetlać główne sekcje na liście podkatalogów. Opcja passthrough zapobiega wielokrotnemu występowaniu pakietów i kategorii w bardziej złożonych strukturach. Jeżeli zmienimy domyślną kolejność pozycji section, kolejność pozycji w drzewie zmieni się z Package status | topdir | subdir na Package status | subdir | topdir. Możemy również grupować pakiety według priority (priorytet) lub według action (czynność dotycząca pakietu). Ostatnia opcja usuwa z listy pozycje, dla których nie określono żadnych czynności. Na dole listy znajdują się kategorie versions lub deps. Dzięki nim możemy tworzyć własne kategorie dla poszczególnych pakietów. Opcja versions przypisuje pozycje dla każdej dostępnej wersji pakietu, a deps dodatkowo wyświetla listę zależności i konfliktów. Jeżeli chcemy zobaczyć pełną listę pakietów, możemy zignorować wybór grup. Pozycje status i action umożliwią nam przegląd wszystkich czynności, które zostaną wykonane na pakietach. Klawiszem [S] ustalamy kolejność, w jakiej Aptitude będzie wyświetlał pakiety dla poszczególnych kategorii. Domyślnie ustawiona jest opcja name, co oznacza kolejność alfabetyczną, można też wybrać kolejność według wielkości wymaganego miejsca na dysku (installsize) oraz priority – według priorytetu pakietów. Aby zmienić kolejność sortowania, możemy dodać przedrostek ~. W poszukiwaniu pakietów Dla znalezienia pakietów zawierających określony ciąg znaków naciskamy klawisz [/] – uruchamiając w ten sposób funkcję wyszukiwania programu Aptitude. Wpisujemy w oknie dialogowym poszukiwany ciąg znaków i wybieramy pierwszy pakiet, który odpowiada podanym kryteriom. Klawiszem [n] powtarzamy wyszukiwanie i wybieramy kolejną pozycję na liście. Do wyszukiwania Aptitude używa domyślnie wyrażeń regularnych , dzięki temu możemy bardzo precyzyjnie określić, czego szukamy. Przykładowo, ciąg znaków ^lib.*gtk spowoduje wyszukanie nazw pakietów zaczynają- [3] Umowa Społeczna Debiana i Wytyczne Wolnego Oprogramowania: http://www.debian.org/social_contract.html [4] Instrukcja obsługi APT: http://www.debian.org/doc/manuals/apt-howto/index.html [5] Synaptic: http://www.nongnu.org/synaptic/ [6] KPackage: http://www.general.uwa.edu.au/u/toivo/kpackage/ cych się na lib i jednocześnie zawierających frazę gtk. Wyszukiwanie możemy rozszerzyć na inne metadane. Przedrostek ~s spowoduje wyszukiwanie sekcji, a ~n wywoła powrót do nazwy pakietu: ciąg znaków ~snet~nftp spowoduje wyszukanie pakietów z nazwą ftp w sekcji net. W Tabeli 4 umieszczono wszystkie możliwe określenia. Aby uniknąć żmudnego przeszukiwania listy pakietów w przypadku uzyskania dużej ilości wyników wyszukiwania, naciskamy klawisz [l] – w nowym oknie pojawią się wyłącznie wyniki wyszukiwania. W takim przypadku lista będzie zawierać wyłącznie pakiety spełniające kryteria wyszukiwania. Jeżeli jesteśmy przyzwyczajeni do pracy z apt-get i współpracującymi z nim narzędziami, to zapewne na początku będziemy nieufnie używać Aptitude. Jednakże program ten posiada możliwości, które bardzo trudno uzyskać przy pomocy innych narzędzi (a czasem jest to po prostu niemożliwe). Twórcy Aptitude nadal intensywnie pracują nad kolejnymi opcjami, tak więc warto bacznie się przyglądać temu projektowi. ■