Schlagwort ‘Betriebssystem‘

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: 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 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

, , , , , , , , , , ,

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.

, , , , , , , ,

FreeBSD 8.2 RC3

Author: kensmith
Date: Sat Jan 29 15:56:40 2011
New Revision: 218071
URL: http://svn.freebsd.org/changeset/base/218071

Log:
Ready for 8.2-RC3.

Approved by: re (implicit)

Modified:
releng/8.2/sys/conf/newvers.sh

via FreeBSD-ML

Wie man sieht wurde vor dem Release noch ein dritter Testkandidat eingeschoben, insofern wird man wohl eher Mitte/Ende Februar mit dem finalen FreeBSD 8.2 rechnen können. Notwendig wurde dieser dritte Testkandidat ob diverser noch angefallener Bugfixes.

Die offizielle Ankündigung erfolgte noch nicht, da aber die Images von FreeBSD 8.2 RC3 bereits auf den meisten Spiegeln vorhanden sind, u.a. dort, kann man auch darauf hinweisen. Zudem werden ohnehin viele mittels Quellcode-Update bereits auf dem aktuellen Stand sein.

Bild: beetlebum

, , , , , , , ,

Dr. Kirk McKusick: A Narrative History of BSD

Ein knapp einstündiger Vortrag von Dr. Marshall Kirk McKusick.

Zusätzliche Informationen:

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

FreeBSD 8.2 RC2

FreeBSD 8.2 steht vor der Tür und inzwischen ist der zweite und voraussichtlich letzte Release Candidate erhältlich. Man findet diesen auf den üblichen Spiegeln, in Form einer DVD oder eines Abbilds für den USB-Stick. Sollte alles gut gehen, dürfte das Release ca. Ende Januar, Anfang Februar erscheinen.

Was noch aussteht, kann man im FreeBSD-Wiki nachlesen, bei Problemen etc. sollte man sich auf den entsprechenden Mailinglisten melden oder einen PR senden.

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

, , , , , , ,

FreeBSD 8.2 Beta 1

FreeBSD 8.2 steht vor der Tür und wer Stable fährt, ist ohnehin auf dem neuesten Stand. Alle anderen können sich auf den üblichen Spiegeln eine DVD oder ein Abbild für den USB-Stick herunterladen. Sollte alles gut gehen, dürfte das Release Ende Januar, Anfang Februar erscheinen.

Was noch aussteht, kann man im FreeBSD-Wiki nachlesen, bei Problemen etc. sollte man sich auf den entsprechenden Mailinglisten melden oder einen PR senden.

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

, , , , , , ,

NetBSD 5.1 Release

NetBSD, eines der portabelsten freien UNIX-Derivate, erschien just in der Version 5.1. Die wichtigsten Änderungen findet man dort, en detail den Rest im Changelog.

WAPBL, das seit einiger Zeit nutzbare Journaling Filessystem, erfuhr einige Fehlerkorrekturen, der neue hdaudio-Treiber wird in Zukunft azalia ersetzen, der ath-Wlan-Treiber bekam endlich den Open Source HAL spendiert, unzählige Korrekturen flossen ein, darüber hinaus auch Neuerungen … kein Meilenstein, aber notwendiges Finetuning :-)

Die Installationsmedien findet man auf den üblichen Spiegelservern.

, , , , , , , ,


RSS-Feed abonnieren