Schlagwort ‘FreeBSD‘

FreeBSD 9.0 ist fertig

The FreeBSD Project dedicates the FreeBSD 9.0-RELEASE to the memory of Dennis M. Ritchie, one of the founding fathers of the UNIX[tm] operating system. It is on the foundation laid by the work of visionaries like Dennis that software like the FreeBSD operating system came to be. The fact that his work of so many years ago continues to influence new design decisions to this very day speaks for the brilliant engineer that he was.

May he rest in peace.

FreeBSD 9.0 ist fertig und bietet wieder einmal ein Bündel diverser Neuerungen. Insbesondere für Einsteiger dürfte die neue Installationsroutine von Interesse sein, die zwar leider noch keine ZFS Installation bietet, aber sonst alle grundlegenden Dinge bereit hält und die ersten Hürden nimmt.

U.a. sind folgende Highlights zu nennen: Resource Limits — RCTL, Capsicum Framework, HAST, Journaling Softupdates — SU+J, LLVM, ZFS v28, Userland Dtrace, GEOM IO Scheduler Framework, HPN SSH, IPv6 only, new TCP congestion control algorithms. Nicht zu vergessen neue bzw. verbesserte Treiber, viele ausgemerzte Fehler, verbesserte USB 3.0 Unterstützung, getestete SMP Unterstützung von mehr als 32 CPUs, usw.

Es lohnt sich auf jeden Fall und wer die Mühe einer grundlegenden Konfiguration scheut bzw. noch nicht wirklich fit in UNIX Gefilden ist, der wird sicherlich mit PC BSD seine Freude haben, welches inzwischen ebenso auf FreeBSD 9.0 basiert und ein rundum-glücklich Paket in puncto Desktop bietet. Abseits davon, gibt es noch eine FreeBSD basierte NAS-Lösung: FreeNAS.

 

Images für FreeBSD 9.0:

i386 USB/DVD

AMD64 USB/DVD

Torrents auf dem FreeBSD Torrent-Tracker.

 

Was ist FreeBSDFreeBSD – der unbekannte Riese

 

Bild: Bulo

, , , , , , , , , , , , , , , , , , , ,

FreeBSD 9.0 RC 1 — ein alternatives Betriebssystem mit UNIX Vergangenheit

Lange hatte ich hier nichts mehr zu FreeBSD geschrieben, um so erfreulicher nun, die Veröffentlichung des ersten Release Kandidaten bekanntgeben zu können. Klar, so ganz offiziell ist der noch nicht, aber just auf dem Server eingeschlagen und bereit ausgiebig getestet zu werden.

Die interessanteste Neuerung für Neulinge in BSD Gefilden, dürfte wohl die völlig neue Installationsroutine sein — good bye Sysinstall. Ansonsten gibt es wie üblich viele Bugfixes, Optimierungen, neue Treiber und nicht zu vergessen einen Sack voller nützlicher Dinge, wie z.B. Journaling Softupdates. Eine ungefähre Idee, was einen denn so im Detail erwarten wird, erhält man im FreeBSD Wiki oder bei Ivan Voras und seiner Rubrik What’s cooking for FreeBSD 9?

Lust auf mehr? FreeBSD paßt nicht zu jedem, aber wenn es paßt, dann sitzt es auch wie angegossen ;-)

 

Update: nun auch ganz offiziell erhältlich

 

Der schicke Teufel entstammt übrigens der Feder des allseits geschätzten Bulo :-)

, , , , , ,

FreeBSD: Optimierung

Nicht Rennstreifen sind das Ziel oder Aussagen a la «30% schneller», sondern schlicht Verbesserungen des Gesamtverhaltens. Natürlich ist ein derartiges Optimieren der Konfiguration vom jeweiligen Kontext abhängig, was den einen Nutzen bringt, verpufft u.U. bei anderen oder wirkt sich gar kontraproduktiv aus.

FreeBSD bietet grundsätzlich keine Optimierung, wie sie bei vielen Linux-Distributionen usus ist. Das Betriebssystem bildet die Basis und liefert vielerlei Werkzeuge, es geht dem Anwender aber in der Regel aus dem Weg, hält ihn nicht an der Hand. Der eine mag dies als Nachteil sehen, der andere als Vorteil. Your mileage may vary.

