Extended Slackware

pkgtools-ng

Last modified: Mon, 05 Sep 2005 16:46:26 +0200

Co to jest pkgtools-ng?

pkgtools-ng to zbiór narzędzi do obsługi slackware'owego systemu pakietów .tgz. Zawiera skrypty do listowania zainstalowanych pakietów, szukania pakietów zawierających zadany plik i ściągania pakietów z repozytorium.

Zwróć uwagę, że pkgtools-ng w założeniu nie ma być pojedynczym monotlitycznym narzędziem jak Swaret. W zamian za to starałem się, żeby skrypty były jak najwygodniejsze w użyciu w innych skryptach. To ma jedna ogromną zaletę nad gotowymi narzędziami dla użytkownika: łatwo możesz napisać, używając tego samego backendu, wiele nakładek: uruchamianych z wiersza poleceń, semigraficznych (curses) czy graficznych. I, rzecz jasna, możesz spokojnie używać tego backendu w skryptach uruchamianych automatycznie, na przykład z crontaba.

Co odróżnia pkgtools-ng od innych narzędzi?

Najistotniejsze (przynajmniej dla mnie) jest lepsze obchodzenie się z różnymi numerami wersji. Większość narzędzi ściąga pakiety o wersji innej niż te, które masz zainstalowane, czasem przedkładając pakiety z katalogu /patches nad te z katalogu /slackware. To nie jest inteligentne zachowanie, bo możesz mieć ustawiony mirror ze starszą wersją Slackware (inna sprawa, że mieć takie ustawienia też nie jest specjalnie mądre), możesz mieć zainstalowany pakiet w nowszej wersji ściągnięty ręcznie albo nawet własnoręcznie zbudowany. Niezależnie od powodu, raczej nie chcesz instalować ani ściągać starszego pakietu (chyba że naprawdę chcesz, ma się rozumieć).

Inną ważną własnością jest to, co wspomniałem dwa akapity temu: użyteczność w skryptach. pkgtools-ng piszę jako backend, nie jako narzędzia prezentowane użytkownikowi. Oczywiście użytkownik może ich używać ręcznie (tak, jak ja to robię), ale w przyszłości mam zamiar napisać graficzną nakładkę (prawdopodobnie w Perl/Tk).

Dlaczego używać pkgtools-ng?

Bo ten zestaw jest mały (około 150kB różnych shellowych skryptów ze stronami manuala), zwłaszcza porównany ze Swaretem (prawie 300kB w jednym skrypcie).

Bo staram się, żeby skrypty były tak szybkie, jak to możliwe dla skryptów shellowych (Swaret jest dla mnie za wolny).

Bo skrypty mają małe wymagania: shell zgodny z POSIX (a w zasadzie z SUS) (bash lub ash wystarczą), awk (gawk lub mawk będzie OK), grep i Wget albo cURL do ściągania pakietów.

Bo to będzie alternatywa dla oryginalnego pkgtools. Zamierzam zachować pełną kompatybilność z pkgtools, dodając jednak nieco rozszerzeń, jak automatyczne śledzenie i ściąganie zależności albo zachowywanie konfiguracji tuż przed aktualizacją pakietu (jest jeszcze parę pakietów, które nadpisują pliki konfiguracyjne przy instalacji).

Wystarczy? Czy zachęciłem cię do używania zestawu pkgtools-ng? Więc ściągnij go!

Engine by Dozzie. Awful design by Dozzie.