apt-forktracer - narzędzie wspomagające zarządzanie
wersjami pakietów
apt-forktracer [ -v ]
Utrzymanie systemu Debian w wersji stabilnej często wymaga instalacji
nieoficjalnych wersji programów:
- backporty
- Nowsze wersje pakietów, przystosowane do wersji
stabilnej, zawierające nową funkcjonalność
niedostępną w danej edycji stabilnej. W tym przypadku wersja
pakietu najczęściej jest nowsza niż wersja
dostępna w edycji stabilnej. Oznacza to, że teoretycznie nie
trzeba "przypinać" pakietu do tej wersji, ponieważ
APT wybierze ją domyślnie.
- lokalne zmiany wersji oficjalnej
- Najczęściej są to drobne zmiany,
więc wystarcza niewielka modyfikacja numeru wersji pakietu.
Można to zrobić na dwa sposoby:
Spróbować wymyślić taki numer wersji,
który byłby nowszy niż obecny oficjalny, ale starszy
niż następny oficjalny. Sposób ten nie wymaga
"przypinania" pakietu, ale w praktyce może łatwo
zawieść w nieoczekiwanym momencie - nigdy nie wiadomo tak
naprawdę jaki będzie następny oficjalny numer wersji
pakietu - może okazać się starszy, niż
wymyślony przez nas.
Drugi sposób polega na takiej modyfikacji numeru wersji, aby
była ona starsza od oficjalnej. Bardzo przydatny tutaj jest znak
tyldy, który dpkg traktuje w specjalny sposób: wystarczy
"doklejenie" do numeru wersji napisu zaczynającego
się od tyldy, na przykład 1.2 →
1.2~sl.1. Ten sposób wymaga jednoczesnego
"przypięcia" pakietu do danej wersji lub
źródła, ale jest bardziej niezawodny, bo
działa niezależnie od tego jaka będzie kolejna wersja
oficjalna.
W obu powyższych przypadkach mamy jednak do czynienia z tym samym
problemem: APT nie piśnie ani słówkiem, jeśli
pojawi się jakaś nowsza oficjalna wersja pakietu (np. poprawka
dotycząca bezpieczeństwa, lub inna poprawka w edycji stabilnej).
Oznacza to, że można przegapić jakąś
istotną zmianę.
apt-forktracer to narzędzie ułatwiające
śledzenie oficjalnych wersji pakietów, które
zainstalowano lokalnie w innej wersji.
Jest to taka wersja pakietu, która jest dostępny ze
źródła, którego plik Release zawiera
nagłówek Origin o wartości takiej, jak identyfikator
dystrybutora systemu, określony przez wynik komendy
lsb_release
--id lub przez pole
DISTRIB_ID w pliku
/etc/lsb-release.
apt-forktracer analizuje każdy zainstalowany pakiet z osobna,
wypisując na wyjściu te, które są w
"niestandardowym" stanie. Znaczenie stanu
"niestandardowego" zależy od trybu w jakim działa
program:
- tryb domyślny (nie-gadatliwy)
- stan ten oznacza pakiety w niepoprawnym stanie (na
przykład brak wersji kandydującej), oraz takie,
których kandydująca wersja jest inna niż najnowsza
dostępna oficjalna wersja.
- tryb gadatliwy
- stan ten oznacza dodatkowo pakiety których
zainstalowana wersja różni się od
kandydującej.
W trybie domyślnym dodatkowo czytane są pliki konfiguracyjne,
które umożliwiają nakazanie programowi ignorowanie
wybranych "niestandardowych" pakietów, o ile
spełniają pewne warunki. Jeśli dla danego pakietu nie ma
konfiguracji, to obowiązuje dla niego konfiguracja domyślna.
Więcej informacji można znaleźć w
forktracer.conf(5).
Program wypisuje komunikaty takie jak następujący:
foobar (1.2.3->1.2.4) [Debian: 1.2.3 1.2.4] [Other origin: 1.2.2]
Gdzie:
- foobar
- nazwa pakietu
- 1.2.3
- zainstalowana wersja pakietu
- 1.2.4
- kandydująca wersja pakietu - patrz
apt-cache(8).
- Debian
- wartość pola "Origin" jednego ze
źródeł pakietu. Po dwukropku są wymienione
dostępne z tego źródła wersje.
- Other origin
- nazwa innego źródła.
- -v
- Włącza tryb "gadatliwy".
/etc/apt/forktracer.conf
/etc/apt/forktracer.d/*.conf
forktracer.conf(5),
apt_preferences(5),
apt-cache(8).