Beginnen wir mit dem Datenträger. Es existieren eine Menge Möglichkeiten diesem auf die Sprünge zu helfen. Die simpelste Variante wäre der Kauf einer SSD, die zweite Möglichkeit wäre der Einsatz eines anderen Filesystems wie ZFS. Bringt viele Vorteile mit sich, aber auch einen Sack voller Nachteile, insbesondere in puncto Ressourcenverbrauch. Dabei geht es aber auch mit UFS und ohne den Kauf neuer Hardware.

echo 'ahci_load="YES"' >> /boot/loader.conf
echo 'geom_sched_load="YES"' >> /boot/loader.conf
echo 'gsched_rr_load="YES"' >> /boot/loader.conf 

echo 'kern.maxfiles=16384' >> /boot/loader.conf
echo 'kern.maxfilesperproc=8192' >> /boot/loader.conf

echo 'vfs.ufs.dirhash_maxmem=67108864' >> /etc/sysctl.conf
echo 'vfs.read_max=32' >> /etc/sysctl.conf

 

Ahci lädt den neuen Treiber für SATA-Geräte, man gewinnt etwas an Geschwindigkeit, eine bessere Unterstützung diverser Fähigkeiten der einzelnen Geräte und die Gerätenamen ändern sich. Bei mir änderte sich beispielsweise die Bezeichnung der Festplatte von ad4 zu ada0, also Obacht! Ansonsten wird ein Disk-IO-Scheduler geladen, sowie ein paar allzu konservativ gehaltene System-Variablen angepaßt. Bei letzteren tritt natürlich einzig ein Effekt ein, wenn man überhaupt kritische Grenzen auf dem eigenen System erreicht. Ist dies nicht der Fall, tritt auch keine wundersame Beschleunigung in Erscheinung. Kurzum, wer ein wenig Mail, WWW & Co macht, der wird mit diesen Einstellungen nichts gewinnen. Nutzer von KDE, Zeitgenossen die viel mit Dateien arbeiten oder diese auch oft parallel schreiben, werden hingegen teils einen spürbaren Unterschied registrieren.

echo 'geom sched insert -a rr ada0' >> /etc/rc.local

 

Der zuvor geladene Disk-IO-Scheduler muß noch installiert werden für den jeweiligen Datenträger, mehr Konfiguration ist nicht notwendig.

echo 'tmpfs_load="YES"' >> /boot/loader.conf
echo 'tmpfs /tmp tmpfs rw,mode=1777 2 0' >> /etc/fstab
echo 'tmpfs /var/tmp tmpfs rw 2 0' >> /etc/fstab

 

Die Wirksamkeit von Tmpfs entfaltet sich ebenso nur auf Systemen, die auch ausgiebig Gebrauch von temporären Dateien machen, z.B. wenn ports kompiliert werden. Nicht vergessen sollte man, den alten Eintrag für tmp in /etc/fstab auszukommentieren. Tmpfs gilt noch als experimentell, tritt eine Panic auf, so ist diese jedoch in der Regel zu geringem Hauptspeicher geschuldet. Ich setzte tmpfs seit mehr als einem Jahr regelmäßig ohne Probleme ein.

Mehr Informationen erhält man in tuning, sollte sich aber darüber im klaren sein, was man da en Detail tut. Viele Systemparameter  sollten nur in grenzwertigen Situationen z.B. auf einem stark frequentierten Server anpaßt werden. Obige Optimierungen können helfen, schaden aber auch nichts, außer, daß beispielsweise ein wenig mehr Speicher abgezweigt wird in MB-Dimensionen.

 

Bild: der Bulo

, , , , , , , , , , , ,

FreeBSD: Energie sparen

GreenIT ist in aller Munde und was zuvor nur für den mobilen Bereich galt, ist auch heute beim Desktop-User angekommen. Vorbei sind die Zeiten eines Intel Prescott, welcher ungehindert vor sich hinheizte, auch wenn der Rechner ansonsten nichts zu tun hatte. Zwar sind die diversen Techniken, um zum Ziel gelangen, teils noch nicht wirklich ausgereizt, aber es ist ein Anfang.

FreeBSD bietet mit cpufreq ein Framework, welches die diversen CPUs von AMD und Intel ansteuert und sich deren Mechanismen in puncto Ruhezuständen, Verhalten unter geringer Last, etc. pp. zu Nutze macht. Mit dem Daemon powerd schließlich, kann dieses Verhalten je nach Kontext automatisch angepaßt werden, in eigens gewählten Grenzen.

echo 'powerd_enable="YES"' >>/etc/rc.conf
echo 'powerd_flags="-a hiadaptive -b minimum"

 

