====== NetBSD ====== Es ist ein tolles System, sehr aufgeräumt, durchdacht und sauber programmiert! Aus dem sauberen Code ergeben sich weniger Sicherheitslücken und Bug's als sie //OpenBSD// aufweist, obwohl //OpenBSD// die //Sicherheit// in seinen Projekt-Zielen an erster Stelle stehen hat! Aufgegeben habe ich es, weil das Paketmanagement bei einem Update aller installierter Pakete, deutlich mehr Arbeit verursacht hat, als es bei FreeBSD der Fall ist. Außerdem habe ich ein paar von mir bevorzugte Programme nicht im //pkgsrc// gefunden. Und so ist es gekommen, das ich mich mit dem //zweitbesten// zufrieden gegeben habe. Mittlerweile würde mir auch die native ZFS-Unterstützung in NetBSD sehr fehlen... ;-) ===== Geburtstage ===== * [[https://www.netbsd.org/releases/formal.html#history|History of NetBSD releases]] * __2013-03-22__: [[http://www.pro-linux.de/news/1/19594/alles-gute-zwanzig-jahre-netbsd.html|Alles Gute - Zwanzig Jahre NetBSD]] - Fr, 22. März 2013, 09:58 Uhr * __2013-01-14__: [[http://www.pro-linux.de/news/1/19331/15-jahre-pkgsrc.html|15 Jahre pkgsrc]] - Mo, 14. Januar 2013, 13:21 Uhr * __2012-12-04__: [[http://www.pro-linux.de/news/1/19188/netbsd-52-freigegeben.html|NetBSD 5.2 freigegeben]] - Di, 4. Dezember 2012, 08:06 Uhr * __2012-11-07__: [[http://www.pro-linux.de/news/1/19087/25-jahre-sparc-architektur.html|25 Jahre SPARC-Architektur]] - Mi, 7. November 2012, 14:37 Uhr * __2012-10-18__: [[http://www.pro-linux.de/news/1/19009/netbsd-60-freigegeben.html|NetBSD 6.0 freigegeben]] - Do, 18. Oktober 2012, 09:04 Uhr * __2012-09-17__: [[http://www.pro-linux.de/news/1/18885/25-jahre-x11.html|25 Jahre X11]] - Mo, 17. September 2012, 16:39 Uhr * __2001-06-19__: x86_64 -> [[http://www.netbsd.org/ports/amd64/|amd64]] (64 Bit) * __1993-03-21__: [[http://www.netbsd.org/ports/i386/|i386]] (32 Bit) ===== Meilensteine ===== * NetBSD 1.4: meine erste NetBSD-Installation, mit der ich etwas anfangen konnte; * NetBSD 1.5.1-1.6: meine ersten NetBSD-Versionen, mit denen ich mich intensiv beschäftigt hatte; * NetBSD 3.0: erste NetBSD-Version in der das __Power-Management__ funktionierte; ab jetzt ist Xen auch ein fester Bestand von NetBSD; * NetBSD 5: ab jetzt ist __X.org__ das Standardfenstersystem; * NetBSD 6: erste NetBSD-Version mit dem Flashspeicher-Dateisystem __CHFS__; ein experimenteller Port von ZFS wurde ebenfalls integriert; * Binärpaketmanager: [[https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkgin/|pkgin]] is aimed at being an apt / yum like tool for managing pkgsrc binary packages. * NetBSD 7: [[http://www.pro-linux.de/news/1/22838/netbsd-70-freigegeben.html|NetBSD 7.0]]: der Kernel ist nun in der Lage, __Lua-Code__ dank eines integrierten, als Treiber realisierten Interpreters, direkt auszuführen; * seit dieser Version gibt es auch das von anderen Betriebssystemen bekannte Programm "service", mit dem sich Daemonen starten und stoppen sowie deren Status abfragen lassen; * NetBSD 8: [[https://www.pro-linux.de/news/1/26116/netbsd-80-ver%C3%B6ffentlicht.html|NetBSD 8.0]] hat jetzt Unterstützung für __USB-3__ dazu bekommen. Die bereits in der Vergangenheit vorgestellten Schutzmechanismen gegen Meltdown und Spectre V2 sowie V4 sind nun ein integraler Bestandteil des Systems. Weitere Neuerungen für die Intel-Plattform sind eine Unterstützung von SNAP und (U)EFI. * NetBSD 9: [[https://www.heise.de/newsticker/meldung/NetBSD-9-0-mit-neuem-Hypervisor-und-verbesserter-ZFS-Unterstuetzung-4660370.html|NetBSD 9.0]] mit neuem Hypervisor (Xen wird durch NVMM abgelöst) und verbesserter ZFS-Unterstützung sowie eine Reihe von neuen Sicherheitsfunktionen unter anderem auf Kernel-Ebene. Damit will NetBSD vor allem im Cloud-Umfeld an Bedeutung gewinnen. [[https://youtu.be/3flJSB3r-fI?t=292|Das Dateisystem ZFS erhielt ein umfangreiches Update und ist nun für den produktiven Einsatz geeignet.]] Allerdings kann das System nicht von ZFS booten. Das root-Dateisystem darf zudem auch nicht in ZFS liegen. * Upgrade 9.1 -> 9.2: ''%%sysupgrade auto https://cdn.NetBSD.org/pub/NetBSD/NetBSD-9.2/amd64%%'' ===== Hinweise zur Administration von NetBSD ===== ==== PKGSRC per "CVS checkout" holen ==== Dieses Skript wurde für NetBSD 1.5.1 geschrieben. #!/bin/sh # # holen der PKGSRC per "CVS checkout" in NetBSD # #cvs -d anoncvs@anoncvs.netbsd.org:/cvsroot checkout -PA pkgsrc #cvs -d anoncvs@anoncvs.netbsd.org:/cvsroot update -PAd pkgsrc # cd /usr # Vor dem CHECKOUT muss das alte "src"-Verzeichnis geloescht werden! if [ -d pkgsrc ] then mv pkgsrc pkgsrc-old rm -fr pkgsrc-old & fi set CVS_RSH ssh; export CVS_RSH set CVSROOT anoncvs@anoncvs.netbsd.org:/cvsroot; export CVSROOT cd /usr && cvs $CVSROOT checkout -PA pkgsrc ==== NetBSD CGD (Cryptographic disk driver) ==== **//CGD//** ist eines der sichersten, wenn nicht sogar die sicherste Methode, im open-source-Bereich, Laufwerke zu verschlüsseln! * [[http://pbraun.nethence.com/doc/filesystems/cgd.html]] * [[http://www.netbsd.org/docs/guide/en/chap-cgd.html]] === Kernel-Konfiguration === Dein NetBSD-Kernel muss das haben: pseudo-device cgd 4 # cryptographic disk driver Das ist in der Grundeinstellung bereits aktiv: cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/amd64/conf/GENERIC?rev=HEAD === kryptographisches Laufwerk erstellen === Parameterdatei erstellen (Passwort eingeben; disklabel & format): # cgdconfig -g -V disklabel aes-cbc 256 > /etc/cgd/wd1a # cgdconfig -V re-enter cgd0 /dev/wd1a /etc/cgd/wd1a # disklabel -e -I cgd0 # newfs /dev/rcgd0a Leider wird hier als stärksten Verschlüssellungsalgorithmus nur //AES// unterstützt. Ich persönlich bevorzuge normalerweise //twofish// (schnell+sicher aber nur 3% langsamer als AES) oder //serpent// (sehr sicher; aber ca. 30% langsamer als AES). Wenn es ein virtuelles Laufwerk ist: # cgdconfig -g -V disklabel aes-cbc 256 > /etc/cgd/vnd0d # cgdconfig -V re-enter cgd0 /dev/vnd0d /etc/cgd/vnd0d # ... === mounten des kryptographischen Laufwerk's === Das kryptographische Laufwerk konfigurieren: # cgdconfig -V none cgd0 /dev/wd1a # mount /dev/cgd0a /mnt Hinweis: Am Ende des //cgdconfig//-Kommando's kann man noch die Konfigurationsdatei übergeben. In der Grundeinstellung wird unter ///etc/cgd// eine Datei mit dem Namen der Gerätedatei erwartet (z.B.: ///etc/cgd/wd1a//). Wenn es ein virtuelles Laufwerk ist, dann mach das hier vorher: # vnconfig vnd0 image.vdisk # cgdconfig -V none cgd0 /dev/vnd0d # ... === Unmount the cryptographic disk === wie bekannt: # umount /mnt # cgdconfig -u cgd0 Und wenn es ein virtuelles Laufwerk ist, dann fehlt noch das hier: # vnconfig -u vnd0