Login
Immer anmelden
SSL Login

 
Newsletter
So, 15. August 2004, 00:00
Nachrichten

Crux 2.0 Review

Kurzes Review über CRUX-Linux, einer Distribution für erfahrene Nutzer und solche, die es werden wollen.

Von

Vorwort

Nachdem CRUX 2.0 bereits im Mai freigegeben wurde, habe ich nun endlich mal die Zeit gefunden, auch auf meinem eigenen Rechner auf die neue Version umzusteigen. Da mit dem Release 2.0 neben dem Wechsel auf die Kernel-Reihe 2.6 auch ein Major-Update der glibc erfolgte, ist anstelle eines einfachen Upgrades eine Neuinstallation von Nöten. Dies habe ich zum Anlass genommen, dieses Review zu verfassen. Auch wenn ich nun schon seit geraumer Zeit begeisterter Nutzer dieser Distribution bin, hoffe ich trotzdem, dass es mir gelingt, die notwendige Objektivität zu wahren.

Einleitung

CRUX ist eine Linux-Distribution, die sich an den erfahrenen Nutzer wendet, der die volle Kontrolle über sein System haben will und wirklich nur die Software installieren möchte, die er wirklich braucht. CRUX basiert nicht auf einer anderen Distribution, sondern wurde von dem schwedischen Linux-Programmierer Per Lidén komplett neu entwickelt. Das Motto »keep it simple« ist Programm. So ist es ohne weiteres möglich, ein System mit nur 200 MB aufzusetzen. Das Basis-System umfasst dabei lediglich 64 Pakete, lässt sich aber jederzeit nach Belieben erweitern. Hierfür bietet CRUX ein sehr einfaches tar.gz-basiertes Paketsystem. Zusätzliche Programme stehen in einem Ports-System zur Verfügung.

Durch die Verwendung eines sehr einfachen Init-Systems ist CRUX sehr leicht zu administrieren und bootet sehr schnell (auf der Testplattform lediglich 15 Sekunden, beziehungsweise 22 Sekunden bis zum grafischen Login).

CRUX ist für i686-Prozessoren kompiliert, es gibt allerdings auch Versionen für i586, i486 sowie PowerPC.

Testplattform

  • CPU: Pentium III 933
  • Motherboard: Asus CUV4X-E (VIA 694X-Chipsatz)
  • RAM: 512 MB PC133 CL2
  • Grafik: Asus V7700 64 MB (Nvidia GeForce 2 GTS)
  • Laufwerke: IDE: 80 GB Maxtor 6Y080L0, Toshiba DVD-ROM, Sony CRX 160E-RP
  • Netzwerk: Realtek 8139too und 8029(AS)

Installation

Die Installation umfasst im Wesentlichen die folgenden Schritte:

  1. Festplatte partitionieren, formatieren und die entsprechenden Partitionen mounten
  2. Paketauswahl treffen und Pakete installieren
  3. Ins neue System chrooten
    1. root-Passwort vergeben
    2. Netzwerk, Systemdienste und fstab konfigurieren
    3. Kernel kompilieren
  4. Neustarten

Da die Installation im CRUX-Handbuch sehr gut und narrensicher beschrieben ist, werde ich hier nicht im Einzelnen darauf eingehen. Ich will allerdings nicht unerwähnt lassen, dass es bei der Installtion außer der knappen, aber vollkommen ausreichenden Dokumentation keinerlei Hilfe gibt. Alle Befehle müssen von Hand eingegeben werden, Konfigurationsdateien müssen (zum Teil nach Vorlage) editiert werden und es gibt keinen Default-Kernel. Man sollte also zumindest über Linux-Grundlagenwissen verfügen, aber vor allen Dingen sehr genau über seine Hardware Bescheid wissen.

Wenn man bereits eine fertige Kernelkonfiguration hat, sollte die Installation nicht länger als 20 bis 30 Minuten dauern.

Konfiguration

