Minimal-Installation von Ubuntu mit verschlüsseltem LVM
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ächevim
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 mitscreen
sehr mächtig, da man sich in bestehende Sitzungen einklinken kann oder auch bei Verbindungsabbrüchen die Sitzung einfach wiederherstellen kannsoftware-properties-common
zum bequemen Hinzufügen von Paketquellen und PPAs. Stellt den Befehladd-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