Obecny artykuł będzie poświęcony menadżerom pakietów w systemach linux. Docelowo zarządzanie pakietami miało być częścią innego artykułu, ale jest to temat tak obszerny, że będzie miał wyłączność. W zależności od dystrybucji linuxa instalacja, aktualizacja i usuwanie pakietów wygląda troszeczke inaczej. Postaram się troszeczke przybliżyć cały ten proces.
Zarządzanie pakietami / paczkami w systemie
Przez pakiety / paczki rozumiemy aplikacje, narzędzia, usługi. Nazwy podane w <> są jako częśc zmienna polecenia do uzupełnienia przez użytkownika. Każda dystrybucja linuxa zawiera po kilka różnych narzędzi do zarządzania instalacjami pakietów w systemie. Poniżej zamieszczam kilka najpopularniejszych. - dpkg (Debian package management): podstawowe narzędzie wykorzystywane do zarządzania pakietami w dystrybucjach debiano-pochodnych. Wykorzystuje niskopoziomowe narzędzia takie jak dpkg-deb do manipulacji pakietami, oraz dpkg-query do wyszukania pakietów. - dselect: interfejs do programu dpkg obsługiwany terminalowo, oferujący pseudograficzne menu i interaktywne ekrany. - apt (Advanced Package Tool): narzędzie obsługiwane z wiersza poleceń do zarządzania pakietami. Może wykonywać operacje na poszczególnych pakietach, jak i na całych komponentach dystrybucji. - aptitude: można w uproszczeniu powiedzieć, że jest to taka nakładka na apt. - synaptic: graficzne narzędzie do instalowania pakietów. - update-manager: graficzne narzędzie do zarządzania pakietami w systemie Ubuntu Linux. - rpm (Red Hat Package Manager) : odpowiednik dpkg dla systemów z rodziny Red Hat. - yum (Yellowdog Updater, Modified): system zarządzania pakietami rpm. - pacman: menadżer pakietów w systemach Arch Linux. - adept: graficzny menadżer pakietów w Kubuntu.
Programy dpkg, apt-get, i aptitude do zapisywania informacji o pakietach wykorzystują różne bazy, co za tym idzie stosują także różne mechanizmy do roztrzygania konfliktów i zależności między pakietami. Zawsze przed instalacją pakietu przy pomocy apt-get, aptitude i dselect należy uruchomić odpowiadające im polecenia aktualizujące dane dotyczące pakietów: apt-get update, aptitude update, dselect update. Każdy z tych mechanizmów korzysta z zasobu /var/cache/apt, w którym są trzymane informacje o pakietach.
Grupy repozytoriów w Ubuntu
Pakiety w ubuntu zostały podzielone na cztery grupy w zależności od typu obsługi i licencji: - main: główny element biblioteki pakietów binarnych i większości źródłowych dopuszczonych do dystrybucji. - restricted: pakiety źródłowe i binarne zawierające często oprogramowanie udostępniane na licencjach nie do końca wolnych. Dane pakiety często nie mają pełnego wsparcia ze strony firmy Canonical. - universe: pakiety źródłowe i binarne zawierające oprogramowanie na licencjach free i open source nie mające gwarancji obsługi przez Canonical, Ltd. - multiverse: pakiety oprogramowania, które są udostępniane na licencjach niezgodnych ze standardami przyjętymi dla projektu Ubuntu (http://www.ubuntu.com/about/about-ubuntu/licensing). To oprogramowanie nie jest wspierane przez Canonical, Ltd. W domyślnej konfiguracji po instalacji systemu Ubuntu Linux aktywne są tylko repozytoria main i restricted. Definicje tych grup można znaleźć w /etc/apt/sources.list
Przydatne komendy
Polecenie | Opis |
---|---|
apt-get install <nazwa_paczki> | Instalacja / aktualizacja paczki |
apt-cache search <nazwa_paczki> | Wyszukanie paczek do instalacji odpowiadającej podanej nazwie. |
apt-cache show <nazwa_paczki> | Szczegółowe informację na temat danej paczki. |
apt-get remove <nazwa_paczki> | Odinstalowanie paczki bez usuwania jej konfiguracji. |
apt-get purge <nazwa_paczki> | Odinstalowanie paczki wraz z konfiguracją. |
apt-get clean | Zwolnienie miejsca na dysku poprzez usunięcie ściągniętych plików *.deb |
apt-get update | Aktualizacja listy paczek dostępnych w repozytoriach. |
apt-get upgrade | Aktualizacja wszystkich zainstalowanych paczek. |
apt-get autoremove | Usunięcie nieużywanych paczek. |
apt-get autoremove | Usunięcie nieużywanych paczek. |
Polecenie | Opis |
---|---|
yum install <nazwa_paczki> | Instalacja / aktualizacja paczki |
yum update | Aktualizacja listy paczek dostępnych w repozytoriach. |
yum remove <nazwa_paczki> | Odinstalowanie paczki. |
yum search <nazwa_paczki> | Szuka paczki o danej nazwie do instalacji. |
yum list | Wyświetla zainstalowane pakiety. |
yum list available | Wyświetla pakiety dostępne do instalacji. |
yum info | Wyświetla szczegółowe informacje o paczce (działa za równo na paczki zainstalowane jak i te do instalacji). |
yum clean <nazwa_paczki> | Wyczyszczenie plików tymczasowych danej paczki. |
Polecenie | Opis |
---|---|
dpkg -l | Wyświetlenie wszystkich pakietów zainstalowanych w systemie. |
dpkg -i <plik.deb> | Instalacja / aktualizacja pakietu DEB. |
dpkg -r <pakiet> | Odinstalowanie pakietu DEB. |
dpkg -s <pakiet> | Wyświetla informacje na temat pakietu. |
dpkg -S <plik> | Pokazuje do jakiego pakietu należy sprawdzany plik. |
Polecenie | Opis |
---|---|
rpm -qa | Wyświetlenie wszystkich pakietów zainstalowanych w systemie. |
rpm -ivh <plik.rpm> | Instalacja pakietu rpm. |
rpm -e <pakiet> | Odinstalowanie pakietu DEB. |
rpm -qi <pakiet> | Wyświetla informacje na temat pakietu. |
rpm -qpi <plik> | Wyświetla informacje o pliku jeszcze nie zainstalowanym. |
Polecenie | Opis |
---|---|
pacman -Sy | Aktualizacja bazy pakietów. |
pacman -S <pakiet> | Instalacja / aktualizacja pakietu. |
pacman -Ss <pakiet> | Wyszukanie pakietu. |
pacman -Su | Aktualizacja wszystkich pakietów zainstalowanych w systemie. |
pacman -Sc | Czyszczenie plików tymczasowych. |
pacman -R | Usunięcie pakietu. |
pacman -U <plik.tar.gz> | Instalacja / aktualizacja pakietu z dysku lokalnego. |