Dies ist eine moderate Konfiguration der Energiesparmaßnahmen. In /etc/rc.conf wird der Daemon powerd aktiviert und mittels powerd_flags konfigurieren wir diesen. a meint hier schlicht den Netzbetrieb, b folglich den Batteriebetrieb. Bei ersterem wird mit hiadaptive eine schnelle Reaktion bevorzugt, während bei letzterem mit minimum der Spareffekt auf Kosten der Systemleistung gefördert wird. Man kann diese Einstellungen natürlich variieren bzw. noch eine Feinjustierung vornehmen, usw. Die Grundeinstellung ist hiadaptive für a und adaptive für b.

economy_cx_lowest="C2"
performance_cx_lowest="C2"

 

sysctl dev.cpu.0.cx_supported gibt Auskunft bezüglich der möglichen Ruhezustände, C1 ist die Grundeinstellung, ich wähle hier C2, C3 ist bei mir nicht vorhanden und wirkt sich in der Regel auch eher nachteilig auf die Reaktionszeit des Systems aus.

kern.hz=100
hint.acpi_throttle.0.disabled=1
hint.p4tcc.0.disabled=1

 

Nachdem ich C2 wählte, ist p4tcc bzw. acpi_throttle eher unnötig, d.h. es entsteht keine zusätzliche Ersparnis, insofern kann man diese deaktivieren. Darüber hinaus sind geringere Unterbrechungen von Vorteil, damit der Rechner seine Ruhephasen auch auskosten kann, ergo kern.hz=100.

echo 'ahci_load="YES" >>/boot/loader.conf'
echo 'hint.ahcich.0.pm_level=5' >>/boot/loader.conf
echo 'hint.ahcich.1.pm_level=5' >>/boot/loader.conf

 

Die Ruhezustände der Festplatte nutze ich generell nicht, mitunter kann man diese moderat einsetzen, muß jedoch dabei bedenken, daß jedes «Hochfahren» der Festplatte die Lebenszeit dieser verringert. In jüngster Zeit machten einige Hersteller negative Schlagzeilen mit allzu aggressivem Verhalten und somit einer drastisch verkürzten Lebensdauer der Datenträger. Ich nutze hingegen die Fähigkeiten des SATA-Kontrollers Energiesparmaßnahmen einzuleiten zusammen mit ahci. Wichtig im Zusammenhang mit ahci ist, daß sich die Namen der Geräte ändern, wer mit Bezeichern für die einzelnen Partitionen arbeitet ist dabei klar im Vorteil.

Dieses Dokument ist work in process, d.h. es wird gelegentlich eine Erweiterung bzw. u.U. auch Änderung erfahren. Viel Spaß :-)

, , , , , , , ,

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.

 

 

 

, , , , , , , ,

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

, , , , , , , ,

FreeBSD Kernel und Welt

FreeBSD Release ist eine feine Sache, insbesondere für Server, aber auf dem Desktop ist es oftmals von Vorteil Stable zu fahren. Stable ist neben Current einer der Entwicklungszweige von FreeBSD. In Current erfolgt die hauptsächliche Entwicklung, nach einiger Verweildauer dort wird der jeweilige Code «mfced», d.h. «merged from current» und schlägt in Stable auf. Aus Stable werden dann wiederum nach einiger Zeit minor oder major-Releases erstellt, wie zuletzt FreeBSD 8.2 bzw. das kommende FreeBSD 9.0.

Stable ist grob vergleichbar mit Debian Testing, man verfolgt ein ähnliches Prinzip bei der Entwicklung. En detail jedoch scheiden sich die Geister, während Debian durchaus mal desöfteren auch in Testing hinüber ist bzw. diverse Software schlichtweg fehlt ob Fehler, etc. pp., ist FreeBSD Stable weitaus reifer. Die FreeBSD-Entwickler sind deutlich konservativer und nehmen es sehr genau mit der Unterscheidung der einzelnen Zweige. Dennoch sollte man, wie auch bei Debian, die entsprechende Mailingliste abonnieren.

Um nun den Betrieb von Stable aufzunehmen, kann man schlicht ein bisheriges Release aktualisieren oder man fährt mit monatlich erscheinenden Snapshots. Entscheidet man sich für letzteres muß man häufiger neu installieren, bequemer hingegen ist meiner Meinung nach Kernel und Welt neuzubauen. Dazu lädt man den entsprechenden Quellecode herunter, baut die Welt, dann den Kernel und installiert diesen, bootet in den Single User Mode, installiert dort die Welt und bringt mittels mergemaster diverse Konfigurationsdateien auf den neuesten Stand. Letzteres ist für viele wohl die größte Hürde, aber zumindest nur dort, wo selbst Hand angelegt wurde.

