przystajnik

Z brzytwą na repozytoria

Koncepcja linuksowych repozytoriów z oprogramowaniem przetrwała próbę czasu i z biegiem lat weszła na wyposażenie wszystkich systemów operacyjnych w których możemy decydować o posiadanym oprogramowaniu. Repozytoria (zwane sklepami) spotkamy dziś w Androidzie, iOS, OS X a nawet i w Windowsie. Podczas gdy użytkownicy wiodącego systemu czekali na proste i automatyczne instalowanie programów (a nie ręczne wydłubywanie ich z internetu), całe pokolenia użytkowników Linuksa przez dziesięciolecia walczyły o zgrabne, funkcjonalne oraz graficzne menadżery pakietów. Gdy w zasadzie już każda dystrybucja posiada takie narzędzia w zestawie, okazało się nagle, że… Tak naprawdę wielu osobom szkoda czasu na „klikalne” instalowanie lub usuwanie pakietów z systemu. Trend powrótu do korzeni i obsługa oprogramowania z poziomu terminala nie jest jakimś wyzwaniem, gdy dysponuje się poręczną ściągą z parametrami.

Obraz sielankowego instalowania programu za pomocą pojedynczego polecenia zakłóca jeden niuans – mianowicie mnogość menadżerów pakietów w dystrybucjach. Gdy jednak przyjrzeć się temu problemowi z bliska, okaże się, że tak naprawdę w świecie linuksowym funkcjonuje pięć – sześć podstawowym menadżerów paczek w ramach mainstreamowych dystrybucji. Wszystkie pozostałe systemy budowane z wykorzystaniem któregoś z liderów dziedziczą bowiem również system paczek. Zatem, wystarczy sprawnie poruszać się w realiach Debiana, Fedory, openSUSE, Arch Linuksa i dzięki tej wiedzy nie straszne nam będzie 90% obecnych na rynku dystrybucji.

Zasadniczo menadżery paczek (i same paczki) możemy podzielić na:

  • Paczki deb – obsługiwane przez dpkg, apt. System paczek wywodzący się z Debiana, spotykany w dystrybucjach Ubuntu, Mint i pochodnych,
  • Paczki rpm – obsługiwane przez rpm, dnf/yum (Fedora, CentOS, ReDHat), zypper (openSUSE) i pochodne,
  • Paczki tar.xz – obsługiwane przez pacman, yaourt, przynależne dystrybucji Arch Linux i Manjaro, Antergos i pochodne.

Żeby było ciekawiej, system obsługujący np. paczki rpm niekoniecznie obsłuży paczki rpm z innej dystrybucji – oczywiście w przypadku, gdybyśmy próbowali taką paczkę na siłę i ręcznie wmontować w nasz system (np. rpm z RedHata w openSUSE). Jeżeli trzymamy się repozytoriów i zależności rozwiązywanych automatycznie przez menadżer pakietów możemy spać spokojnie (tzn. nic z Ubuntu nie trafi do naszego Debiana i tak dalej).

Zatem, jak poradzić sobie z podstawami takimi jak instalacja, wyszukiwanie, aktualizacja? Wystarczy wykuć na blachę poniższe tabele. Z racji ich skromnej przestrzeni pomijam obsługę paczek w Slackware i Gentoo, które to jednak są na tyle specjalistycznymi dystrybucjami, że żadnego z ich użytkowników raczej niczego nowego nie nauczę.

UWAGA – niskopoziomowe operacje na bazie paczek i samych paczkach (rpm, dpkg) wymagają konsultacji z bardziej fachowymi poradnikami, gdyż nieodpowiednio użyte mogą doprowadzić do niemocy systemu i stanów lękowych u użytkownika. Użytkowniku, pamiętaj – nic na siłę dopóki działa automatyka (apt, zypper, dnf, pacman).

Zarządzanie paczkami

Zadanieapt (deb)dnf (rpm)zypper (rpm)pacman (tar.xz)
Instalowanieapt-get install nazwadnf install nazwazypper install nazwapacman -S nazwa
Aktualizacjaapt-get install nazwadnf install nazwazypper update -t package nazwapacman -S nazwa
Usuwanieapt-get remove nazwadnf remove nazwazypper remove nazwapacman -R nazwa
Lokalniedpkg -i plikdnf install plikzypper install plikpacman -U plik

Wyszukiwanie pakietów

Zadanieapt (deb)dnf (rpm)zypper (rpm)pacman (tar.xz)
Wg nazwyapt-cache search nazwadnf search nazwazypper search nazwapacman -Ss nazwa
Wg wzoruapt-cache search wzórdnf search wzórzypper search -t pattern wzórpacman -Ss wzór
Wg nazwy plikuapt-file search ścieżkadnf provides plikzypper wp plikpkgfile plik
Zainstalowanedpkg -ldnf list installedzypper search -ispacman -Q
Informacjeapt-cache show nazwadnf info nazwazypper info nazwapacman -[Q|S]i nazwa

Aktualizowanie systemu

Zadanieapt (deb)dnf (rpm)zypper (rpm)pacman (tar.xz)
Lista pakietówapt-get updatednf clean expire-cache && dnf check-updatezypper refreshpacman -Sy
Systemapt-get upgradednf upgradezypper updatepacman -Suy

Zarządzanie repozytoriami

Zadanieapt (deb)dnf (rpm)zypper (rpm)pacman (tar.xz)
Listacat /etc/apt/sources.listdnf repolistzypper reposcat /etc/pacman.conf
Dodawanieedytuj /etc/apt/sources.listdodaj do /etc/yum.repos.d/zypper addrepo URI nameedytuj /etc/pacman.conf
Usuwanieedytuj /etc/apt/sources.listusuń z /etc/yum.repos.d/zypper removerepo nameedytuj /etc/pacman.conf

Post navigation

Translate »