Zarządzanie pakietami

Z SOISK systemy operacyjne i sieci komputerowe
Skocz do: nawigacja, szukaj
Synaptic


APT

APT (ang. Advanced Packaging Tool) – system zarządzania pakietami, używany przez system Debian GNU/Linux. APT został zaprojektowany do współpracy z plikami .deb jedynie w systemie Debian, ale jego zmodyfikowane wersje działają również z pakietami RPM i działają z innymi systemami operacyjnymi, takimi jak np. Mac OS X (Projekt Fink).

APT upraszcza proces instalacji i usuwania oprogramowania w systemach uniksowych poprzez automatyczne ściąganie pakietu (z Internetu, sieci lokalnej lub płyty CD-ROM), konfigurację, ewentualną kompilację i instalację. Apt-get jest uważany za jedną z najlepszych cech Debiana i daje mu reputację systemu trudnego w instalacji, ale łatwego w użyciu.

APT nie jest programem samym w sobie. Jest biblioteką języka C++ używaną przez oddzielne programy (sterowane z linii poleceń) do zarządzania pakietami. Najczęściej używane z nich to apt-get i apt-cache. Przykładowo, polecenie pełnej instalacji pakietu php5 wygląda tak:

apt-get install php5

Polecenie apt-get przeszukuje listy pakietów i ich zależności i automatycznie je ściąga, konfiguruje i instaluje. Aby zaktualizować listę pakietów wystarczy wydać polecenie apt-get update. Polecenie apt-get dist-upgrade pozwala na pełną aktualizację całego systemu do jego najnowszej wersji.

Polecenie:

apt-cache search szukana fraza

pozwala przeszukać dostępną bazę pakietów na podstawie zawartości pliku /etc/apt/sources.list.

Dostęp do opcji pomocy uzyskujemy przez polecenie:

apt-get -h
apt-cache -h

Źródła pakietów

Projekt Debian posiada w swoim centralnym repozytorium ponad 25000 pakietów gotowych do ściągnięcia i instalacji, ale można również korzystać z praktycznie dowolnej liczby innych repozytoriów (lista aktualnie używanych znajduje się w pliku /etc/apt/sources.list).

Repozytorium pakietów niekoniecznie musi być umieszczone w Internecie. Może być nagrane na płycie CD-ROM. To umożliwia aktualizowanie komputerów niepodłączonych do sieci. Istnieją też programy z przyjaźniejszym interfejsem użytkownika. Najczęściej bazują one na apt-get. Są to między innymi aptitude (oparte na ncurses) i Synaptic (na GTK+).

Ideą APT jest to, żeby pakiet został zainstalowany bez podawania specyficznej lokacji, gdzie się znajduje. APT dodatkowo automatycznie zajmuje się zależnościami danej instalacji.

Część instalacji przeglądarki internetowej Galeon za pomocą apt-get:

# apt-get install galeon
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności... Gotowe
Zostaną zainstalowane następujące dodatkowe pakiety:
  capplets capplets-data desktop-base galeon-common gnome-control-center
  gnome-session libeel2-2 libgnome-desktop-2 libnautilus2-2
Sugerowane pakiety:
  esound-clients gnome kde wmaker gtm gnome-core gnome-audio
Polecane pakiety:
  epiphany-browser mozilla-mailnews
Zostaną zainstalowane następujące NOWE pakiety:
  capplets capplets-data desktop-base galeon galeon-common
  gnome-control-center gnome-session libeel2-2 libgnome-desktop-2
  libnautilus2-2
0 zaktualizowanych, 10 nowo zainstalowanych, 0 do usunięcia i 21 nie zaktualizowanych.
Konieczne pobranie 7050kB archiwów.
Po rozpakowaniu zostanie dodatkowo użyte 19.5MB miejsca na dysku.
Czy chcesz kontynuować? [T/n]

APT automatycznie wykrywa brakujące pakiety i sam je instaluje. Pokazuje rekomendowane i sugerowane programy i biblioteki. Podsumowuje także, jakie nowe pakiety zostaną zainstalowane i jak dużo miejsca zajmą na dysku twardym.

Priorytety w wyborze pakietów

