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.
■

Podobne dokumenty