Autoren

… zu guter Letzt

«Science encourages the idea that humans are just «molecular machines» that have to be made more efficient, he said, and its job is simply to measure the universe and predict its activity. But humans are more than this; they have a soul, Professor Martin said, and it is the job of the humanities to help people achieve their destiny as «true human beings».»

«Partitioning one’s digital life into security domains is certainly not an easy process and requires some thinking. This process is also very user-specific. The partitioning scheme that I’ve come up for myself is quite sophisticated, and most people would probably want something much simpler.»

«As the disaster in Japan illustrates, so starkly and so tragically, people have a hard time planning for events that they don’t want to imagine happening. But these are precisely the events that must be taken into account in a realistic assessment of risk. We’ve more or less pretended that our nuclear plants are safe, and so far we have got away with it. The Japanese have not.»

«Und nun also die Katastrophe von Fukushima. Das konservative Weltbild hätte es vielleicht verwunden, wenn ein Reaktor aufgrund der besonderen Umstände durchgegangen wäre. Das liesse sich noch irgendwie als Sonderfall erklären, als die winzig kleine Chance, dass es in 250,000 Jahren trotz bester Technik der westlichen Welt doch einmal passiert. Zwei durchgebrannte Reaktoren sprechen schon mehr für grundsätzliche Probleme, die nicht ganz zufällig auftreten.»

    , ,

    Debian: Kernel bauen

    Debian gehört nicht unbedingt zu meinem bevorzugten täglich Brot, aber dennoch habe ich seit Potato mit dieser GNU/Linux-Distro desöfteren zu tun. Ich war immer mehr der Slacker seit den frühen 90ern, bin also die dortigen Wege gewohnt. Nun hier will ich kurz zeigen, wie man einen Kernel backt und zwar nach Debian-Art.

    Dazu benötigt man diverse Zutaten, u.a. den Kernel-Quellcode, ein paar Debian-Werkzeuge und natürlich ein wenig Zeit. Auf heutigen Systemen geht die Zeit eher bei der erstmaligen Konfiguration des Kernels verloren, denn der Kompilation selbst. Aber wie auch sonst gilt, your mileage may vary.

    Eine Anleitung für die Konfiguration des Kernels selbst werde ich hier nicht geben, da sollte jeder schon wissen was er tut.

    cd /usr/src
    apt-get install build-essential
    apt-get install kernel-package
    apt-get install libncurses5-dev
    wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.bz2

     

    Obige Anweisungen dienen einzig der Vorbereitung. Man navigiert zu /usr/src, installiert die für den Kernelbau notwendigen Pakete und lädt den Kernel-Quellcode per se herunter. Libncurses5-dev wird nur benötigt, wenn man den Kernel mittels make nconfig konfigurieren möchte — aber dies muß man ganz dem eigenen Gusto entscheiden.

    Der eigene Bau gestaltet sich recht simpel. Da ein älterer Kernel installiert ist, nimmt man die Konfigurationsdatei von diesem und besitzt damit schon einmal eine Basis für die weitere Konfiguration.

    tar xjvf linux-2.6.38.tar.bz2
    ln -s linux-2.6.38 linux
    cp /boot/config-2.6.32-5-amd64 /usr/src/linux/.config
    cd linux
    make oldconfig
    make nconfig
    make-kpkg -j3 --initrd --revision olhe201103 kernel_image kernel_headers

     

    Als erstes wird der Kernel-Quellcode entpackt, dann erstellt man einen soft link, im Verzeichnis des Kernel-Quellcodes paßt man mit make oldconfig die alte Konfigurationsdatei an die neuen Optionen an und letztendlich muß man mit make nconfig oder auch make menuconfig die Konfiguration des Kernels gemäß dem eigenen Geschmack anpassen. Danach baue ich die Debian-Pakete mittels make-kpkg. Die Anzahl der Jobs bei j3 entsprechen dem eigenen System, hier ein Dualcore. Revision kann ebenso nach Lust und Laune angepaßt werden, siehe die manpage, sollte aber dennoch einem Muster folgen, falls man desöfteren Kernel installiert.

    cd ..
    dpkg -i *.deb

     

    Der letzte Schritt ist die Installation der erzeugten Pakete, zum einen linux-image und zum anderen linux-headers. Falls noch andere Pakete unter /usr/src liegen, sollte man den Platzhalter entsprechend sinnvoll ergänzen. Nun kann man den Rechner neustarten, bei Problemen wählt man im Grub-Menu einfach den alten Kernel aus und begibt sich auf Fehlersuche. Viel Spaß :-)

    , , , , , , , ,

    chillout

    Nina Simone, Mississippi Goddam

    Schönes Wochenende … :-)

    , , ,

    Time Management

    via xkcd :D

    , ,

    FreeBSD: Installation

    Üblicherweise wird FreeBSD mittels sysinstall installiert, in der Praxis jedoch liegen mit dieser Installation einige Features brach, die dieses freie UNIX-Derivat in petto hat, wie z.B. ZFS, gjournal, usw. Um diesen Malus zu kompensieren bedarf es einiger manueller Schritte, welche sich jedoch in der Praxis weniger wild gestalten.

    Beispielhaft stelle ich hier ein etwas klassisches Installationsschema dar, sprich getrennte root– und home-Partition, sowie Bereiche für usr, tmp und var. Als Partitionstabelle wird nicht MBR genutzt, sondern GPT, kurz für GUID Partition Table. Zum Einsatz kommt das seit Jahrzehnten bewährte Filesystem UFS plus Softupdates.

    Voraussetzungen: keine Berührungsängste mit der Konsole, grundlegende Kenntnisse, Bedienung der Fixit-Konsole des Boot-Mediums. Gestartet wird also wie gewohnt von einem Boot-Image, z.B. mit der Fixit-Konsole oder mittels mfsbsd.

    gpart create -s GPT ad4
    gpart add -t freebsd-boot -s 128 ad4
    gpart bootcode -b /dist/boot/pmbr -p /dist/boot/gptboot -i 1 ad4 

    gpart add -t freebsd-swap -s 2G ad4

    gpart add -t freebsd-ufs -s 2G ad4
    gpart add -t freebsd-ufs -s 2G ad4
    gpart add -t freebsd-ufs -s 3G ad4
    gpart add -t freebsd-ufs -s 25G ad4
    gpart add -t freebsd-ufs  ad4

     

    Im Beispiel wird zuerst ein GPT-Schema erstellt, dann wird Platz geschaffen für den Bootcode, welcher letztendlich vom Installationsmedium herüber kopiert wird. Als nächstes wird die swap-Partition erstellt, 2GB ist meinem System angepaßt. Danach folgen die Partitionen analog dem oben erwähnten Schema: root, var, tmp, usr und der Rest für home. Ich habe hier recht großzügige Werte gewählt, für root genügt auch 1GB, für var und tmp ebenso entsprechend weniger, usr muß abgeschätzt werden, da dort die Programme, sowie deren Daten installiert werden, darüber hinaus der Quellcode für Kernel, Welt und nicht zu vergessen die Ports.

    Weiterlesen: »FreeBSD: Installation«

    , , , , , ,

    FreeBSD: Verschlüsselung

    Verschlüsselung ist heutzutage vielerorts kaum noch wegzudenken, insbesondere nicht im mobilen Bereich. Und dennoch sollte man sich überlegen, wo man diese einzusetzen gedenkt. Denn letztendlich gilt: was sind einem die eigenen Daten wert? Eine Verschlüsselung ist immer auch ein guter Weg Daten entgültig zu verlieren. Kristian Köhntopp stellte diesbezüglich einige interessante Aspekte zusammen. Paranoia ist jedenfalls nie ein guter Ratgeber …

    In diesem Artikel nun erkläre ich, wie man die home– und swap-Partition unter FreeBSD mittels GELI verschlüsselt. Dazu ist logischerweise eine getrennte home-Partition notwendig, sowie grundlegende Kenntnisse im Umgang mit der Konsole. Das Prozedere selbst ist recht einfach, man initialisiert die entsprechende Partition mit GELI und legt darauf ein Filesystem an. Voreinstellung bei FreeBSD ist XTS-AES, es können jedoch bei der Initialisierung auch andere Algorithmen, Schlüssellängen, etc. genutzt werden, siehe diesbezüglich auch die man-Page zu GELI. ad4p7 ist meine home-Partition, ad4p2 ist mein swap-Bereich, analog muß man dies entsprechend der eigenen Konfiguration anpassen.

    GELI selbst muß vor dem Einsatz geladen werden, dies erreicht man, indem man /boot/loader.conf die entsprechende Anweisung hinzufügt: geom_eli_load=«YES».

    echo 'geom_eli_load="YES"' >> /etc/boot/loader.conf

    dd if=/dev/random of=/root/ad4p7.key bs=64 count=1
    geli init -b -K /root/ad4p7.key /dev/ad4p7
    geli attach -k /root/ad4p7.key /dev/ad4p7
    newfs -U -L homecrypto /dev/ad4p7.eli
    mount /dev/ufs/homecrypto /home

     

    Mittels dd erzeugt man einen Schlüssel, der unter /root gespeichert wird. Geli init initialisiert den entsprechenden Provider mit diesem Schlüssel, die Option b sorgt dafür, daß das gewählte Passwort beim Bootvorgang abgefragt wird. Mit geli attach schließlich hängt man den Provider ein. Mittels newfs wird ein Filesystem auf dem verschlüsselten Provider erzeugt, in diesem Fall versehe ich diesen mit der Bezeichnung homecrypto. Letztendlich wird der entsprechend präparierte Provider unter home eingehangen.

    Bei der Initialisierung wird nach einem Passwort gefragt, welches verifiziert werden muß. Daß der Schutz insbesondere mit der Stärke des Passworts steht und fällt, sollte jedem bewußt sein. Der Schlüssel selbst kann auch auf einem USB-Stick ausgelagert werden, um den Provider einzuhängen bedarf es dann des Passworts und des Schlüssels auf dem USB-Stick. Bei aller Paranoia jedoch sollte eines bedacht werden: geht der USB-Stick verloren oder wird dieser beschädigt, sind alle Daten unwiderruflich verloren!

    geli_devices="ad4p7"
    geli_ad4p7_flags="-k /root/ad4p7.key"

     

    Um dem System mitzuteilen, was es denn genau beim Bootvorgang tun soll, bedarf es einiger Ergänzungen in /etc/rc.conf. Unter geli_devices muß die entsprechende Partition angegeben werden, auf der der Provider erstellt wurde, geli_ad4p7_flag enthält die entsprechenden Optionen — hier, wo sich der Schlüssel befindet.

    #home encypted
    /dev/ufs/homecrypto /home ufs rw 2 2

    #swap encrypted
    /dev/ad4p2.eli none swap sw 0 0

     

    Dies ist ein Teil von /etc/fstab, in dieser wird der verschlüsselte Provider unter home eingehangen, sowie der swap-Bereich zugewiesen. Letzterer benötigt kein Passwort, da dieser bei jedem Neustart initialisiert wird, Voreinstellung hierbei: AES mit einer Schlüssellänge von 256 bit. Beim Bootvorgang wird nach dem gewählten Passwort gefragt und sofern man keinen Fehler gemacht hat, sollte alles wie gewohnt ablaufen.

     

     

     

    , , , , , , , ,

    … zu guter Letzt

    «Sprache entwickelt sich. Sie folgt Mitteilungsbedürfnissen, in diesen Tagen denen nach maximaler Erregung. Und so entsteht der Super-GAU, wobei auch Journalisten, denen doch bisweilen eine gewisse Aufmerksamkeit für Sprache nachgesagt wird, tapfer ignorieren, das der „größte anzunehmende Unfall» bereits ein Superlativ ist […]»

    «Next up is FreeBSD with ZFS. This still suffers from many of the issues I’ve written about before, and my gut doesn’t like it. However, I have to admit that if FreeBSD remains committed to ZFS it may be a better alternative than Illumos, since the FreeBSD team already has a solid track record for delivering a solid OS. And Oracle’s decisions about OpenSolaris mean that the rate of ZFS changes to integrate into FreeBSD may slow way down.»

    «Nach einer repräsentativen Forsa-Umfrage für den stern, die am 14. März durchgeführt wurde, könnte die schwarz-gelbe Regierung mit ihrem plötzlichen Schwenk in der Atompolitik vielleicht doch noch Erfolg haben. Noch immer 71 Prozent der Befragten halten nämlich AKWs derzeit für unverzichtbar.»

    «A collection of all of Nature News’ coverage of the disaster in Japan.»

    , , ,

    Atomenergie: Vergesst das bitte nie!

     

     

    Ich ahne, wovon ich spreche, meine Damen und Herren.

    Angela Merkel

     

     

    Bild via Bulo

    , , , , , , , , ,

    FreeBSD: die Ports

    Die FreeBSD Ports sind ein wundervolles Werkzeug im Umgang mit tausenden von Anwendungspaketen und deren Abhängigkeiten. Im Gegensatz zu anderen Systemen, die bei ihrer Fülle an Paketen gerne auch diverse Architekturen bzw. das Userland mitzählen, um eine größere Anzahl Software zu suggerieren, gibt es es bei den FreeBSD Ports nur optionale Software bzw. die Architektur entscheidet sich bei der Übersetzung des Quellcodes.

    22772 Ports sind es bis dato, Tendenz steigend. Knapp 834 stehen im Moment auf ignore, d.h. sie werden nicht installiert, 238 von diesen sind tatsächlich kaputt, andere sind nicht wirklich frei ob restriktiver Lizenzen, wiederum andere besitzen bekannte Sicherheitslücken.

    Die Vorgehensweise zur Installation von Ports ist recht simpel, man aktualisiert mittels csup oder portsnap den Portstree, navigiert in diesem zur gewünschten Applikation und baut diese mittels make install clean. Etwaige auftretende Dialoge kann man schlicht mit Okay beantworten, außer man weiß was man tut.

    portsnap fetch extract

    portsnap fetch update

    cd /usr/ports/multimedia/mplayer

    make install clean

     

    In obigem Beispiel wird portsnap als root genutzt, portsnap fetch extract lädt initial einen Schnappschuß des Portstree herunter und entpackt diesen. Ist dies einmal getan, genügt zukünftig ein portsnap fetch update um den Portstree zu aktualisieren. Bei diesem Beispiel wird mplayer installiert, indem man zu dem entsprechenden Verzeichnis navigiert und mittels make install clean den Bau, sowie die Installation initiiert.

    Wichtig vor jeder Installation, insbesondere bei einem Update von Software ist ein Blick in /usr/ports/UPDATING, dort finden sich regelmäßig wichtige Hinweise bezüglich etwaiger Fallstricke und wie man diese umgehen kann.

    Ein Update per se, ist wie bei obiger Vorgehensweise recht simpel, wiederum navigiert man in das entsprechende Verzeichnis, deinstalliert die Software und installiert diese neu, nachdem der Portstree aktualisiert wurde.

     

    portsnap fetch update
    cd /usr/ports/multimedia/mplayer
    make deinstall clean && make install clean

     

    Natürlich ist dies bei entsprechend viel Software und diversen Abhängigkeiten recht aufwendig, insofern greift man gerne zu Hilfsmitteln — ich nutze für diesen Zweck portmaster. Portmaster ist ein Script, welches all die wiederkehrenden Aufgaben übernimmt und den Alltag erheblich erleichtert.

     

    portsnap fetch update
    cd /usr/ports/ports-mgmt/portmaster && make install clean
    portmaster mplayer

     

    Diese Vorgehensweise würde den Portstree aktualisieren, portmaster installieren und mit diesem den bereits installierten Port mplayer aktualisieren. Möchte man mplayer initial installieren, so muß man nur ein Teil der Verzeichnisstruktur mit angeben, portmaster multimedia/mplayer. Auch die rekursive Abarbeitung von Updates ist möglich, so daß ebenso alle von diesem Port abhängigen Ports aktualisiert werden.

     

    portmaster multimedia/mplayer
    portmaster mplayer
    portmaster -e mplayer
    portmaster -R mplayer
    portmaster -L
    portmaster -a
    portmaster -g

     

    portmaster multimedia/mplayer installiert wie bereits erwähnt initial einen Port, portmaster –e mplayer deinstalliert einen Port, portmaster mplayer ohne Angabe eines Unterverzeichnisses aktualisiert einen bereits installierten Port, portmaster –R mplayer aktualisiert ebenso alle von mplayer abhängigen Ports, portmaster –L listet alle installierten Ports sowie etwaige Updates, portmaster –a installiert alle anstehenden Updates, portmaster –g erzeugt ein Paket, welches mittels pkg_add einfach auf anderen Rechnern installiert werden kann. Darüber hinaus findet man in der Manpage zu Portmaster noch allerlei nützliche Funktionalitäten, welche u.a. auch den Umgang mit Paketen erleichtern.

    Die Abarbeitung von Ports mittels Tools wie portupgrade bleibt hier unerwähnt, da ich derlei auf Datenbanken basierende Werkzeuge in heutiger Zeit eher als unnötigen Ballast erachte, denn Hilfe. Wer dennoch portupgrade nutzen möchte, der sollte sich für eines von beiden entscheiden. Eine alternierende Anwendung beider Werkzeuge zieht schwerwiegende Probleme nach sich, man sollte dies also tunlichst vermeiden.

    Wer darüber hinaus die Lust verspürt eigene Ports zu erstellen bzw. diese zu aktualisieren, der kann sich das FreeBSD Porter-Handbuch zu Gemüte führen.

    Viel Spaß :-)

     

     

    Bild: Der Bulo

    , , , , , , , ,

    OpenBSD 4.9 Vorbestellung

     

    Musikvideo: Adobe Flash Player (Version 9 oder höher) wird benötigt um dieses Musikvideo abzuspielen. Die aktuellste Version steht hier zum herunterladen bereit. Außerdem muss JavaScript in Ihrem Browser aktiviert sein.

    This release the artwork is based on the stories of Douglas Adams, including his favorite number — 42. Therefore we can remember the previous major achievement of CSRG — BSD 4.2.

    BSD 4.2 was not free, but it created and integrated so many new technologies that we all depend on today. Take a moment to consider how many things first available in BSD 4.2 you are using at this moment, to read this page — sockets, AF_INET, virtual memory, etc.

    Today, new releases of operating systems from well-known vendors contain less new features than BSD 4.2 did.

    If only we could stop slacking and make a release like that!

     

    Eines der sichersten freien UNIX-Betriebssyteme steht kurz vor einem neuen Release: Version 4.9. Die Vorbestellung ist möglich, OpenBSD erscheint am 01.Mai 2011. Was neu ist kann man im Changelog nachlesen.

    , , , , , , , ,

    chillout

    «Dream A Little Dream of Me» Cover by Danielle Ate the Sandwich

     

     

    Den heutigen Beitrag zum gelegentlichen Chillout auf F!XMBR verdankt ihr dem Schockwellenreiter :D

    , , , ,

    
    RSS-Feed abonnieren