Basis Installation eines Debian „Etch“ Linux Servers

Bei der Installation habe ich mir zunächst ein nacktes Debian Etch installiert. Nur die Basispakete, keine Server-Pakete oder gar Desktop-Pakete. Somit ist sichergestellt, dass man zum einen ein sehr schlankes System bekommt, das nicht unnötig mit Ballast aufgefüllt wird den man eh nicht benötigt und zum anderen sinkt die Installationszeit des Systems so auf ein Minimum. Nicht zu vergessen: Wenn man über das Netzwerk installiert wird hier die herunterzuladende Größe ebenfalls minimiert.

Das Plattenlayout sieht bei mir wie folgt aus:

> fdisk -l /dev/hda
Disk /dev/hda: 80.0 GB, 80060424192 bytes
255 heads, 63 sectors/track, 9733 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot         Start         End      Blocks   Id  System
/dev/hda1   *           1         973     7815591   83  Linux
/dev/hda2             974        9733    70364700    5  Extended
/dev/hda5             974        1097      995998+  82  Linux swap / Solaris
/dev/hda6            1098        2313     9767488+  83  Linux
/dev/hda7            2314        9733    59601118+  83  Linux

Ich habe noch eine externe Festplatte, die per USB angeschlossen wird und als Backup Medium dient. Diese hat die selbe Kapazität wie die interne Platte.

> fdisk -l /dev/sda
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot         Start         End      Blocks   Id  System
/dev/sda1               1        9729    78148161   83  Linux

Aufgeteilt sind die Filesysteme wie folgt:

> mount
/dev/hda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/hda6 on /home type ext3 (rw)
/dev/hda7 on /srv type ext3 (rw)
/dev/sda1 on /backup type ext3 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

Hier mal auf das Wichtigste beschränkt:

/dev/hda1 -> /
/dev/hda2 -> Extended
/dev/hda5 -> swap
/dev/hda6 -> /home
/dev/hda7 -> /srv
/dev/sda1 -> /backup

Auf LVM etc. habe ich bewusst verzichtet. Das mehr an Flexibilität benötige ich auf diesem System nicht. Zumal ich nur die Möglichkeit habe eine interne Festplatte zu verbauen und die externe einfach als /backup eingehangen wird macht ein LVM hier nicht viel sinn. Die verfügbare Festplattenkapazität ist ja bereits komplett vergeben. 8 GB bekommt das System inkl. temporärem Verzeichnis, 1 GB gönne ich dem System Swap und der Rest ist als logische Partition angelegt. Innerhalb der logischen Partition gibt es 10 GB für die Homeverzeichnisse der Benutzer in denen auch die Emails abgelegt werden. Der Rest von ca. 56 GB wird für die Dateiablagen unter /srv verwendet. Die externe Festplatte wird mit nur einer Partition unter /backup eingebunden. Als Dateisystem setze ich nur noch auf ext3. Das System ist schnell und sehr robust. Außerdem kann man es im laufenden Betrieb in der Größe verändern und die Dateisystemchecks sind sehr ausgereift. Ein Nachteil ist jedoch bei großen Partitionen die mit ext3 formatiert worden sind die lange Laufzeit des Dateisystemchecks. Hier wünscht man sich doch etwas mehr Geschwindigkeit. Die Checks werden entweder nach einer definierten Anzahl an Bootvorgängen oder nach einer definierten Anzahl an Betriebstagen automatisch ausgeführt.

Die Installation nimmt ca. 15 Minuten in Anspruch, je nach dem wie schnell man sich durch die Menüs arbeitet und die Pakete installiert werden können. Auf älteren Systemen sollte man sich jedoch auf etwas längere Laufzeiten des Installers gefasst machen. Auf einer NSLU2 mit gerade mal 32 MB RAM und einem Intel XScale Prozessor mit 266 MHz hat die Basisinstallation ca. 1h in Anspruch genommen. Und dieses System ist wirklich langsam 🙂 Gerade das installieren der Pakete dauert hier länger, da die Pakete noch dekomprimiert werden müssen. Nachdem die Installation durchgelaufen ist sollte man zunächst die Paketquellen überprüfen und anschließend ein Systemupdate durchführen. Die Paketquellen sind in der Datei sources.list hinterlegt. Die Konfigurationsdateien für das Softwareverwaltungstool „apt“ finden sich unter /etc/apt. Das Erste was ich gemacht habe war die Installations-CD aus der sources.list zu entfernen und Einträge für aktuelle CLAMAV Virenscannerupdates einzutragen:

> cat sources.list
#
#deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 CD Binary-1 20070407-11:55]/ etch contrib main
# Debian Standard Quellen
deb http://ftp2.de.debian.org/debian/ etch main non-free contrib
deb-src http://ftp2.de.debian.org/debian/ etch main non-free contrib
# Debian Security Updates
deb http://security.debian.org/ etch/updates main contrib non-free
deb  etch/volatile main non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free
# Debian Testing
#deb http://ftp.de.debian.org/debian/ testing main contrib non-free
#deb http://security.debian.org/ testing/updates main contrib non-free

