FreeBSD - und der Server rennt! 2

Erstellt von René Keller am 07. Mai 2007

Es ist immer das gleich Dilemma: Es muss ein neuer Server aufgesetzt werden, man spielt eine Linux-Distribution drauf und findet eine Fülle von compilierten Softwarepaketen, die genau jene Option nicht haben, die man braucht. Ein aktuelles Beispiel ist OpenSuse 10.1, wo pcre ohne UTF-8-Unterstützung gebaut wurde und somit in allen darauf aufbauenden Anwendungen ein regulärer Ausdruck wie “/^\pL+$/” nicht verarbeitet werden kann. Weiterhin ist für den professionellen Betrieb eines Webservers, der PHP-Interpreter stets ohne die Optionen gebaut, die man braucht – egal ob man Fedora, Opensuse oder Debian benutzt.

Ein Kollege machte mich da auf FreeBSD aufmerksam und insbesondere dort auf die Organisation der Programme in so genannten „Ports“. Für jede in FreeBSD verfügbare Anwendung (Stand 07.05.2007: 16.984 Softwarepakete) sind die benötigten Patches, um diese unter FreeBSD installieren und betreiben zu können, enthalten. Ferner sind die für die Kompilierung der Software verwendeten Konfigurationsparameter (configure arguments) in einer Makefile dokumentiert. Ist es also gewünscht, eine Anwendung mit einer speziellen Option zu bauen, kann diese problemlos ergänzt werden, ohne die Standardoptionen zu verwerfen. Jedes installierte Softwarepaket wird in einer Paketdatenbank verwaltet und kann hierüber auch wieder gelöscht werden, unabhängig davon, ob es angepasst oder normal gebaut wurde.

Beispiel: Bau eines MySQL-Servers 5.1 mit angepasster Konfiguration:

cd /usr/ports/databases/mysql51-server
# Konfigurationsparameter anpassen
joe Makefile
# MySQL bauen
make install clean
# In installieren Pakete nach mysql suchen
pkg_info | grep –i mysql
# liefert u.a. "mysql-server-5.1.17 Multithreaded SQL database (server)"
# Mysql wieder löschen
pkg_delete mysql-server-5.1.17

Dies ist ein erheblicher Vorteil gegenüber Linux-Distributionen, die kein Ports-System benutzen. Bei Suse werden beispielsweise alle installierten RPM-Pakete in einer Datenbank gespeichert („rpm -qa“ zeigt alle installierten Pakete). Eine manuell gebaute Anwendung muss erst mühevoll in ein RPM überführt und dann installiert werden, um sie in diese Datenbank einzufügen. Ganz davon abgesehen, dass die verwendeten Standard-Konfigurationsparameter der einzelnen Anwendungssoftware nicht transparent dokumentiert sind.

Darüber hinaus bin ich enorm positiv von der Performance überrascht! Ohne einen realen Benchmark durchgeführt zu haben, ist die gefühlte Geschwindigkeit beim Betrieb einer umfangreichen Webanwendung gegenüber der vorher installierten Fedora- und Opensuse-Installation atemberaubend!

Negativ anzumerken ist, dass FreeBSD per se nicht die Hardwareunterstützung bietet, wie beispielsweise eine aktuelle Linux-Distribution. Da ich FreeBSD als Serverbetriebssystem getestet habe, muss aber auch keine aktuelle Grafikkarte unterstützt werden.

Mehr Infos zum Thema:

http://www.freebsd.org/de/
http://www.freshports.org/
http://www.allbsd.de/dokumente/fbsdflyer/files/flyer-de-fbsd-why-bsd.pdf
Download Ports: ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/ports.tar.gz
FreeBSD aus CVS aktualisieren: http://wiki.bsdforen.de/howto/make_world#make_installworld
i386er-Kernel mit SMP für Hyperthreading-CPUs: http://wiki.bsd-crew.de/index.php/FreeBSD_Hyperthreading

Trackbacks

Klicke den Link an, um zur ursprünglichen Seite zurück zu kehren.

Kommentare

You must be logged in to leave a response.

  1. Jörn Wagner Mai 07, 2007 19:23

    Herzlichen Glückwunsch zur erfolgreichen Installation!
    Übrigens, für den Desktop kann ich Ubuntu nur empfehlen! Aber die Geschwindigkeit ist mir ja auch nicht sooo wichtig wie dir, vom Komfort her jedenfalls einsame Spitze.

    Vielleicht probier ich beim nächsten Server auch mal FreeBSD aus, die Standardkonfiguration mit Confixx ist schlicht am einfachsten. ;-)

    Bis moin,
    der Jörn

    P.S.: Willkommen auf unserer Blogroll!