Repozytoria i menedżery pakietów

Materiały edukacyjne z informatyki

Repozytoria

Inaczej niż w systemach Windows oprogramowanie systemowe i użytkowe instalowane jest z repozytoriów zdefiniowanych w odpowiednich plikach konfiguracyjnych. Nie trzeba osobno aktualizować systemu i programów, nie ma też potrzeby wyszukiwania na różnych stronach instalatorów, ściągania ich i uruchamiania. W systemach opartych na Debianie podstawowe repozytoria zdefiniowane są w pliku /etc/apt/sources.list, dodatkowe zaś zazwyczaj w plikach z katalogu /etc/apt/sources.list.d. Przykładowy wpis wygląda następująco:

	deb http://ftp.pl.debian.org/debian wheezy main contrib non-free
	deb-src http://ftp.pl.debian.org/debian wheezy main contrib non-free

Pierwszy człon określa oprogramowanie binarne (deb) lub źródła (deb-src), drugi wskazuje lokalizację (http://...), trzeci dystrybucję (tu: wheezy), a czwarty rodzaj programów: main – programy zgodne z wytycznymi Debiana dotyczącymi Wolnego Oprogramowania, contrib – pakiety zgodne z wytycznymi, ale mające niewolne zależności zawarte w non-free. W dystrybucjach opartych na Ubuntu czwarty człon przyjmuje oznaczenia: main – oprogramowanie oficjalnie wspierane przez Canonical, restricted – pakiety dostępne z jakimiś ograniczeniami licencyjnymi, universe – pakiety utrzymywane przez społeczność, nie Canonical, multiverse – pakiety niewolne.

W systemch opartych na ArchLinuksie rodzaj oprogramowania definiuje się w pliku /etc/pacman.conf, domyślnie są to: core – oprogramowanie podstawowe, extra – oprogramowanie dodatkowe i community – pakiety utrzymywane przez zaufanych użytkowników, natomiast lokalizację repozytoriów w pliku /etc/pacman.d/mirrorlist.

Zazwyczaj nie ma powodu modyfikowania domyślnych ustawień dystrybucji, ale w razie potrzeby, np. jeżeli chcemy skorzystać z aktualniejszych wersji pakietów, wystarczy dopisać repozytoium do odpowiedniego pliku (sources.list, pacman.conf).

Menedżery pakietów

Instalacja programów, aktualizacja systemu możliwa jest zarówno za pomocą narzędzi graficznych, jak i konsolowych. Poniżej omówimy te drugie, ponieważ są szybsze, mają więcej możliwości i łatwo z nich korzystać w trybie pracy zdalnej, poza tym można je łatwo wywołać z poziomu skryptów.

Apt-get i dpkg

W dystrybucjach opartych na Debianie (a więc również Ubuntu) do zarządzania pakietami wykorzystujemy zazwyczaj program apt, który z kolei wywołuje program dpkg. Korzystamy z tych narzędzi z konta roota lub przez sudo następująco:

  • sudo apt-get update – aktualizacja listy dostępnych pakietów
  • sudo apt-get dist-upgrade – zainstalowanie dostępnych aktualizacji systemowych i użytkowych
  • sudo apt-get install nazwa_pakietu – zainstalowanie pakietu
  • sudo apt-cache search szukany_pakiet – wyszukiwanie pakietów
  • sudo apt-cache search szukany_pakiet | grep szukany_tekst – wyszukiwanie pakietów wraz z dodatkowym przefiltrowaniem wyników
  • sudo apt-get purge nazwa_pakietu – usunięcie paietu oraz jego konfiguracji
  • sudo apt-get autoremove --purge – usunięcie niewykorzystywanych, np. po aktualizacji, pakietów
  • sudo dpkg -i nazwa_pakietu.deb – ręczna instalacja programu niedostępnego w repozytoriach, ale rozpowszechanianego w paietach deb

Polecenia można łączyć za pomocą operatora &&, np.: sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autoremove --purge – zaktualizuje listę pakietów, zainstalizuje poprawki i usunie zbędne pakiety.

Jeżeli korzystamy z repozytoriów różnych dystrybucji, np. stabilnej (wheezy), aktualizacji dla stabilnej (wheezy-backports) czy testowej (jessie), możemy wskazać, który pakiet chcemy zainstalować:

  • sudo apt-cache policy nazwa_pakietu – pokaże dostępne wersje
  • sudo pat-get install -t debian-backports install nazwa_pakietu – instalacja pakietu z dystrybucji wheezy-backports

Czasami po zainstalaowaniu pakietu w nowszej wersji próba aktualizacji całej dystrybucji (dist-upgrade) powoduje jego usunięcie lub downgrade. Aby uniknąć takich sytuacji można zablokować przetwarzanie pakietu:

  • echo "nazwa_pakietu    hold" | sudo dpkg --set-selections – nałożenie blokady
  • echo "nazwa_pakietu    install" | sudo dpkg --set-selections – zdjęcie blokady

Pacman, pacaur

W dystrybucjach opartych na Archu używamy menedżera pacman lub jego rozszerzeń, np. pacaur, pozwalających dodatkowo na łatwą instalację pakietów ze źródeł z repozytoium AUR. Pacman musi być wywoływane z uprawnieniami roota, pacaur natomiast nie powinien:

  • sudo pacman -Syyu – aktualizacja listy dostępnych pakietów oraz zainstalowanie dostępnych aktualizacji
  • sudo pacman -S nazwa_pakietu – instalacja podanego pakietu
  • sudo pacman -Ss nazwa_pakietu – wyszukiwanie pakietów
  • sudo pacman -Si nazwa_pakietu – informacje o pakiecie
  • sudo pacman -Qdt – lista osieroconych (niewykorzystywanych) pakietów
  • sudo pacman -Rsn – usunięcie pakietu, jego konfiguracji oraz zależności

Skrypt pacaur dostępny w repozytorium AUR pozwala zautomatyzować instalację oprogramowania ze źródeł, ale aby go używać, trzeba go zainstalować "ręcznie". W tym celu:

  • ściągamy źródła
  • w katalogu ze ściągniętym archiwum wydajemy polecenia: mkdir ~/builds && mv pacaur.tar.gz ~/builds && cd ~/builds && tar -xvf pacaur.tar.gz && cd pacaur && makepkg -s – ten ciąg poleceń tworzy katalog builds, przenosi do niego ściągnięte źródła, rozpakowuje je oraz po wejściu do katalogu pacaur uruchamia budowanie pakietu, podczas którego należy wyrazić zgodę na pobranie i zbudowanie pakietów zależnych
  • sudo pacman -U pacaur_wersja_pkg.tar.xz – na koniec instalujemy zbudowany pakiet z rozszerzeniem pkg.tar.xz

Od tej pory możemy korzystać z pacaur-a tak jak z pacmana, a dodatkowo możemy łatwo instalować pakiety z AUR-a, za pomocą standardowego przełącznika: pacaur -S nazwa_pakietu.
 

Na skróty
Kontakt