Plik Makefile iptables
zawiera funkcjonalnośæ nazwaną `patch-o-matic' (lub `p-o-m').
p-o-m kieruje twoją drogą przez proces selekcji łat, które możesz chcieæ zaaplikowaæ,
oraz automatycznie dodaje je do kernela.
Po pierwsze, powinieneś ściągnąæ najnowsze drzewo CVS, by byæ pewnym że pracujesz z najnowszymi wersjami rozszerzeñ. By to zrobiæ, wykonaj:
# cvs -d :pserver:cvs@pserver.samba.org:/cvsroot login
# cvs -z3 -d :pserver:cvs@pserver.samba.org:/cvsroot co netfilter
Stworzy to główny katalog `netfilter/' a nastêpnie ściągnie do niego wszystkie potrzebne pliki.
Upewnij siê, że źródła twojego kernela są w `/usr/src/linux/'. Jeśli z jakiś powodów kernel, który bêdziesz łatał nie znajduje siê w tym katalogu, musisz ustawiæ zmienną środowiskową KERNEL_DIR na katalog zawierający źródła kernela:
# export KERNEL_DIR=/ścieżka/do/linuksa
Upewnij siê również, że wykonałeś sprawdzenie zależności (ang.dependencies). Jeśli nie jesteś pewien:
# cd /usr/src/linux/
# make dep
Możesz teraz przejśæ do katalogu netfilter, wejśæ do katalogu `userspace/' i wykonaæ p-o-m.
Uruchommy w katalogu `userspace/' p-o-m :
# make patch-o-matic
Welcome to Rusty's Patch-o-matic!
Each patch is a new feature: many have minimal impact, some do not.
Każda łata to nowa funkcjonalnośæ: wiele z nich wnosi niewielkie zmiany, ale niektóre nie.
Almost every one has bugs, so I don't recommend applying them all!
Prawie każda ma jakieś błêdy, wiêc nie rekomendujê nakładania ich w ogóle!
-------------------------------------------------------
Already applied: 2.4.1 2.4.4
Już nałożone: 2.4.1 2.4.4
Testing... name_of_the_patch NOT APPLIED ( 2 missing files)
Testuje... nazwa_łatki NIE NAŁOŻONA ( znaleziono 2 brakujące pliki )
The name_of_the_patch patch:
nazwa_łatki:
Here usually is the help text describing what
Tutaj znajduje siê zwykle tekst objaśniający
the patch is for, what you can expect from it,
do czego jest łata, czego możesz siê po niej spodziewaæ,
and what you should not expect from it.
a czego nie.
Do you want to apply this patch [N/y/t/f/q/?]
Czy chcesz nałożyæ łatkê
p-o-m przejdzie przez wszystkie łaty. Jeśli zostały już nałożone, zobaczysz napis `Already applied:' w pierwszej linii. Jeśli nie, wyświetli nazwê łaty z krótkim objaśnieniem. p-o-m poinformuje również o tym, co siê dzieje: `NOT APPLIED ( n missing files)' oznacza po prostu, że łaty jeszcze nie nałożono, a `NOT APPLIED ( n rejects out of n hunks)' oznacza generalnie, że:
Na koniec, zapyta o twoją decyzjê - łataæ czy nie.
Dobrą zasadą jest przeczytanie opisu łaty zanim siê ją nałoży. Ponieważ obecnie jest bardzo dużo oficjalnych łat dla patch-o-matic (i prawdopodobnie jeszcze wiêcej nieoficjalnych) absolutnie nie zalecam stosowania ich wszystkich ! Powinieneś poważnie przemyśleæ swój wybór i nałożyæ tylko te, których faktycznie potrzebujesz, nawet jeśli oznacza to rekompilacjê netfilter gdy bêdziesz potrzebował wiêcej łat.
Stworzono nową wersjê patch-o-matic, która pokazuje tylko łaty o których wiadomo, że nałożą siê bezproblemowo, lub przynajmniej nie zniszczą efektu innych łat. By ją wywołaæ, napisz :
# make most-of-pom
Działa to tak samo jak patch-o-matic, jeśli chodzi o łatanie. Zaoszczêdzisz sobie po prostu oglądania łat tylko dla programistów.
W momencie gdy nałożyłeś już wszystkie łaty, które chciałeś, nastêpnym krokiem bêdzie rekompilacja kernela i zainstalowanie go. To HOWTO tego nie objaśni, przeczytaj Linux Kernel HOWTO.
Podczas konfiguracji swojego kernela, zauważysz nowe opcje w `Networking Options -> Netfilter Configuration'. Wybierz opcje, których potrzebujesz, przekompiluj i zainstaluj nowy kernel.
Jeśli już siê to stało, możesz zainstalowaæ paczkê `iptables' z katalogu `userspace/' w ten sposób:
# make && make install
I to wszystko! Twoje nowe iptables
zostało właśnie zainstalowane!
Teraz czas na zabawê z nową funkcjonalnością.