Rozdział 18 Zarządzenie pakietami w Slackware

Spis treści
18.1 Format paczek
18.2 Narzędzia do obsługi pakietów
18.3 Tworzenie paczek
18.4 Tworzymy tagi oraz tagfiles (dla instalatora)

Pakiet (potocznie zwany paczką - przyp. tłum.) to zbiór powiązanych ze sobą programów gotowych do zainstalowania. Gdy ściągasz z internetu kod źródłowy programu, to przed instalacją musisz go jeszcze skonfigurować i skompilować. W pakietach te dwie rzeczy zostały już za ciebie zrobione. Jedyne co ty musisz zrobic to instalacja takiej paczki. Inną zaletą korzystania z pakietów jest fakt, iż bardzo łatwo je usunąć bądź zaktualizować, gdy tylko sobie zażyczysz. W Slackware znajdziesz wszystkie niezbędne programy do zarządzania paczkami. Możesz dzięki nim w łatwy sposób instalować, usuwać, uaktualniać pakiety oraz tworzyć je i sprawdzać ich poprawność.

Krąży mit (od momentu wypuszczenia przez RedHat menedżera pakietów), że Slackware nie posiada własnego narzędzia do zarządzania pakietami. Nie istnieje chyba drugie równie dalekie od prawdy stwierdzenie. Slackware od zawsze zawierał menedżer pakietów, nawet wtedy gdy nie istniał jeszcze RedHat. Co prawda nie tak rozbudowany bądź wszechobecny jak ten do rpm (bądź też deb), pkgtool oraz programy z nim powiązane nie ustępują wyżej wymienionym. Prawda o pkgtool nie jest taka, że ten program nie istnieje - on poprostu nie zajmuje się sprawdzaniem zależności.

Większa część społeczności linuksowej jest przekonana, iż menedżer pakietów musi z definicji zawierać sprawdzanie zależności. Cóż, tak naprawdę żadna definicja tego nie wymaga, zaś Slackware najczęściej tego nie robi. Oczywiście nie oznacza to, że pakiety w Slackware nie posiadają powiązań; po prostu menedżer pakietów nie sprawdza ich. Sprawdzenie takich zależności pozostaje zadaniem dla administratora systemu i jest to sposób, który preferujemy.

18.1 Format paczek

Zanim zaczniemy uczyć się narzędzi, warto najpierw zapoznać się z formatem pakietów Slackware. Pakiety te to proste archiwa tar, które zostały skompresowane programem gzip. Są one zbudowane w ten sposób, by mogły zostać rozpakowane do katalogu głównego.

Oto fikcyjny program oraz przykładowa paczka z nim:

./
usr/
usr/bin/
usr/bin/makehejaz
usr/doc/
usr/doc/makehejaz-1.0/
usr/doc/makehejaz-1.0/COPYING
usr/doc/makehejaz-1.0/README
usr/man/
usr/man/man1
usr/man/man1/makehejaz.1.gz
install/
install/doinst.sh

Menedżer paczek rozpakuje taki plik do katalogu głównego by zainstalować go. W bazie danych tego pakietu zostanie utworzony wpis zawierający zawartość paczki tak, by mogła być ona później zaktualizowana bądź usunięta.

Zwróć uwagę na podkatalog install/. Jest to podkatalog o specjalnym znaczeniu, który może zawierać skrypt poinstalacyjny o nazwie doinst.sh. Jeżeli menedżer paczek znajdzie taki plik, to uruchomi go po zainstalowaniu pakietu.

Inne skrypty także mogą zostać umieszczone w paczce; więcej o nich w podrozdziale Sekcja 18.3.2 poniżej.

Grenlandia 2012