FreeBSD 4.11 im Jahre 2017: Gruß aus alten Tagen
Darf's etwas Stabilität sein?
Schwacher Wortwitz, ich weiß. Dennoch ist es sinnvoll, das Betriebssystem auf die... nunja... letzte verfügbare Version zu aktualisieren. Das haben wir zur Zeit:
# uname -a FreeBSD vierelf.localdomain 4.11-RELEASE FreeBSD 4.11-RELEASE #0: Fri Jan 21 17:21:22 GMT 2005 root@perseus.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
Unser System entstammt also dem 4.11-RELEASE-Zweig. Der neueste Code für jeden Release-Zyklus ist jeweils in -STABLE. Man mag es glauben oder auch nicht: Die letzte Änderung an 4.11-STABLE erfolgte im April 2014! Traditionell wurde der FreeBSD-Code über CVS ausgecheckt. Nein, diesmal ist unser Problem nicht ssh-dss. FreeBSD ist bereits 2008 von CVS nach SVN (Subversion) umgestiegen. Schon vor Jahren wurden die CVS-Server von FreeBSD abgeschaltet und die alten Werkzeuge wie cvsup sind nutzlos. Wir brauchen Subversion, um den Code auschecken zu können.
Glücklicherweise haben wir unser Pkgsrc an der Hand. Dieser alte Pkgsrc-Baum stellt nur einen sehr alten Port für Subversion bereit, aber der tut's. Es gibt ein paar Distfiles, die nicht mehr auf den Spiegelservern verfügbar sind, die Pkgsrc dafür kannte. Das ist aber keine große Sache, wir können die entsprechenden Tarballs vorher manuell herunterladen:
# cd /usr/pkgsrc/07/distfiles # fetch http://archive.apache.org/dist/httpd/httpd-2.0.61.tar.bz2 # fetch http://repository.timesys.com/buildsources/e/expat/expat-2.0.1/expat-2.0.1.tar.gz # fetch http://download.nust.na/pub2/openpkg1/sources/DST/pkgconfig/pkg-config-0.21.tar.gz
Jetzt können wir Subversion bauen:
# cd /usr/pkgsrc/07/devel/subversion-base # bmake install clean clean-depends
Diverse Abhängigkeiten werden heruntergeladen, gebaut und installiert. Schlussendlich ist auch Subversion installiert und auf dem System verfügbar. Zeit, der Shell zu sagen, dass sie nach neuen Programmen im Pfad suchen soll, und anschließend den Systemquellcode aus dem STABLE-Zweig auszuchecken:
# rehash # svn co svn://svn.freebsd.org/base/stable/4 /usr/src