18.2 Narzędzia do obsługi pakietów

Istnieją cztery podstawowe narzędzia do zarządzania paczkami w systemie. Zajmują się one instalacją, usuwaniem oraz aktualizacją pakietów.

18.2.1 pkgtool

pkgtool(8) to program obsługiwany za pomocą menu, który pozwala na instalację oraz usuwanie pakietów. Menu główne pokazane jest w Rysunek 18-1.

Rysunek 18-1. Pkgtool - menu główne.

Proponowana jest instalacja z katalogu aktualnego bądź innego, albo też z dyskietki. Wybierz metodę instalacji, a pkgtool przeszuka wskazaną lokację w poszukiwaniu paczek do zainstalowania.

Możesz też przejrzeć listę pakietów już zainstalowanych, jak pokazano w Rysunek 18-2.

Rysunek 18-2. Pkgtool - przeglądanie pakietów

Jeżeli chcesz usunąć paczkę, wybierz opcję “remove” (ang. usuń) - otrzymasz listę pakietów zainstalowanych w twoim systemie. Zaznacz te przeznaczone do usunięcia, po czym wybierz OK. pkgtool pozbędzie się ich.

Część użytkowników bardziej prferuje to narzędzie niż inne - wywoływane z linii poleceń. Niemniej jednak trzeba zauważyć, że te drugie oferują o wiele więcej opcji. Ponadto też możliwość uaktualniania pakietów jest dostępna jedynie poprzez narzędzia linii poleceń.

18.2.2 installpkg

installpkg(8) zajmuje się instalacją nowych paczek w systemie. Składnia jest następująca:

# installpkg opcja nazwa_pakietu

installpkg posiada trzy opcje, z czego można użyć tylko jednej na raz.

Table 18-1. installpkg Options

Opcja Działanie opcji
-m Przeprowadza operację "makepkg" w bieżącym katalogu.
-warn Pokazuje, co stanie się gdy zainstalujesz wskazaną paczkę. Opcja szczególnie użyteczna na serwerach - dzięki niej dokładnie zobaczysz efekt instalacji jeszcze przed jej wykonaniem.
-r Zainstaluj rekursywnie wszystkie paczki z katalogu bieżącego i wszystkich katalogów w nim zawartych. W nazwie paczki można użyć znaków uniwersalnych (ang. wildcards), które zostaną wykorzystane jako maska wyszukiwania przy rekursywnej instalacji.

Jeżeli do zmiennej środowiskowej ROOT wpiszesz ścieżkę będzie ona użyta przez installpkg, jako katalog główny (ang. root directory). Jest to użyteczne przy przygotowywaniu nowych dysków/napędów, na których zostanie umieszczony wspomniany katalog. Typowo będą one zamontowane w /mnt lub gdzie indziej wyłączając /.

Baza danych o zainstalowanych pakietach przechowywana jest w /var/log/packages. Wpisy takie to w rzeczywistości zwykłe pliki tekstowe, po jednym dla każdej paczki. Jeżeli pakiet posiadał skrypt poinstalacyjny, to zapisany on został w /var/log/scripts/.

Możesz podać nazwy kilku pakietów, bądź też użyć w nazwie znaków uniwersalnych. Miej świadomość tego, że installpkg nie poinformuje w żaden sposób o tym, że właśnie nadpisuje jakąś już zainstalowaną paczkę. Po prostu zainstaluje nową nadpisując pliki starej. Jeżeli chcesz mieć pewność, że stare pliki z poprzedniej paczki zostały bezpiecznie usunięte, użyj upgradepkg.

18.2.3 removepkg

removepkg(8) odpowiada za usuwanie pakietów z systemu. Oto jego składnia:

# removepkg opcja nazwa_pakietu

Dla removepkg zostały przewidziane cztery opcje; w danej chwili może być użyta tylko jedna z nich.

Tabela 18-2. removepkg Opcje

