System zarządzania pakietami to zestaw narzędzi służących do automatycznej instalacji, aktualizacji, konfiguracji i usuwania pakietów oprogramowania. Korzystanie z zarządcy pakietów różni się od instalowania pojedynczych pakietów ręcznie tym, iż zarządca zwykle obsługuje zależności i potrafi ściągnąć z Internetu wymagane pakiety. Termin ten jest najczęściej stosowany w odniesieniu do systemów typu Unix. [Wikipedia...]
Każda dystrybucja (lub rodzina dystrybucji) Linuksa posiada własny system zarządzania pakietami. System ten składa się z dwóch części:
- programu do zarządzania pakietami,
- repozytorium pakietów.
Repozytoria to bazy zawierające przygotowane w specjalnym formacie pakiety do zainstalowania na naszym komputerze. W zależności od dystrybucji pakiety zawarte w repozytoriach spakowane są w odpowiednim formacie. Przykładowo Debian i Ubuntu korzystają z pakietów w formacie deb, Gentoo ze źródeł w formacie tar, a Fedora, SuSE, CentOs z pakietów rpm. Repozytoria to zazwyczaj bazy, które posiadają swoje serwery lustrzane, czyli takie, które przechowują kopie bazy głównej. Serwery lustrzane ułatwiają dostęp do pakietów dla użytkowników systemu zwiększając jednocześnie niezawodność całego systemu.
W dystrybucji Debian podstawowym narzędziem wykorzystywanym do zarządzania pakietami jest apt-get. Jest to program, który umożliwia instalację, aktualizację i usuwanie poszczególnych pakietów. W celu instalacji potrzebnego programu wystarczy wydać z konsoli polecenie:
apt-get install nazwa_pakietu
gdzie nazwa pakietu to nazwa interesującego nas programu do zainstalowania. Menedżer pakietów sam połączy się z repozytorium, pobierze i zainstaluje w systemie wymagany program. Dodatkowo w sytuacji, gdy do prawidłowego działania naszego programu potrzebne są dodatkowe narzędzia/biblioteki menedżer pakietów sprawdzi, czy wszystkie wymagane komponenty są zainstalowane w systemie, a jeśli nie, to brakujące elementy zostaną również pobrane i zainstalowane. Takie rozwiązanie zdejmuje z użytkownika obowiązek instalacji wymaganych dodatkowych pakietów, a z twórcy oprogramowania obowiązek dostarczania niezbędnych bibliotek wraz z programem. Za pomocą polecenia apt-get możemy zainstalować jednocześnie kilka programów/pakietów:
apt-get install pakiet1 pakiet2 pakiet2
przykładowo zainstalujemy jednocześnie menedżer plików Midnight Commander i program Aptitude:
apt-get install mc aptitude
odinstalowanie niepotrzebnego pakietu możliwe jest poprzez wydanie polecenia:
apt-get remove nazwa_pakietu
apt-get remove aptitude
Większość programów przechowuje własne dane konfiguracyjne w plikach tekstowych. Powyższe polecenie odinstaluje program, ale pozostawi pliki konfiguracyjne. Oznacza to, że po ponownej instalacji programu będzie on skonfigurowany tak jak przed deinstalacją. Często chcemy, żeby wszystkie informacje o konfiguracji zostały usunięte. W tym celu zamiast opcji remove użyjemy opcji purge:
apt-get purge nazwa_pakietu
Czasami chcemy zainstalować program, którego nazwę znamy, ale nie znamy dokładnej nazwy jego pakietu. Przykładowo chcemy zainstalować serwer dhcp. Jaką nazwę posiada niezbędny pakiet? Wpisujemy:
apt-get install dhcp-server
i system wyświetli komunikat, że nie odnalazł pakietu o podanej nazwie.
Odnalezienie odpowiedniego pakietu umożliwia polecenie:
apt-cache search szukana_nazwa
apt-cache search dhcp-server
w efekcie otrzymamy:
w tym momencie system wyświetli nam listę pakietów spełniających podane kryteria. Mamy możliwość wyboru (często kilka pakietów spełnia nasze wymagania) pakietu. W tym przykładzie zainstalowanie serwera DHCP nastąpi po wydaniu polecenia:
apt-get install isc-dhcp-server
W tym momencie dowiemy się, jak dokładniej funkcjonuje system pakietów. Podczas instalacji systemu operacyjnego instalowane są nagłówki pakietów czyli lista dostępnych dla danej dystrybucji pakietów. Oznacza to, że po pewnym czasie lista ta będzie nieaktualna – niektóre programy pojawią się w nowych wersjach, inne nie będą rozwijane i zostaną usunięte z repozytorium, pojawią się nowe programy, których dotąd nie było. Jeżeli chcemy, by zainstalowany system wraz z oprogramowaniem był aktualny należy cyklicznie aktualizować listę pakietów, a wraz z nią aktualizować całe zainstalowane oprogramowanie. Do aktualizacji listy pakietów służy polecenie:
apt-get update
Wykonanie powyższego polecenia nie spowoduje automatycznej aktualizacji systemu i programów w nim zainstalowanych. Do aktualizacji zainstalowanych programów służy polecenie:
apt-get upgrade
natomiast pełna aktualizacja systemu do najnowszej dostępnej wersji możliwa jest poprzez wydanie polecenia:
apt-get dist-upgrade
W każdej chwili możemy sprawdzić składnię poleceń apt-get, apt-cache wpisując jedno z poleceń:
apt-get -h
apt-cache -h
Poniżej podstawowe opcje polecenia apt-get:
- install - instaluje podane pakiety
- remove - usuwa podane pakiety
- purge - całkowicie usuwa podane pakiety, łącznie z plikami konfiguracyjnymi
- update - aktualizuje listę pakietów w repozytoriach
- upgrade - aktualizuje pakiety
- dist-upgrade - dokonuje pełnej aktualizacji pakietów
- autoremove - usuwa wszystkie nieużywane i zbędne pakiety
- download - pobiera pakiet binarny do bieżącego katalogu
- source - pobiera pliki kodu źródłowego podanych pakietów
- build-dep - konfiguruje zależności pakietów źródłowych
- check - sprawdza, czy zależności wszystkich pakietów są spełnione
- changelog - pobiera i pokazuje listę zmian podanego pakietu
- clean - usuwa pobrane pliki archiwów
- autoclean - usuwa stare pobrane pliki archiwów
- moo - żartobliwy rysunek ascii-art pokazujący krowę pytającą o muczenie
- dselect-upgrade - zarządza pakietami z użyciem narzędzia dselect.
Podczas instalacji systemu operacyjnego użytkownik ma możliwość skonfigurowania serwerów lustrzanych, z których będą pobierane niezbędne instalowane pakiety. Po zainstalowaniu można skorygować informacje o źródłach pakietów. Zapisane są one w pliku:
/etc/apt/sources.list
Przykładowe wpisy w sources.list przedstawiono na poniższym zrzucie:
Jak widać na zrzucie źródłem pakietów może być serwer internetowy, jak również płyta CD-ROM czy inny lokalny nośnik. Dysponując adresem pewnego szybkiego serwera lustrzanego możemy wpisać go do pliku sources.list.
Automatyczne dopisanie płyty CD-ROM możliwe jest za pomocą polecenia:
apt-cdrom add
W Debianie dostępne są inne programy umożliwiające zarządzanie pakietami. Jednym z popularniejszych jest Aptitude, który pracuje w trybie tekstowym. Instalacja Aptitude sprowadza się do wydania polecenia:
apt-get install aptitude
Poniższy zrzut przedstawia uruchomiony program Aptitude.
Zadanie:
- Zainstaluj pakiety: mc, aptitude, isc-dhcp-server, wireshark
- Zaktualizuj listę pakietów
- Pobierz pliki źródłowe do pakietu aptitude
- Wyświetl listę zmian pakietu mc