W pliku /etc/apt/sources.list możemy podać programowi APT, by podczas aktualizacji pobierał bazy danych z repozytoriów kilku gałęzi Debiana naraz, np. ze stabilnej i testowej. Problem, ktorą wersję danej paczki wybrać, został rozwiązany za pomocą tzw. priorytetów. Priorytet jest to pewna liczba całkowita przypisana pakietowi według zadanego zbioru cech, np. wspomnianej gałęzi. Mając do wyboru przed instalacją kilka pakietów o tej samej nazwie, APT wybierze tę o najwyższym priorytecie i nadpisze nim zainstalowany już pakiet, o ile ten ostatni ma z jakiegoś powodu niższy. Powodem tym może być np. numer wersji: APT (w odróżnieniu od dpkg) nie pozwoli zainstalować starszej niż obecnie zainstalowana wersji, chyba że nadamy (przypniemy, ang. pinning) jej wyższy priorytet.

Priorytety możemy nadawać pakietom w pliku /etc/apt/preferences. W przeciwnym razie APT skorzysta z domyślnie nadanych.

Easter eggs

Gdy wydamy polecenie apt-get moo program wypisze na standardowe wyjście "obrazek" ascii-art, przedstawiający krowę i zapytanie "Have you mooed today?" (ang. "Czy już dzisiaj muczałeś?").

# apt-get moo
         (__) 
         (oo) 
   /------\/ 
  / |    ||   
 *  /\---/\ 
    ~~   ~~   
...."Have you mooed today?"...

Podobnie, przy uruchomieniu programu bez żadnych parametrów wyświetlona zostaje krótka pomoc, zakończona słowami "This APT has Super Cow Powers" (ang. "Ten APT ma Moce Super Krowy")

Lista zainstalowanych pakietów

Aby wyświetlić listę zainstalowanych pakietów:

#dpkg -l

Na podstawie http://pl.wikipedia.org/wiki/APT_%28informatyka%29

RPM

RPM Package Manager (dawniej też Red Hat Package Manager, skrót RPM) to program służący do zarządzania (instalacji, aktualizacji, usuwania) pakietami zawierającymi oprogramowanie lub dane, oraz nazwa tych pakietów (ponieważ mają one rozszerzenie .rpm). Pakiety RPM zawierają skompresowane (we wczesnych wersjach gzipem, w nowszych bzipem2 albo LZMA) archiwum cpio zawierające dane. Posiadają także dodatkowe informacje na temat zawartości, m.in. zależności (ang. dependencies) - czyli spis programów (bibliotek) lub pakietów, które są wymagane do zainstalowania i poprawnej pracy pakietu (działa to także w druga stronę - pakiety później zainstalowane wymagające danego pakietu, uniemożliwiają jego odinstalowanie), a także sugestie dotyczące współpracy z innymi pakietami. Pakiet RPM budowany jest na podstawie opisu zawartego w pliku spec.

Program ten powstał na potrzeby dystrybucji Red Hat Linux, aktualnie jest używany również w innych dystrybucjach (np. Fedora Core, SUSE, Mandriva, PLD).

Najnowsza stabilna wersja to 5.2.1 (stan na wrzesień 2010).

Nazwy pakietów

RPM wprowadził ujednolicone nazwy plików. Przykładowy pakiet z GNU Gadu posiada nazwę gg2-2.2.7-1.athlon.rpm. Nazwa ta składa się z czterech członów w formacie plik-wersja-wydanie.architektura.rpm:

  • gg2 - nazwa programu
  • 2.2.7 - wersja programu
  • 1 - wydanie pakietu (może istnieć kilka wydań pakietu dla jednej wersji programu)
  • athlon - architektura (platforma sprzętowa/typ procesora) dla której pakiet jest przeznaczony (np. i386, Athlon, Alpha, PPC, x86-64) lub src w przypadku pakietu źródłowego

Na podstawie http://pl.wikipedia.org/wiki/RPM

Instalacja pakietu

rpm –i pakiet.rpm	

rpm -ivh pakiet.rpm 

użyte opcje: 
-i - polecenie instalacji pakietu 
-v - podaje nazwę instalowanego pakietu 
-h - pokazuje postęp instalacji za pomocą znacznika

Usunięcie pakietu

rpm –e pakiet.rpm

Aktualizacja pakietu

rpm –U pakiet.rpm
rpm -Uvh pakiet.rpm 

Zastosowana tutaj opcja -U usuwa poprzednią wersję programu i instaluje nową.

rpm –F pakiet-nowy.rpm

Opcja F uaktualnia tylko jak jest stara wersja

Pliki .src.rpm musimy najpierw skompilować

rpm - -rebuild pakiet.src.rpm Taki pakiet trafia do katalogu /usr/src/redhat/RPMS/i386 (w redhacie) lub /usr/src/RPM/RPMS/i586 (w mandrake’u)