poniedziałek,
Zarządzanie pakietami za pomocą dpkg
W dystrybucjach Linuksa oprogramowanie dostarczane jest w formie pakietów instalacyjnych. Istnieje wiele formatów pakietów, jednak nie każda dystrybucja opracowała własny, na przykład Ubuntu korzysta z formatu deb, który pochodzi z Debiana. Powstało kilka narzędzi do zarządzania pakietami deb, wśród nich jest dpkg. Pierwszą wersję dpkg w postaci skryptu powłoki napisał w 1994 roku twórca dystrybucji Debian Ian Murdock. Później dpkg kilkukrotnie został przepisany i rozbudowany. Powstało także kilka dodatkowych programów, m.in. narzędzia dpkg-split, dpkg-query, dpkg-statoverride, dpkg-divert, dpkg-trigger.
Dpkg jest programem, którego najważniejszymi opcjami jest instalacja i deinstalacja pakietów deb. Przy jego pomocy można wykonać jeszcze kilka innych operacji na pakietach instalacyjnych, jednak do bardziej złożonych zadań, np. automatycznego rozwiązywania zależności i konfliktów pomiędzy pakietami służą inne narzędzia. W programie dpkg pakiet można zainstalować za pomocą opcji i. Uruchomienie instalacji wymaga uprawnień administratora, stąd w przykładowym wywołaniu dpkg posłużono się narzędziem sudo.
sudo dpkg -i nazwa_pakietu.deb
Wiedzę najlepiej zweryfikować w praktyce, dlatego dobrze jest przećwiczyć instalowanie pakietów. W ćwiczeniu wykorzystano przeglądarkę stron internetowych Vivaldi, której pakiety nie zostały zamieszczone w oficjalnych repozytoriach Ubuntu. Producent Vivaldi zamieścił odpowiednie pakiety na macierzystej stronie internetowej (https://vivaldi.com/pl/download/). Po ustaleniu lokalizacji pakietu można pobrać go za pomocą domyślnie instalowanego w Ubuntu narzędzia wget. Adres lub nazwa pakietu zastosowane w przykładzie w przyszłości mogą ulec zmianie, aktualnych danych należy szukać na stronie Vivaldi.
cd /tmp
wget https://downloads.vivaldi.com/stable/vivaldi-stable_3.4.2066.106-1_amd64.deb
sudo dpkg -i vivaldi-stable_3.4.2066.106-1_amd64.deb
Deinstalacja pakietu jest możliwa przy wykorzystaniu opcji r. Oczywiście i w tym przypadku wymagane są uprawnienia administratora.
sudo dpkg -r nazwa_pakietu.deb
Instalacja i deinstalacja pakietów to podstawowe zadania stawiane przed dpkg, jednak program ten ma wiele innych możliwości. Przy jego pomocy można np. uzyskać listę aktualnie zainstalowanych pakietów.
dpkg -l
Lista będzie dość długa, dlatego wyszukując konkretnego pakietu, warto wykorzystać możliwość wyszukiwania za pomocą wzorca i ograniczyć liczbę wyświetlanych informacji. W przykładowym wywołaniu posłużono się symbolem wieloznacznym (*) i w efekcie wyszukano wszystkie pakiety, które mają w nazwie frazę „zip”.
dpkg -l *zip*
Obszerne informacje na temat wybranego pakietu można otrzymać za pomocą opcji s (status).
dpkg -s wget
Blokowanie pakietu przed aktualizacją:
echo nazwa_pakietu hold | dpkg --set-selections
Uzyskanie listy zablokowanych przed aktualizacją pakietów:
dpkg --get-selections | grep hold
Odblokowanie pakietu w celu aktualizacji:
echo nazwa_pakietu install | dpkg --set-selections
Lista plików związanych z danym pakietem
dpkg -L nazwa pakietu