Linux - instalacja, aktualizacja, usuwanie komponentów



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

Menadżer pakietów APT
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.

Menadżer pakietów YUM
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.

DPKG - pakiety DEB
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.

RPM - pakiety w systemach Red Hat, CentOS, Fedora,...
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.

Pacman - menadżer pakietów w systemach Arch, Flugarware, Manjaro...
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.