Nachdem ich in der letzten Zeit immer nur die Standard-Installation von Ubuntu genutzt habe und aus Gründen der Bequemlichkeit und Mobilität ziemlich nah daran verblieben bin, wollte ich mir wieder etwas mehr Konfigurations-Freiheit nehmen und mein System von Grund auf selbst einrichten.

Die meiste Erfahrung (seit 2001) habe ich mit Debian und in Verlängerung davon mit Ubuntu, das wird es auch diesmal werden. Die Vorzüge von Arch und Gentoo kenne ich, eine stabile Version mit regelmäßigen Updates und vor allem Binärpakete ziehe ich persönlich allerdings gegenüber den ständigen Updates und der vielen Kompiliererei vor. Ich entscheide mich also für die Installation von Ubuntu.

Bei der Installation wird auch direkt die für mich kritische Komplett-Verschlüsselung des Systems eingerichtet! Das geht sogar recht einfach - bei der Installation einmal wählen, ab dann kommt bei jedem Boot-Vorgang zusätzlich noch die Eingabeaufforderung für das Kennwort. Weiter ist nichts zu beachten.

Installationsmedium

Damit ich alles selbst einstellen kann, verwende ich die Minimal-CD. Mit diesem nur 30 MB großen ISO-Abbild startet man im Idealfall von USB-Stick den Debian-Installer und die ganzen Komponenten werden frisch aus dem Internet heruntergeladen. Man braucht also zwingend eine Internetverbindung.

Auch WPA-verschlüsselte WLANs lassen sich mittlerweile ganz gut automatisch einrichten, falls das nicht geht, habe ich die Einrichtung der Verbindung auf der Kommandozeile (mit wpa_supplicant) in einem eigenen Beitrag beschrieben.

Das ISO für die MinimalCD erhält man im Ubuntu-Wiki, ich habe einfach das erste genommen. Um es auf einen USB-Stick zu installieren, habe ich UNetbootin verwendet. Damit kann man ISO-Abbilder auf USB-Sticks installieren und es läuft sogar unter Windows, falls man das braucht.

Wer den USB-Stick damit erstellt hat, macht einen Neustart und wählt als Bootmedium eben diesen aus.

Installation des Grundsystems

Der Debian-Installer ist denkbar einfach. Genügend Körner auf der Enter-Taste vorausgesetzt, könnte wohl ein blindes Huhn damit Ubuntu installieren. Man folgt am besten einfach den Anweisungen und beantwortet die Fragen.

Verschlüsselung des Systems

Bei der Einteilung der Festplatte wird es interessant. Man bekommt verschiedene selbsterklärende Optionen angeboten, darunter auch “verschlüsseln und LVM einrichten”. Macht man das, erhält man eine etwa 200 MiB große /boot-Partition für Grub und Kernel außerhalb von LVM und der Rest der Platte wird für LVM verwendet. In der Standard-Einstellung wird eine Partition für swap eingerichtet, etwa in Größe des Arbeitsspeichers, und eine für /, also das System und so weiter. Das hat mir so gepasst und dank LVM kann man es später noch ändern.

Nach Wahl des Verschlüsselungs-Passworts geht die Installation wieder weiter. Gegen Ende wird man gefragt, welche Aufgaben das System erfüllen soll, darunter Webserver, Datenbankserver, etc. Da ich alles selbst einstellen und keine solchen Pakete verwenden möchte, mache ich hier keine Haken und fahre fort.

Am Ende der Installation wird man aufgefordert, den USB-Stick zu entfernen. Den sollte man allerdings nicht entfernen und ein weiteres Mal davon starten! Durch einen (reproduzierbaren) Fehler scheint der Installer den Bootloader grub nicht auf die Ziel-Festplatte zu schreiben sondern auf den USB-Stick, so dass man ohne den USB-Stick nur einen schwarzen Bildschirm ohne Fehlermeldung statt des Bootvorgangs vorgesetzt bekommt. Die Lösung dafür ist allerdings einfach - man startet das System vom USB-Stick, der nun praktischerweise sogar den Grub für das lokal installierte System enthält ;-), loggt sich ein und Installiert Grub noch einmal, diesmal in den MBR der lokalen Festplatte:

sudo grub-install /dev/sda

Danach sollte bei einem Neustart der reguläre Login-Prompt erscheinen.

Grundeinstellungen

Das System ist soweit fertig und bereit zur Weiterinstallation. Bevor ich nun die einzelnen Aufgaben (Grafische Oberfläche, Anwendungsprogramme, Dienste, etc) installiere, nehme ich immer ein paar optionale Schritte vor:

Paketquellen konfigurieren

Bei der Aktualisierung der Paketquellen hilft es etwas, diese zusammenzufassen und, wenn man keine eigenen Pakete zu bauen beabsichtigt, die Quellpakete rauszulassen, um etwas Daten bei der Aktualisierung zu sparen. Außerdem kann man die Konfiguration der Paketquellen noch umsortieren:

sudo mv /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu.list
sudo touch /etc/apt/sources.list

In der Datei selbst habe ich dann alle mit deb-src beginnenden Zeilen mittels vorangestelltem Kommentar-Zeichen # deaktiviert und zusammenpassende Einträge zusammengefasst. Das Resultat sieht bei mir dann so aus:

deb http://de.archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse

deb http://de.archive.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse

deb http://de.archive.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu raring-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu raring-security main restricted universe multiverse

deb http://archive.canonical.com/ubuntu raring partner
# deb-src http://archive.canonical.com/ubuntu raring partner

deb http://extras.ubuntu.com/ubuntu raring main
# deb-src http://extras.ubuntu.com/ubuntu raring main

Nützliche Programme installieren

Ab hier ist es natürlich reine persönliche Präferenz, dennoch möchte ich einige für mich nützliche Programme aufzählen, die für den Anfang zur Konfiguration und Installation ganz praktisch sind:

  • aptitude zur Paketverwaltung und Erforschung von Abhängigkeiten mit interaktiver Oberfläche
  • vim zum Bearbeiten von Dateien und Einstellungen. Eine abgespeckte Version ist zwar schon installiert, die volle Version ist aber praktischer.
  • screen als “Terminal-Multiplexer”, damit man bequem mehrere Konsolen verwenden kann, den Bildschirm teilen, etc.
  • openssh-server zur Fernsteuerung des Systems. Vor allem zusammen mit screen sehr mächtig, da man sich in bestehende Sitzungen einklinken kann oder auch bei Verbindungsabbrüchen die Sitzung einfach wiederherstellen kann
  • software-properties-common zum bequemen Hinzufügen von Paketquellen und PPAs. Stellt den Befehl add-apt-repository zur Verfügung, der automatisch GPG-Schlüssel zur Paketquelle herunterlädt.
  • ubuntu-extras-kering - der GPG-Schlüssel für eine der aktivierten Paketquellen