Von einem der auszog, einen Debian-Server zu basteln (Teil 3)

Die Bauteilliste

Als Ergänzung zum letzten Blogeintrag hier noch die Liste der verbauten Hardware:

  • CPU: Intel Core i3-350
  • CPU-Lüfter: Scythe Samurai ZZ
  • Mainboard: MSI H55M-E33
  • Speicher: 2x2GB (DDR3-1333/PC3-10600, CL9)
  • Festplatte: Samsung EcoGreen F2 1,5TB, SATA II
  • DVD-Brenner: LG GSA-4182
  • Gehäuse: Antec Sonata II
  • Netzteil: be quiet! Pure Power 300 Watt / BQT L

Das Betriebssytem

Wie die Titel der Blogbeiträge schon andeuten, soll auf dem Server die aktuelle Version “Lenny” der Linux-Distribution Debian installiert werden. Dazu möchte ich aber nicht den Weg über den Debian-Installer gehen, sondern das System so klein wie möglich aufsetzen. Dazu bietet sich die Installation mittels debootstrap an.

Dazu boote ich das System von USB-Stick mit der aktuellen Kubuntu-Version 10.10 “Maverick Meerkat”. Den USB-Stick (4GB) habe ich mit Linux Live USB Creator erzeugt. Damit nicht alle Einstellungen verloren gehen, habe ich den verbleibenden Platz des Sticks für permanenten Speicher vergeben.

Die Festplatte vorbereiten

Als erstes wird nun die frisch verbaute Festplatte geprüft. Dazu kommt das Tool badblocks zum Einsatz.

Anmerkung: Alle Befehle werden als root ausgeführt, dazu kann mit

$ sudo -s

eine Root-Shell geöffnet werden. Mit dem Befehl

# badblocks -c 1024 -s -w -t random -v /dev/sda

wird die komplette Platte (da in meinem System nur eine SATA-Festplatte verbaut ist, ist das dev/sda) mit zufälligen Werten überschrieben und gleich noch geprüft. Das dauert einige Stunden bei 1,5 TB… Das ist übrigens auch zu empfehlen, wenn man eine alte Platte entsorgen möchte. Danach sind nämlich alle Daten weg. Also aufpassen, damit nicht das falsche Device gelöscht wird!

Während badblocks also so vor sich hin prüft, werden wir uns nun mit der anstehenden Partitionierung der Platte beschäftigen. Da ich die Platte verschlüsseln möchte, benötigen wir auf jeden Fall eine kleine Boot-Partition, die später unverschlüsselt ist, damit Linux überhaupt bootet. Dann benötigen wir natürlich die unter Linux übliche Swap-Partition. Der Rest bleibt dann für die verschlüsselte Root-Partition übrig.

Zum Partitionieren habe ich mich für die grafische Variante mittels KDE-Partitionmanager entschieden. Dazu muss allerdings das Softwarepaket erst noch installiert werden. Das geschieht über die Softwareverwaltung KPackageKit. Hier müssen dann zuerst in den Einstellungen alle Quellen aktiviert werden, damit auch Pakete aus den Repositories universe und multiverse installiert werden können.

Wenn badblocks fertig ist, bereiten wir die Partitionen vor. Als Dateisystem verwenden ich ext3, da dieses von den meisten Festplattentools sehr gut unterstützt wird.

Ich habe dann die Boot-Partition mit 200MiB am Anfang der Platte erzeugt, danach die große Root-Partition, indem ich am Ende 5200MiB Platz (RAM + 30%) gelassen habe. Zum Schluss habe ich im verbleibenden Teil der Platte die Swap-Partition angelegt.

Es ergibt sich damit die folgende Aufteilung der Festplatte (da die Platte in Sektoren aufgeteilt wird, weichen die tatsächlichen Partitionsgrößen etwas von den eingegebenen Werten ab). Mit dem Befehl

# cfdisk /dev/sda

kann die Aufteilung angezeigt werden:

 Name    Flags    Part Type  FS Type                 Size (MB)
------------------------------------------------------------------------------
 sda1             Primary    Linux                      197.41
 sda2    Boot     Primary    Linux                  1494903.52
 sda3             Primary    Linux swap / Solaris      5198.38

Zum Schluss bereiten wir nun noch die Partitionen vor. Die kleine unverschlüsselte Boot-Partition formatieren wir dazu mit dem Befehl:

# mkfs.ext3 /dev/sda1

Danach ist die zu verschlüsselnde Partition dran: Zuerst wird das LUKS-Gerät erzeugt, was mit dem Befehl

# cryptsetup -c aes-xts-plain -s 512 luksFormat /dev/sda2

passiert. Mit einem groß geschriebenen yes wird der Befehl bestätigt. Dann muss noch zweimal die Passphrase eingegeben werden, um einen Tippfehler zu verhindern. Anschließend wird das gerade erzeugte Gerät noch geöffnet, damit es formatiert werden kann. Das geschieht mit den beiden folgenden Befehlen (der erste Befehl fragt nach der Passphrase und bindet dann die Partition unter /dev/mapper/crypt_root ein):

# cryptsetup luksOpen /dev/sda2 crypt_root
# mkfs.ext3 /dev/mapper/crypt_root

Zuletzt wird noch die ebenfalls zu verschlüsselnde Swap-Partition vorbereitet. Dazu leiten wir einen Schlüssel von unserer Root-Partition ab:

# /lib/cryptsetup/scripts/decrypt_derived crypt_root \
   | cryptsetup -c aes-xts-plain -s 512 luksFormat /dev/sda3
# /lib/cryptsetup/scripts/decrypt_derived crypt_root \
   | cryptsetup luksOpen /dev/sda3 crypt_swap
# mkswap /dev/mapper/crypt_swap

Der foglende Befehl schließt die verschlüsselten Partitionen wieder:

# cryptsetup luksClose crypt_root
# cryptsetup luksClose crypt_swap

Somit sind alle drei Partitionen vorbereitet. Im nächsten Teil wird dann das Minimalsystem installiert.

This entry was posted in Hardware, Linux and tagged , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>