CRUX verfügt, außer fürs Paket- und Portsmanagement, über keinerlei eigene Konfigurationswerkzeuge. Alle notwendigen Konfigurationsdateien befinden sich in /etc und müssen ganz einfach manuell editiert werden. Da sich CRUX weitest gehend an die bestehenden Konventionen hält, findet man sich mit etwas Erfahrung sehr schnell zurecht. Auch hier sei noch einmal auf das CRUX-Handbuch verwiesen. Darin werden die wichtigsten Konfigurationsdateien in Syntax und Funktion beschrieben.

CRUX verwendet ein BSD-Style-Init. Für jeden Dienst befindet sich in /etc/rc.d ein Skript, mit dem man den Dienst starten, anhalten und neustarten kann. Welche Dienste nach dem Booten automatisch gestartet werden sollen, wird in der Datei /etc/rc.conf vereinbart. Im Gegensatz zu den meisten anderen Distributionen startet CRUX jedoch standardmäßig fast keine Dienste. Dies ist auch ein Grund für die extrem kurzen Boot-Zeiten.

Das Anlegen der Nutzer muss ebenfalls von Hand mit useradd erledigt werden. Auch die Konfiguration der grafischen Oberfläche (falls überhaupt gewünscht ;-)) bleibt dem Nutzer überlassen.

Paketmanagement

Das Paketmanagement ist meiner Meinug nach das Highlight von CRUX. Einfacher geht's nicht. Zum Erstellen, Installieren und Verwalten der Pakete stehen die pkgutils zur Verfügung. Mit pkgadd <paketname#version> wird ein Paket installiert. Zum Entfernen dient das Kommando pkgrm <paketname>. Mit pkginfo kann man sich verschiedene Informationen über die installierten Pakete anzeigen lassen, zum Beispiel, welche Datei zu welchem Paket gehört usw. Hier ist allerdings anzumerken, dass CRUX von Haus aus keine Abhängigkeiten überprüft. Jedes Paket kann ohne Nachfrage gelöscht werden, auch wenn es von einem anderen benötigt wird. Und auch umgekehrt kann man jedes Paket einfach installieren, auch wenn die entsprechenden Abhängigkeiten gar nicht erfüllt sind. Das erfordert beim Installieren und Deinstallieren von Software natürlich etwas Umsicht. Dafür hat man dann aber die volle Kontrolle und kann selbst entscheiden, welche Abhängigkeiten man beachten will und welche nicht, häufig sind nämlich gar nicht alle notwendig (beispielsweise ist OpenLDAP-Support für Samba oder Evolution oft zu viel des Guten).

Crux verwendet ein eigenes Paketformat. Ist ein Paket nicht verfügbar (und da CRUX nur ein Minimal-System zu Verfügung stellt, ist das meist der Fall ;-) ), muss man sich selbst eines erstellen. Hierzu dient der Befehl pkgmk. Er benötigt ein Skript mit dem Namen Pkgfile.

Pkgfile zum Erstellen eines Pakets von Gimp

# $Id: Pkgfile,v 1.10 2004/07/20 03:25:18 jaeger Exp $
# Description: The GIMP
# URL: http://www.gimp.org/
# Maintainer: Matt Housh <jaeger@morpheus.net>
# Depends on: x11, gtk, gimp-print, libart_lgpl
name=gimp
version=2.0.3
release=1
source=(ftp://ftp.gimp.org/pub/gimp/v2.0/gimp-$version.tar.bz2)
build() {
cd gimp-$version
./configure --prefix=/usr --disable-static
make
make DESTDIR=$PKG install
rm -rf $PKG/usr/share/{gtk-doc,locale}
}

Darin sind einige Informationen zum Paket selbst, die URL zum Download des Quelltextes und die configure-Anweisungen zum Kompilieren enthalten. Hat man sich ein Paket erstellt, kann man es mit pkgadd &lt;paketname#version&gt; installieren.

Um es an dieser Stelle gleich vorweg zu nehmen: Das alles geht natürlich auch einfacher mit dem Programm prt-get. Doch dazu später mehr.

Pro-Linux
Newsletter
Neue Nachrichten