APT - Advanced Packaging Tool

Remigisz Szulc
20.08.2015

APT to zaawansowany system zarządzania pakietami wywodzący się z Debiana. Dzięki APT instalacja oprogramowania w Linuksie zajmuje kilka chwil. Programu tego może używać praktycznie każdy, gdyż jego użycie jest niezwykle proste. Dzięki temu narzędziu Debian zyskuje miano systemu łatwego w obsłudze.

APT to zaawansowany system zarządzania pakietami wywodzący się z Debiana. Dzięki APT instalacja oprogramowania w Linuksie zajmuje kilka chwil. Programu tego może używać praktycznie każdy, gdyż jego użycie jest niezwykle proste. Dzięki temu narzędziu Debian zyskuje miano systemu łatwego w obsłudze.


APT znacznie uproszcza proces instalacji poprzez duży stopień automatyzacji. Następuje automatyczne wyszukanie i ściąganie pakietu z odpowiednich ścieżek (Internet, sieć, nośniki danych - CD-ROM, pendrive itd.).
Samo APT jest biblioteką języka C++. Używają jej programy do zarządzania pakietami.


Zarówno instalacja (aktualizacja), jak i deinstalacja nie będą trudnę. Wystarczy znać nazwę pakietu, który ma zostać zainstalowany czy usunięty. Za pomocą odpowiedniego programu (apt-get). Pakiet jest konfigurowany, kompilowany oraz instalowany bez ingerencji użytkownika. APT dba o konfigurację oraz zależności. Jeśli do zainstalowania danego pakietu jest wymagany inny pakiet - zostanie on automatycznie zainstalowany.
Instalacja za pomocą APT


Przypuszczam, że masz zainstalowany domyślny pakiet APT (np. w Debianie) i ścieżki zostały ustalone domyślnie.
A więc polecenie instalacji będzie brzmiało tak:
apt-get install nazwa_pakietu
- musisz mieć uprawnienia do wykonania takiego polecenia. Zaloguj się jako root.
Ściągnięte pliki instalacyjne przechowywane są w katalogu /var/cache/apt/archives
Aby zreinstalować dany pakiet można użyć polecenia:
apt-get --reinstall install nazwa_pakietu
- przydatne, gdyby coś się uszkodziło...


Opcje apt-get
Program apt-get można uruchomic też z pewnymi opcjami. Oto one:


 
 

-h wyświetla pomoc programu
-d pobiera pakiet, ale nie wypakowuje ani nie instaluje go
-f wymuszenie kontynuowania jeśli sprawdzenie integralności skończy się niepowodzeniem
-s symulacja polecenia (polecenie nie jest wykonywane w rzeczywistości - pokazują się jednak rezultaty)
-y wyłącza tryb potwierdzeń - zakłada wszystkie odpowiedzi twierdzące (tak)
-u lista uaktualnionych produktów

 

Listę pakietów do instalacji można umieścić w jednej linii oddzielając je spacją.
Nazwa pakietu często posiada też swoją wersję oznaczoną cyframi. Logiczną rzeczą jest nie znać nazwy pakietu z numerem wersji. Jest i na to sposób.
Wyszukiwanie pakietów potrzebnych do instalacji
Polecenie apt brzmi następująco: apt-cache search nazwa


Oczywiście "nazwa" to nazwa programu czy pakietu, który chcemy zainstalować. Po wpisaniu tego polecenia zostanie wyświetlona lista spełniająca kryteria wyszukiwania (lista pakietów zawierających podaną nazwę).

Usuwanie pakietu

Równie łatwo można usunąć dany pakiet z systemu. W tym celu należy posłużyć się poleceniem:

apt-get --purge remove nazwa_pakietu


Opcja --purge nie jest obowiązkowa. Jeśli jednak zostanie użyta, to oprócz pakietu zostaną usunięte także jego pliki konfiguracyjne (rozpoznasz to po gwiazdce "*" przy wymienionych nazwach).
Instalacja i usuwanie za pomocą jednego polecenia
Jak wpsomniałem na początku - listę pakietów do instalacji można podać w jednej linii oddzielając nazwy za pomocą spacji. Możliwe jest też wypisanie pakietów, które mają być odpowiednio zainstalowane oraz usunięte.
Jeśli większość pakietów ma być zainstalowana, to użyj poniższego polecenia:
apt-get install pakiet0 pakiet1- pakiet2

... natomiast jeśli większość pakietów ma zostać usunięta, można użyć tego:

apt-get --purge remove pakiet1 pakiet2+

Oba polecenia mają jedną charakterystyczną cechę. Bezpośrednio za nazwą pakietu jest znak "+" albo "-". Co oznaczają te znaki chyba nie trzeba tłumaczyć.

Dopasowałem oba użycia do danego warunku - jeśli większość pakietów ma być usunięta lub zainstalowana. Dlaczego? Wyłącznie dla wygody.


