1. Index
  2. Debian
  3. Desktop
  4. Heimserver
  5. Webserver

Der Persönliche Computer

Der PC dient als Werkbank für kreative Arbeit. Von hier aus administrieren wir unsere Serverflotte oder bearbeiten digitale Werkstücke wie Texte, Code, Fotos, Musik und Videos mit Maus und Tastatur, entweder über eine grafische Benutzeroberfläche oder auf der Textkonsole. Alle Daten werden verschlüsselt gespeichert und mit dem Heimserver synchronisiert, so dass beim Verlust des Rechners keine Daten verloren gehen.

Debian installieren

Auf dem neuen Rechner installieren wir Debian per Startmedium. Bei Auswahl von Sprache und Tastaturbelegung, Konfiguration des Netzwerks und Anlegen der Benutzer kann man nicht viel falsch machen. Das Anlegen der Partitionen mit Verschlüsselung ist etwas hakelig, weil der Installer auf einer Boot-Partition beharrt, die wir später jedoch zum Auslagerungsspeicher umwidmen werden.

Partition Größe Name Benutzen als Einbindungspunkt
/dev/sda1 536 MB esp EFI System Partition /boot/efi
/dev/sda2 max root Verschlüsselung (sda2_crypt)
/dev/sda3 17 GB boot Ext2-Dateisystem /boot

Danach Verschlüsselte Datenträger konfigurieren:

Und diesen schließlich als Wurzeldateisystem einbinden:

Alle Änderungen übernehmen und die Warnung bezüglich fehlendem Auslagerungsspeicher ignorieren. Bei der Softwareauswahl wählen wir gar nichts aus. Alle weiteren Pakete werden nach dem ersten Neustart installiert.

Dateisysteme ordnen

Sobald das frisch installierte System läuft, melden wir uns als root an, erzeugen eine Momentaufnahme des Wurzeldateisystems, legen ein Subvolumen für die Benutzerverzeichnisse an und wechseln in die neue Umgebung, die wir dann an unsere Bedürfnisse anpassen.

btrfs subvolume snapshot / /@root
btrfs subvolume create     /@home
mount -o subvol=@root /dev/mapper/sda2_crypt /mnt
mount -o bind /dev  /mnt/dev
mount -o bind /sys  /mnt/sys
mount -o bind /proc /mnt/proc
cp /boot/vmlinuz*   /mnt/boot
cp /boot/initrd*    /mnt/boot
chroot /mnt

Dort installieren wir zuerst die benötigten Pakete.

apt install joe less tree psmisc wget uuid binutils efitools sbsigntool

Danach vergeben wir in der Kryptotabelle sprechendere Namen und widmen die ursprüngliche Boot-Partition zum Auslagerunsspeicher um.

/etc/crypttab
# Name Device Keyfile Options root /dev/sda2 none luks,discard swap /dev/sda3 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256

Schließlich passen wir die Dateisystemtabelle an die geänderten Namen an.

/etc/fstab
# What Where Type Options Dump Pass /dev/sda1 /boot/efi vfat defaults 0 0 /dev/mapper/root / btrfs noatime,subvol=@root 0 0 /dev/mapper/root /home btrfs noatime,subvol=@home 0 0 /dev/mapper/swap none swap sw 0 0

SecureBoot einrichten

Wir erzeugen Schlüssel für SecureBoot, unterzeichnen damit ein Kernelabbild und installieren einen geeigneten Bootloader.

mkdir /boot/efi
mount /boot/efi
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
wget https://illusioni.de/~phrank/debian/zz-update-secureboot
chmod +x zz-update-secureboot
mv       zz-update-secureboot /etc/kernel/postinst.d
/etc/kernel/postinst.d/zz-update-secureboot

Das Skript kopiert die Schlüssel auf die ESP, damit wir diese beim nächsten Neustart im Firmware-Setup hinterlegen und SecureBoot aktivieren können.

Netzwerk konfigurieren

Der Network Manager sorgt für eine bestmögliche Verbindung zum Internet, entweder per Ethernet oder über ein Funknetz. Unter Gnome kann man Verbindungen über das Kontextmenü in der oberen rechten Ecke bearbeiten. Auf der Kommandozeile konfiguriert man Verbindungen mit nmcli(1) oder nmtui(1).

Software installieren

Das Metapaket task-gnome-desktop installiert über eintausend Pakete. Einen etwas minimaleren Gnome-Desktop erhält man, wenn man folgende Pakete entfernt:

apt remove cheese evolution{,-ews} gnome-{boxes,calendar,contacts,\
	dictionary,documents,getting-started-docs,initial-setup,maps,\
	online-miners,photos,software,user-guide,user-share,video-effects,\
	weather} totem tracker-miner-fs yelp simple-scan

Gnome

apt install plymouth{,-themes} baobab eog evince gedit nautilus \
	gnome-{shell,session,panel,terminal,tweak-tool,disk-utility} \
	gnome-shell-extension-suspend-button smartmontools

Netzwerk

apt install network-manager{,-gnome,-openvpn,-openvpn-gnome} \
	firefox-esr{,-l10n-de} thunderbird{,-l10n-de} \
	syncthing smbclient cifs-utils ldap-utils \
	openssh-client libpam-ssh sshfs curl wget rsync \
	avahi{-daemon,-autoipd} mdns-scan

Produktivität

apt install inkscape gimp exiv2 \
	texlive{,-lang-german,-latex-extra} \
	libreoffice{-writer,-calc} \
	cups hplip{,-gui} system-config-printer{,-common,-udev}

Multimedia

apt install pavucontrol vlc ario asunder handbrake openshot puddletag \
	mp3diags devede isomaster ffmpeg flac lame {vorbis,opus}-tools

Entwicklung

apt install git make gcc gdb strace meld gucharmap sqlite3 graphviz groff

Zum Abschluss räumen wir auf, verlassen die Changeroot-Umhebung und starten den Rechner neu.

apt remove grub-common rsyslog logrotate anacron cron emacsen-common
apt autoremove
exit
reboot

Nun können wir im Firmware-Setup die auf der ESP, hinterlegen Schlüssel installieren und SecureBoot aktivieren. Wenn alles geklappt hat, startet das System nun den signierten Kernel, fragt nach der Passphrase und begrüßt uns mit einem graphischen Anmeldebildschirm.

Literatur

  1. Debian Wiki: Debian Desktop How To
  2. Debian Wiki: Installing Debian On