OPIS
Program apt-forktracer zgłasza "niestandardowe" pakiety zainstalowane w systemie. Pliki konfiguracyjne tego programu umożliwiają ignorowanie (pominięcie zgłaszania) wybranych z nich, o ile spełniają pewne warunki. Program czyta plik /etc/apt/forktracer.conf oraz pliki /etc/apt/forktracer.d/*.conf (za wyjątkiem plików ukrytych).Plik konfiguracyjny składa się z dowolnej ilości zwrotek, rozdzielonych jedną lub wieloma pustymi liniami. Format zwrotki jest następujący:
Package: pakiet Accept-Origin: źródło1 Track-Origin: źródło2 Track-Version: wersja
Wszystkie linie w zwrotce są wymagane, a ich znaczenie jest następujące:
- pakiet
- nazwa pakietu, którego dotyczy dana zwrotka
- źródło1
- wartość pola Origin źródła, z którego należy ignorować dany pakiet. Pakiet zostanie zignorowany, jeśli jego kandydująca wersja pochodzi ze źródła1, i jednocześnie spełniony jest warunek dany w polach Track-*. Specjalna wartość * oznacza, że należy ignorować pakiet niezależnie od źródła z którego pochodzi wersja kandydująca.
- źródło2
- wartość pola Origin źródła, którego najnowszą wersję należy śledzić. Specjalna wartość * oznacza, że należy śledzić ogólnie najnowszą dostępną wersję.
- wersja
- to wymagany numer najnowszej wersji dostępnej ze źródła źródło2. Oprócz dosłownego numeru wersji, można tu także użyć jednej z dwóch wartości specjalnych: =candidate - oznaczająca aktualną wersję kandydującą, oraz =candidate-base - oznaczająca wersję podstawową (patrz niżej) aktualnej wersji kandydującej.
Powyższa zwrotka powoduje pominięcie pakietu pakiet z wyjścia programu, o ile kandydująca wersja pakietu pochodzi ze źródła źródło1, i jednocześnie najnowsza wersja tegoż pakietu dostępna ze źródła źródło2 jest równa wersja.
Jeśli dla danego pakietu istnieje więcej niż jedna zwrotka, to jest on pomijany jeśli choć jedna z nich pasuje do obecnej sytuacji.
Definicja wersji podstawowej
Wersję podstawową uzyskuje się poprzez obcięcie z końca danej wersji najkrótszego napisu zaczynającego się od tyldy. Na przykład dla wersji 1:1.2-3~4~5 wersja podstawowa to 1:1.2-3~4.
Konfiguracja domyślna
Jeśli dla pewnego pakietu pakiet nie ma żadnej zwrotki w konfiguracji, to program działa tak, jakby istniały następujące dwie zwrotki:
Package: pakiet Accept-Origin: * Track-Origin: dystrybutor Track-Version: =candidate Package: pakiet Accept-Origin: * Track-Origin: dystrybutor Track-Version: =candidate-base
gdzie dystrybutor to identyfikator dystrybutora systemu, określony przez wynik komendy lsb_release --id lub przez pole DISTRIB_ID w pliku /etc/lsb-release.
PRZYKŁADY
Nieoficjalny pakiet
apt-forktracer zgłasza pakiety niedostępne z żadnego źródła oficjalnego, na przykład:
puppet-softwarelab (0.2) [SoftwareLab: 0.2 0.1]
Aby tego uniknąć, należy dodać do pliku konfiguracyjnego następującą zwrotkę:
Package: puppet-softwarelab Accept-Origin: SoftwareLab Track-Origin: * Track-Version: =candidate
Jeśli dodatkowo "przypniemy" pakiet do źródła "release o=Softwarelab", to taka konfiguracja spowoduje, że apt-forktracer ostrzeże nas, jeśli w jakimś innym źródle pojawi się taki pakiet w wersji nowszej niż dostępne ze źródła SoftwareLab.
Backport
Instalacja backportu ma podobny efekt jak instalacja pakietu nieoficjalnego:
spamc (3.2.3-0.volatile1) [Debian: 3.1.7-2] [volatile.debian.org: 3.2.3-0.volatile1]
Aby wymusić pomijanie tego pakietu, należy dodać analogiczną zwrotkę do konfiguracji:
Package: spamc Accept-Origin: volatile.debian.org Track-Origin: * Track-Version: =candidate
W tej sytuacji niewielka zmiana wersji pakietu oficjalnego (na przykład na 3.1.7-2etch1) pozostanie niezauważona. Konfiguracja ta nadaje się więc wyłącznie w przypadkach, gdy ufamy, że osoba udostępniająca zainstalowany przez nas backport śledzi zmiany wersji stabilnej i będzie wydawać poprawione backporty, zawierające niezbędne zmiany z edycji stabilnej. Jeśli nie mamy takiego zaufania, należy użyć następującej konfiguracji.
Własne poprawki
Czasami pojawia się sytuacja, gdy wprowadziliśmy do pakietu niewielkie poprawki, i chcemy wiedzieć, gdy pojawi się nowsza wersja oficjalna, aby móc utworzyć nową wersję poprawioną.
policyd-weight (0.1.14-beta-6etch2.0.sl.1) [Debian: 0.1.14-beta-6etch2] [SoftwareLab: 0.1.14-beta-6etch2.0.sl.1]
Jest wtedy przydatna poniższa konfiguracja:
Package: policyd-weight Accept-Origin: SoftwareLab Track-Origin: Debian Track-Version: 0.1.14-beta-6etch2
Warto zauważyć, że jeśli tworząc poprawioną wersję pakietu zastosujemy się do pewnej konwencji numeracji wersji, to do uzyskania tego efektu wystarczy opisana wyżej Konfiguracja domyślna. W tym przypadku wystarczyłoby nadać pakietowi wersję 0.1.14-beta-6etch2~sl.1 i powyższa zwrotka konfiguracji stałaby się zbędna. Co ważniejsze, odpada wtedy konieczność aktualizacji konfiguracji przy wydawaniu nowej wersji pakietu, ponieważ konfiguracja domyślna jest generowana automatycznie na podstawie obecnej sytuacji.
PLIKI
/etc/apt/forktracer.conf/etc/apt/forktracer.d/*.conf