OpenBSD patchen

Aus sicherheitsgruenden ist es mindestens notwendig das System mit den Security Patches aus:

	http://www.OpenBSD.org/security.html

zu versehen.

Voraussetzung hierfuer sind die Archive 'srcsys.tar.gz' und 'src.tar.gz' (neuerdings sind Kernel-Source und der 'Rest' in einem tar.gz vereint) von CD oder:

	ftp://ftp.de.openbsd.org/unix/OpenBSD/3.0/

Die Sourcen werden in /usr/src entpackt und koennen hiernach gepatched werden. Wie beim Patchen vorzugehen ist steht dann direkt im Patch drin (am Beispiel 3.0):


% wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.0/common/011_sudo.patch
	
% head 011_sudo.patch 
	 Apply by doing:
        	cd /usr/src
        	patch -p0 < 011_sudo.patch

	 And then rebuild and install sudo:
        	cd usr.bin/sudo
        	make -f Makefile.bsd-wrapper obj
        	make -f Makefile.bsd-wrapper cleandir
        	make -f Makefile.bsd-wrapper
        	make -f Makefile.bsd-wrapper install

Es gibt auch Projekte, welche diese Vorgehen automatisieren wollen:

	Tepatche
	AutoPatcher

Es bestuende zudem die Moeglichkeit alle Patches auf einen Schlag zu installieren indem man den Patchbranch per CVS holt und einbaut (http://www.OpenBSD.org/stable.html). Dieses Vorgehen ist aber viel zeitaufwendiger weil am Ende des Patchens immer ein 'make build' steht und auch jedesmal ein neuer Kernel gebaut werden muss.

Hier kurz die wichtigsten Schritte (Voraussetzung ist wieder das Vorhandensein vom Source-Tree):

	===> Umgebungsvariable setzen:
		export CVS_RSH=/usr/bin/ssh
		export CVSROOT=anoncvs@anoncvs.ca.openbsd.org:/cvs
	===> Patchbranch holen:
        	cd /usr/src
        	cvs up -rOPENBSD_3_0 -Pd
	===> Neuen Kernel bauen und booten (siehe Administration)
	===> Rebuild aller binaries:
		cd /usr/src
		rm -r /usr/obj/*
		make obj
		make build
--
I.S.