Zuvor jedoch muß man noch csup sagen, von welchem Server es den entsprechenden Quellecode herunterladen soll: cp /usr/share/examples/cvsup/standard-supfile /etc danach ändert man folgende Zeile und fügt den Server ein: *default host=CHANGE_THIS.FreeBSD.org — z.B.: *default host=cvsup2.de.FreeBSD.org. Selbstredend muß auch der Release-Tag angepaßt werden. Wir wollen Stable, also muß die entsprechende Zeile wie folgt lauten: *default release=cvs tag=RELENG_8

Nun beginnt der eigentliche Bau von Kernel und Welt (als Root ausgeführt):

csup -L 2 /etc/standard-supfile
cd /usr/src/ && make -j3 buildworld
make -j3 buildkernel installkernel
reboot

 

Die Jobs sollten der eigenen Hardware entsprechend angepaßt werden, wer kein Dualcore etc. besitzt nutzt ein schlichtes make buildkernel installkernel. Beschleunigen kann man das Prozedere indem man tmpfs einsetzt bzw. zukünfigte Bauten von Kernel und Welt seitens ccache beschleunigt.

Nach dem Neustart wählt man den Single User Mode aus und installiert die Welt, sowie die aktualisierten Konfigurationsdateien.

fsck -p
mount -u /
mount -a -t ufs
mergemaster -p
cd /usr/src && make installworld && mergemaster -Ui
reboot

 

Mit fsck –p erfolgt eine kurze Prüfung des Filesystems, dann werden die nötigen Partionen eingehangen. mergemaster –p verarbeitet nur die Konfigurationsdateien, die für die Installation der Welt wichtig sind, make installworld installiert diese und mergemaster –Ui verarbeitet die restlichen Konfigurationsdateien.

Nach einem erneuten Neustart wird wieder in den Single User Mode gestartet und aufgeräumt.

fsck -y
mount -u /
mount -a -t ufs
cd /usr/src && make clean && reboot

 

Danach steht das aktualisierte System. Die Vorgehensweise mag ein wenig übervorsichtig wirken, andere vollziehen die Installation der Welt ohne den Single User Mode, aber mir ist es derart lieber. Schließlich baue ich Kernel und Welt nicht täglich neu, je nach Zeit bei interessanten Updates, mindestens jedoch monatlich.

Wer sich hingegen nicht mit Mergemaster in der Konsole zu helfen weiß, der sollte entweder den Weg über Snapshots gehen oder weiterhin das aktuelle Release nutzen. Zu schnell kann das System bei unachtsamer Bedienung «unbenutzbar» werden. Ansonsten, viel Spaß :-)

 

Bild: Der Bulo

, , , , , , , , , , ,

Firefox 4 und FreeBSD

Firefox 4 ist in aller Munde und für Windows bzw. Linux findet man auch entsprechende Pakete online. Anders schaut es hierbei bei FreeBSD aus, wer da die Vorzüge der vierten Version genießen möchte, der muß selbst Hand anlegen. Zumindest wenn man ein 64Bit System sein eigen nennt, kann man auf ein vorkompiliertes Paket zurückgreifen, dieses findet man auf bsdforen.de. Ein pkg_add name_des_pakets.tbz installiert dieses dann bzw. verweist auf fehlende Abhängigkeiten, die dann noch zuvor installiert werden müssen.

An alle anderen richtet sich diese Anleitung, wobei die Erstellung keine Hexerei ist, man muß nur den Port herunterladen, ein make install initiieren und ein wenig warten. Voraussetzung ist ein installiertes FreeBSD Betriebssystem mit X und devel/subversion.

Als erstes installiert man subversion, entweder indem man in das entsprechende Verzeichnis navigiert und mittels make install den Bau startet oder seitens portmaster devel/subversion. Nach der Installation von subversion lädt man den Port herunter  svn co https://trillian.chruetertee.ch/svn/freebsd-gecko/branches/experimental/www/firefox/ wechselt in das Verzeichnis von firefox, startet mittels make install den Bau des Ports und kann im Prinzip beim darauffolgenden Dialog alles auf default belassen. In der Zwischenzeit dürfte ein Tee, sowie eine Zeitung sicherlich die dahinschwindende Zeit gepflegt überbrücken.

 

Zusammenfassung (Befehle als root ausgeführt):