Opcja Efekt
-copy Pakiet zostaje skopiowany do specjalnego (ang. preserved) katalogu paczek. Tworzy to drzewo katalogów oryginalnego pakietu bez usuwania go.
-keep Zachowuje pliki tymczasowe, tworzone podczas usuwania. Tak naprawdę potrzebne jedynie przy debuggowaniu.
-preserve Pakiet zostaje usunięty, ale jednocześnie kopiowany jest do specjalnego katalogu paczek.
-warn Pokazuje, co stałoby się, gdyby usunąć pakiet.

Jeżeli do zmiennej środowiskowej ROOT wpiszesz ścieżkę będzie ona użyta przez removepkg, jako katalog główny (ang. root directory). Jest to użyteczne przy przygotowywaniu nowych dysków/napędów, na których zostanie umieszczony wspomniany katalog. Typowo będą one zamontowane w /mnt lub gdzie indziej wyłączając /.

removepkg przegląda też inne zainstalowane paczki i usuwa pliki używane tylko i wyłącznie przez pakiet wskazany przez ciebie do usunięcia. Nie zapomina też o przeczytaniu zawartości skryptu poinstalacyjnego danej paczki oraz usunięciu wszystkich linków symbolicznych przez niego utworzonych.

Podczas procesu usuwania wyświetlany jest raport o statusie. Po usunięciu informacje o paczce zostają zapisane w /var/log/removed_packages, zaś skrypt poinstalacyjny jest przeniesiony do /var/log/removed_scripts.

Podobnie jak przy installpkg, tak i tu możesz określić kilka pakietów, bądź też użyć znaków uniwersalnych w nazwie pakietu.

18.2.4 upgradepkg

upgradepkg(8) uaktualni wskazany pakiet Slackware. Składnia tego polecenia wygląda tak:

# upgradepkg nazwa_pakietu

albo tak:

# upgradepkg nazwa_starego_pakietu%nazwa_nowego_pakietu

upgradepkg pracuje w ten sposób, że najpierw instaluje nowy pakiet, zaś dopiero potem usuwa stary, tak by nieużywane już pliki nie zaśmiecały systemu. Jeżeli nazwa aktualizowanego pakietu zmieniła się, użyj znaku procentu do określenia starego pakietu (tego, który aktualnie jest już zainstalowany w twoim systemie) oraz nowego (tego, do którego zainstalowany pakiet ma być uaktualniony).

Jeżeli do zmiennej środowiskowej ROOT wpiszesz ścieżkę będzie ona użyta przez upgradepkg, jako katalog główny (ang. root directory). Jest to użyteczne przy przygotowywaniu nowych dysków/napędów, na których zostanie umieszczony wspomniany katalog. Typowo będą one zamontowane w /mnt lub gdzie indziej wyłączając /.

Wykonanie upgradepkg nie zawsze powiedzie się w pełni. Należy zawsze zachować swoje pliki konfiguracyjne. Jeżeli zostaną one usunięte bądź nadpisane, będzie można użyć ich kopii przy pracach naprawczych.

I tak jak w wypadku installpkg oraz removepkg, można znowu podać nazwy kilku pakietów oraz używać znaków uniwersalnych w nazwie pakietu.

18.2.5 rpm2tgz/rpm2targz

RedHat Package Manager (Menedżer Pakietów w RedHat Linux) to popularny menedżer pakietów, łatwo dziś dostępnych. Wielu dystrybutorów oprogramowania oferuje swoje produkty w postaci RPM. Nie jest to dla Slackware natywny format, dlatego też nie polecamy polegać na nim. Niemniej jednak pewne rzeczy są dostępne tylko w postaci RPM (także niektóre ze źródeł).

Slackware zawiera program konwertujący pakiety RPM na jego rodzimy format .tgz. Pozwala to na rozpakowanie paczki (np. przy użyciu explodepkg) do katalogu tymczasowego oraz przetestowanie jej zawartości.

Program rpm2tgz stworzy Slackware'ową paczkę o rozszerzeniu .tgz, zaś rpm2targz utworzy archiwum o rozszerzeniu .tar.gz.

Grenlandia 2012