Ścieżki do pakietów - plik sources.list

Aby pakiety mogły zostać pobrane/odnalezione poprzez program apt-get w pliku sources.list muszą zostać dodane odpowiednie wpisy.

Edytuj plik /etc/apt/sources.list


Pakiety pobierane z Internetu

Do pliku sources.list należy dodać wpis o następującej składni:
# Komentarz

deb http://strona.com/katalog dystrybucja sekcja1 sekcja2 sekcja3

deb-src http://strona.org/katalog dystrybucja sekcja1 sekcja2 sekcja3


Najpierw podajemy rodzaj paczki, np. deb - pakiety binarne debiana, lub źródłowe pakiety: deb-src. Później jest właściwa ścieżka. Następnie podajemy rodzaj dystrybucji (np. stable, stable/updates) oraz kolejne sekcje.
Przykładowe wpisy z mojego pliku sources.list:

deb http://http.us.debian.org/debian stable main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free


Pakiety z CD-ROM-u


Jeśli posiadasz płyty CD-ROM z Debianem możesz posłużyć się programem apt-cdrom, aby dodać wpis do pliku

sources.list.
Wystarczy włożyć płytę i wpisać polecenie:

apt-cdrom add


Pamiętaj, że przy instalacji pakietu możesz zostać poproszony o włożenie tej płyty.

 

Opcje apt-cdrom

Program ten można użyc z pewnymi opcjami:

-h wyświetla pomoc programu
-d po spacji podaj katalog, w którym montowany jest CD-ROM
-r zmienia nazwę rozponanego CD-ROM-u
-m nie montuje napędu
-f określenie trybu szybkiego - nie sprawdza plików z pakietami
-a dokładne przeszukiwanie


Możesz też zidentyfikować CD-ROM bez dodawania go do listy - użyj polecenia z opcją ident.

apt-cdrom ident

Jeśli program apt-cdrom nie działa, sprawdź czy CD-ROM jest odpowiednio skonfigurowany w pliku /etc/fstab.

Aktualizacja listy dostępnych pakietów
System zarządzania pakietów opiera się o bazę danych. W niej zawarte są informacje o pakietach, tj. które są zainstalowane oraz które są dostępne do instalacji. W bazie tej znajdują się też informacje o zależnościach oraz wersjach pakietów.
Listę dostępnych pakietów można zaktualizować za pomocą poniższego polecenia:


apt-get update


Zaleca się częste aktualizowanie bazy danych zwłaszcza jeśli chodzi o pakiety związane z bezpieczeństwem systemu.

Aktualizacja pakietów

Bywa czasem, że pakiety trzeba zaktualizować do nowszej wersji. Można wykonać to poleceniem:


apt-get -u upgrade


Opcja -u nie jest obowiązkowa, ale podaje informacje o aktualizacji, które napewno się przydadzą. Informuje, które pakiety będą aktualizowane, a które nie.


Możliwe, że niektóre pakiety nie zostaną zaktualizowane (np. problemy z zależnościami). Jeśli tak to można spróbować zaktualizować je poleceniem apt-get install - polecenie to, oprócz tego, że instaluje, może też zaktualizować dany pakiet.

Aktualizacja całego systemu

APT umożliwia też aktualizację całego systemu:
apt-get -u dist-upgrade


Polecenie spowoduje instalacje nowych pakietów oraz aktualizacje przestarzałych do najnowszych wersji.

Usuwanie śmieci: clean i autoclean

Program apt-get ściąga pakiety z Internetu lub innych nośników i umieszcza je w /var/cache/apt/archives/. Przez to może narobić się niezły bałagan, ale można i temu zaradzić.
Wywalamy tylko starsze wersje pakietów:


apt-get autoclean


Zostaną usunięte pakiety archiwalne, które są przestarzałe i mają odpowiedniki w nowszych wersjach. Usunięte pliki nie będą mogły być ponownie ściągnięte.


apt-get clean


Usuwa wszystkie pakiety archiwalne z katalogów /var/cache/apt/archives/ oraz /var/cache/apt/archives/partial pozostawiając jedynie pliki blokujące (ang. lock files). Większość usuniętych plików będzie można pobrać ponownie.

Inne opcje APT:


Na koniec chciałbym zaprezentować jeszcze jedną ciekawą opcję APT. Napewno warto o niej wiedzieć.
Wersja pakietu
Szczegółowe informacje dotyczące danego pakietu można uzyskać wywołując polecenie:
apt-show-versions -p nazwa_pakietu
Powyższe polecenie powie nam, czy dany pakiet jest aktualny (ang. up-to-date) i poda jego aktualną wersję lub czy można zastąpić dany pakiet nowszym (ang. upgradeable) i poda z jakiej wersji do jakiej.

Zgłoś swój pomysł na artykuł

Więcej w tym dziale Zobacz wszystkie