Die Datei kann einfach mit einem Editor wie vi oder nano angepasst werden. Solltet ihr mit der Konsole nicht so vertraut sein bietet sich das Windowsprogram „WinSCP“ an. Alternativ kann man den MidnightCommander kurz mc installieren. Hierbei handelt es sich um einen Clone des bekannten Norton Commander mit einem guten und leicht zu bedienenden Editor.

apt-get install mc

Über WinSCP kann man per SFTP auf den Server zugreifen und die Konfigurationsdateien in einem grafischen Editor unter Windows bearbeiten. Wenn die sources.list angepasst ist einfach ein „apt-get update“ ausführen. Die neuen Quellen werden eingelesen und die aktuellen Pakete registriert. Ein „apt-get upgrade“ updated dann die vorhandenen Pakete und aktualisiert das System. Dies ist insbesondere deshlab wichtig, da es natürlich auch unter Linux Bugs und Sicherheitslücken gibt. Daher das System immer schön aktuell halten! Apt greift dem Administrator hier in vielen Belangen unter die Arme.

> apt-get update
Hole:1 http://ftp2.de.debian.org etch Release.gpg [378B]
Hole:2 http://ftp2.de.debian.org etch/volatile Release.gpg [189B]
OK   http://ftp2.de.debian.org etch Release
OK   http://ftp2.de.debian.org etch/volatile Release
Ign http://ftp2.de.debian.org etch/main Packages/DiffIndex
Ign http://ftp2.de.debian.org etch/non-free Packages/DiffIndex
Ign http://ftp2.de.debian.org etch/contrib Packages/DiffIndex
Ign http://ftp2.de.debian.org etch/main Sources/DiffIndex
Ign http://ftp2.de.debian.org etch/non-free Sources/DiffIndex
Ign http://ftp2.de.debian.org etch/contrib Sources/DiffIndex
OK   http://ftp2.de.debian.org etch/main Packages
Ign http://ftp2.de.debian.org etch/volatile/main Packages/DiffIndex
Hole:3 http://security.debian.org etch/updates Release.gpg [189B]
Ign http://ftp2.de.debian.org etch/volatile/non-free Packages/DiffIndex
OK   http://ftp2.de.debian.org etch/non-free Packages
OK   http://ftp2.de.debian.org etch/contrib Packages
OK   http://ftp2.de.debian.org etch/main Sources
OK   http://ftp2.de.debian.org etch/non-free Sources
OK   http://ftp2.de.debian.org etch/contrib Sources
OK   http://ftp2.de.debian.org etch/volatile/main Packages
OK   http://ftp2.de.debian.org etch/volatile/non-free Packages
OK   http://security.debian.org etch/updates Release
Ign http://security.debian.org etch/updates/main Packages/DiffIndex
Ign http://security.debian.org etch/updates/contrib Packages/DiffIndex
Ign http://security.debian.org etch/updates/non-free Packages/DiffIndex
Ign http://security.debian.org etch/updates/main Sources/DiffIndex
Ign http://security.debian.org etch/updates/contrib Sources/DiffIndex
Ign http://security.debian.org etch/updates/non-free Sources/DiffIndex
OK   http://security.debian.org etch/updates/main Packages
OK   http://security.debian.org etch/updates/contrib Packages
OK   http://security.debian.org etch/updates/non-free Packages
OK   http://security.debian.org etch/updates/main Sources
OK   http://security.debian.org etch/updates/contrib Sources
OK   http://security.debian.org etch/updates/non-free Sources
Es wurden 3B in 0s geholt (3B/s)
Paketlisten werden gelesen...
> apt-get upgrade
Paketlisten werden gelesen...
Abhängigkeitsbaum wird aufgebaut...
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

Zum Abschluss der Grundinstallation gehört auf jeden Fall noch die Installation eines SSH Servers. Dies ist der Defacto-Standard um ein Linuxsystem aus der Ferne zu administrieren. Bitte kein Telnet oder ähnliches verwenden, da hier die Übertragung aller Daten ungesichert geschieht. Somit werden auch Benutzerdaten und Passwörter unverschlüsselt übertragen!

Die Installation des SSH Servers geschieht durch ein einfaches „apt-get install ssh“. Sollte man den SSH Server nicht für Filetransfers nutzen wollen bietet sich eine schlanke und ressourcenschonende Alternative an: dropbear. („apt-get install dropbear“). Ich würde aber eher den per ssh installierten openssh-server empfehlen. Der Server wird automatisch installiert und konfiguriert und steht nach einem /etc/init.d/ssh restart zur Verfügung. Bevor man den Server neustartet sollte man die Verbindung per ssh testen:

apt-get install ssh
/etc/init.d/ssh restart
ssh user@host

Ist der Login erfolgreich so kann man den Server mittels reboot oder shutdown -r now neustarten. Somit haben wir unsere Grundinstallation hinter uns gebracht und haben ein frisch installiertes und aktuelles Debian System vor uns das aktuell erstmal nichts kann bzw. keine Dienste anbietet. Der Neustart ist unbedingt zu empfehlen, da nach dem ersten „apt-get upgrade“ in der Regel auch neue Kernelversionen bzw. Patches eingespielt werden, die erst nach einem Neustart aktiv werden. Also auf jeden Fall booten um sicher zu gehen:

reboot

Jetzt können wir damit beginnen das System mit den gewünschten Diensten auszurüsten.

About the author