Materiały edukacyjne z informatyki
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).
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.
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ówsudo apt-get dist-upgrade
– zainstalowanie dostępnych aktualizacji systemowych i użytkowychsudo apt-get install nazwa_pakietu
– zainstalowanie pakietusudo apt-cache search szukany_pakiet
– wyszukiwanie pakietówsudo apt-cache search szukany_pakiet | grep szukany_tekst
– wyszukiwanie pakietów wraz z dodatkowym przefiltrowaniem wynikówsudo apt-get purge nazwa_pakietu
– usunięcie paietu oraz jego konfiguracjisudo apt-get autoremove --purge
– usunięcie niewykorzystywanych, np. po aktualizacji, pakietówsudo 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 wersjesudo pat-get install -t debian-backports install nazwa_pakietu
– instalacja pakietu z dystrybucji wheezy-backportsCzasami 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 blokadyecho "nazwa_pakietu install" | sudo dpkg --set-selections
– zdjęcie blokadyW 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 aktualizacjisudo pacman -S nazwa_pakietu
– instalacja podanego pakietusudo pacman -Ss nazwa_pakietu
– wyszukiwanie pakietówsudo pacman -Si nazwa_pakietu
– informacje o pakieciesudo pacman -Qdt
– lista osieroconych (niewykorzystywanych) pakietówsudo pacman -Rsn
– usunięcie pakietu, jego konfiguracji oraz zależnościSkrypt 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:
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żnychsudo pacman -U pacaur_wersja_pkg.tar.xz
– na koniec instalujemy zbudowany pakiet z rozszerzeniem pkg.tar.xzOd 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
.