cd /usr/ports/devel/subversion && make install clean

cd /usr/ports/www

svn co https://trillian.chruetertee.ch/svn/freebsd-gecko/branches/experimental/www/firefox/

cd firefox-devel && make install clean

 

 

 

 

Bild: F!XMBR, Quellen: Foxkeh und FreeBSD

, , , , , , , , , , ,

FreeBSD braucht dich …

 

In der heutigen Zeit sehen mehr und mehr Zeitgenossen Open Source schlicht als Quell kostenloser Software an. Man kann diese Software nutzen, man kann vortrefflich bezüglich etwaiger Unzulänglichkeiten nörgeln … hey, die Software ist kostenlos, die Leute machen das freiwillig, sie können es auch schlicht sein lassen. Ich will hier gar nicht den Vergleich «free beer» und «free software» zum Besten geben, schließlich erwartet man auch bei «Freibier» eine Art von Resonanz und wenn es nur das feuchtfröhliche Miteinander ist. Vergleiche hinken eben meist …

Wie dem auch sei, FreeBSD benötigt frisches Blut, wie Martin Wilke nebenan treffend bemerkt. Es dreht sich nicht per se um die Firmen, sondern um jene Leute, welche die Gemeinschaft um Open Source formen. Ganz normale Anwender eben, die etwas nehmen und auch etwas geben. Heutzutage redet alle Welt von freier Kultur etc. pp., die wenigsten beabsichtigen jedoch ebenfalls etwas beizusteuern. Doch Open Source funktioniert nur derart, es sind nicht die großen Firmen, die Geld geben und interessengesteuert irgendwelche Leute finanzieren, primär sollte es die Gemeinschaft sein, die miteinander etwas erarbeitet. Wer den Kunden mimen möchte und Dinge erwartet ist anderswo sicherlich besser aufgehoben, dort entlohnt man dann mit barer Münze und erhält dafür ein Produkt.

Man muß nicht, wie oft mißverstanden, programmieren können. Übersetzer werden benötigt, Tester, Leute die Ports erstellen, andere die für FreeBSD «werben», vielleicht schreibt jemand ein Buch, wiederum andere spenden auch etwas. Es existieren vielerlei Möglichkeiten, um sich an einem Open Source Projekt zu beteiligen. «Shut up and code», ist somit also weniger wortwörtlich zu verstehen, sondern mehr wie facta, non verba — Taten, nicht Worte.

Manchmal sind es «Kleinigkeiten», um etwas zu bewegen. Oft fehlt nur eine helfende Hand, weil derjenige, der die Hauptarbeit bewältigt, schlichtweg 200prozentig eingespannt ist. Gelegentlich wird zum Test aufgerufen, «drei bis vier» Leute melden sich, der Rest zetert stante pede im nachhinein. So funktioniert das einfach nicht. Denkt mal drüber nach, Open Source stirbt ohne partizipierende Mitglieder bzw. mutiert zu Produkten wie Windows/Mac OS und Co, wenn denn Firmen das Heft übernehmen.

Die Problematik für Betriebssysteme abseits von Linux, wird auch in dem Artikel Choosing between portability and innovation auf lwn recht treffend erläutert.

 

Bild: … wie sooft vom überaus genialen Bulo — folgt dem Mann :D

, , , , , , ,

FreeBSD 8.2 Release

FreeBSD 8.2, welches schon seit knapp einer Woche auf den Mirrors anzufinden ist, wurde nun auch offiziell angekündigt. Wer bereits eine Beta einsetzt, der kann entweder Kernel und Welt neubauen oder greift zum binären Update. Alle anderen greifen zu Bittorrent oder einem der vielfältigen Mirrors. Was u.a. neu ist, dies findet man en detail in den Release Notes. Ansonsten gibt es ein paar Highlights zu nennen:

  • Xen HVM support in FreeBSD/amd64 and Xen PV support in FreeBSD/i386 improved
  • ZFS on-disk format updated to version 15
  • aesni(4) driver for Intel AESNI crypto instruction set
  • BIND and OpenSSL updates
  • Gnome updated to 2.32.1
  • KDE updated to 4.5.5
  • Many misc. improvements and bugfixes

Zugleich erschien übrigens auch PC-BSD 8.2, welches quasi ein für den Desktop vorkonfiguriertes FreeBSD darstellt.

FreeBSD ist ein freies UNIX-Derivat, mit einer mehr als 30jährigen Geschichte.

, , , , , , , ,


RSS-Feed abonnieren