Debian 9 «Stretch» bringt keine massiven Veränderungen mit sich, nicht so heftig wie vor zwei Jahren Debian 8 mit Systemd. Dennoch verändert Debian 9 unter der Haube einige wesentliche Dinge. Unser ausführlicher Artikel zum Debian 9 Release.
(Titelbild: takaju, DeviantArt)
Kenner von Debian wissen wie der Hase läuft: Nach ungefähr zwei Jahren verlässt Debian Testing seinen Status und wird zur neuen stabilen Version ausgerufen – das bleibt es für weitere 2 Jahre. Letztes Wochenende war es wieder einmal so weit und Debian 8 «Jessie» wurde durch Debian 9 «Stretch» abgelöst.
Debian 9: Kannst du noch mit /etc/init.d umgehen?
Nirgends in den What’s New Releasenotes steht, ob Debian 9 mit /etc/init.d – also SysVinit – noch klar kommt. Wir erinnern uns: Seit Debian 8 wird SysVinit nach und nach durch das von RedHat vorangetriebene Systemd ersetzt.
Aus dem Grunde hatte ich mir noch vor Erscheinen Debian 9 RC5 installiert und selbst nachgeschaut: Ja, Debian 9 «stable» ist genauso wie Debian 8 «oldstable» noch ein Zwitter was die Startscripts angeht, es kommt mit Systemd sowie SysVinit klar. Dafür sinkt mit Debian 9 die Anzahl der veralteten SysVinit Scripts, es waren in der von mir installierten 4GB DVD-Version in /etc/init.d/* nur noch 28 Stück.
Neue Versionen vieler (Server-)Dienste
Als Kernel kommt Kernel 4.9 zum Einsatz, auf dem Desktop die neuen Versionen GNOME 3.22, KDE Plasma 5.8, LXDE, LXQt 0.11, MATE 1.16, and Xfce 4.12. LibreOffice wir auf 5.2 erhöht, Calibre (Bücherverwaltung) auf 2.75 und Evolution (Thunderbird-Alternative) Version auf Version 3.22.
Für Webserver(-Administatoren) relevant sind Änderungen beliebter Dienste, nachfolgend als Liste vorher Debian 8 vs. nachher Debian 9:
Debian 8.8 | Debian 9 | |
BIND DNS Server | 9.9 | 9.10 |
Exim default e-mail server | 4.84 | 4.88 |
GNU Compiler Collection as default compiler | 4.9 | 6.3 |
Mysql | 5.5 | erstzt durch MariaDB |
MariaDB | 10.0 | 10.1 |
Nginx | 1.6 | 1.10 |
OpenJDK | 7 | 8 |
OpenSSH | 6.7p1 | 7.4p1 |
Perl | 5.20 | 5.24 |
PHP | 5.6 | 7.0 |
Postfix MTA | 2.11 | 3.1 |
PostgreSQL | 9.4 | 9.6 |
Python 3 | 3.4 | 3.5 |
Samba | 4.1 | 4.5 |
Vim | 7 | 8 |
Während des Upgrades fragt Debian, ob man die Konfigdateien des Maintainers, also der neuen Paketversion, installieren möchte. Diese Fragen sollte man durchgehen mit «Yes» beantworten. Falls über die Jahre zuvor diese Konfigurationsdateien verändert werden mussten, ist das Überschreiben mit «Yes» nicht schlimm, denn Debian sichert die alte Konfiguration als .dpkg-old neben der neuen Konfigdatei. So kann man nach dem dist-upgrade in Ruhe alle früheren Anpassungen nach Debian 9 übertragen.
Falls man während dem Upgrade trotzdem auswählt die alte Konfigurationsdatei explizit zu behalten, kann das zu Problemen führen. Vielleicht startet das jeweilige Programm danach nicht und falls doch, fehlen wichtige neu hinzugekommene Optionen in der *.conf Datei. Kurz: Damit geht die Konsistenz des Systems verloren, es ist nicht zu empfehlen.
MySQL sag Tschüss, MariaDB übernimmt jetzt
Als eine der markantesten Veränderugen dürfte der Wegwurf von MySQL sein, dessen Installation Debian 9 durch MariaDB ersetzt. MariaDB ist ein freier Fork von MySQL der sich etabliert hat, weil Oracle ihr MySQL nicht gut genug pflegt.
Die Umstellung des SQL-Unterbodens sollte der Administrator während des Upgrades nicht bemerken, bzw. nichts dafür extra unternehmen müssen. Debian 9 installiert das neue Metapaket default-mysql-server welches die Versionen steuert. Es holt sich automatisch mariadb-server-10.1 während mysql-server-5.5 deinstalliert wird.
Sobald MariaDB seinen Dienst aufnimmt werden alle MySQL Datenbanken für MariaDB binär umkonvertiert und können danach ohne lesbaren .sql Dump nicht wieder für MySQL eingelesen werden. Klingt heftig? Ist halb so wild. Man kann sich für den Fall der Fälle vorher alle MySQL Datenbanken wegdumpen.
Tipp: Eine Hilfe kann das Paket automysqlbackup sein, ist es installiert werden in der Standardeinstellung jede Nacht Dumps aller Datenbanken erstellt. Damit entfallen selbst gebastelte Cronjobs dazu völlig (die kleinen aber feinen Debian Komfort-Vorteile 😉 ).
Die Commands um MariaDB anstatt MySQL zu verwalten bleiben gleich. Es bleibt also bei «mysql (…)» und «mysqldump (…)» wie man es sich gewohnt ist. Unter der Haube unterscheidet sich MariaDB noch nicht sonderlich von MySQL.
ifconfig ist veraltet und nicht mehr vorinstalliert
Die sogenannten net-tools werden standardmäßig nicht mehr installiert. Dort drin befindet sich das allseits bekannte Command «ifconfig». Ersetzt wird es mit iproute2 und den damit einhergehenden «ip» Befehlen.
Nachfolgend eine Übersicht zu den neuen Commands, an die wir uns mittelfristig alle gewöhnen werden müssen:
ifconfig | ip addr show ip link show |
ifconfig eth0 up | ip link set eth0 up |
ifconfig eth0 down | ip link set eth0 down |
ifconfig eth0 192.168.0.2 | ip address add 192.168.0.2 dev eth0 |
ifconfig eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 | ip addr add 192.168.0.2/24 broadcast 192.168.0.255 dev eth0 |
nicht möglich | ip addr del 192.168.0.2/24 dev eth0 |
ifconfig eth0:1 10.0.0.1/8 | ip addr add 10.0.0.1/8 dev eth0 label eth0:1 |
Es gibt noch viele weitere «ip» Commands, so kann man sich mit ip route show das Routing anschauen, usw.
Eine nette Anlaufstelle zu iproute2 ist das Gentoo Wiki.
eth0 und wlan0 war gestern
Neuinstallationen werden anders benannte Ethernet- und WLAN Schnittstellen haben. Aus eth0 wird ens0 oder enp1s1 und das WLAN heißt neuerdings wlp3s0. Ein hochgepatchtes Debian ist von dieser Veränderung nicht betroffen, dort bleibt es bei eth0 und wlan0 dank der Datei /etc/udev/rules.d/70-persistent-net.rules.
Ubuntu 16.04 Nutzer und RedHat Administratoren dürfte das neue Naming-Konzept schon bekannt sein. Debian folgt hier lediglich einem Trend der sich in fast allen Linux-Distributionen durchgesetzt hat.
Noch mehr Neuerungen
Debian 9 liefert einen X-Server ohne Rootzwang mit, was die Sicherheit erhöhen soll. Dieser X-Server braucht KMS vom Kernel und funktioniert dementsprechend auf physischen Installationen aber nicht (!) in Virtualboxen.
GnuPG macht den Sprung auf den «modernen» Zweig, der bringt Kryptographie über elliptische Kurven, bessere Standardeinstellungen, eine modularere Architektur und verbesserte Smartcard-Unterstützung mit. Die alte Variante bleibt für Debian 9 noch in den Paketquellen.
Was Debian nicht mitbringt: UEFI Secure Boot. Dazu hat es dem Debian-Projekt schlicht nicht mehr gereicht. Unterstützung zu UEFI Secure Boot wird voraussichtlich mit dem nächsten Minor-Release 9.1 oder 9.2 ausgeliefert.
nftables: In den Paketquellen dabei, aber noch kein Standard
Empfohlen wir das neue nftables ab Kernel 4.9 – eben dem Kernel, den Debian 9 just mitbringt. Nftables als neue Kernel-Firewall möchte nicht zuletzt die klobige iptables Syntax verbessern.
Zum Beispiel: Musste man für Logging noch -j LOG vor der eigentlichen -j DROP Rule definieren, kann nftables das Logging per Rule auch mit nur einer Zeile aktivieren.
Nachfolgend ein Beispiel, «sperre alles auf Port 80 und logge jegliche Verbindungsversuche»:
#iptables: iptables -A FORWARD -p tcp --dport 80 -j LOG iptables -A FORWARD -p tcp --dport 80 -j DROP
#nftables: nft add rule filter forward tcp dport 80 log drop
Zudem kann man mit nft alle Netzwerkverbindungen verwalten, was iptables nicht konnte. Dort gab es noch die zusätzlichen CLI ip6tables, arptables und ebtables.
Debian 8 läuft doch! Wann muss soll ich upgraden?
Administratoren von Debian 8 Server müssen nicht sofort auf Debian 9 upgraden. Debian 8 wird noch ein Jahr supported, also bis Juni 2018.
Wer nicht warten kann und ein produktives System patcht, der sollte sich mindestens einmal die offizielle Upgrade Anleitung durchlesen. Diese Anleitung gibt es in Englisch wie auch auf Deutsch. Sie lohnt sich besonders, wenn man nicht «einfach so» einen Snapshot einer VM erstellen kann, wie das auf physikalischen Servern der Fall ist.
Für produktive Server wird empfohlen, zuerst Debian 8.8 auf den neusten Stand zu bringen, dann das Wort «jessie» durch «stretch» in /etc/apt/sources.list zu ersetzen. Anschließend kann ein «Minimal-Upgrade» mittels apt-get update && apt-get upgrade durchgeführt werden – damit werden nur die Pakete aktualisiert, die keine anderen Abhängigkeiten verändern.
Als nächster und letzter Schritt muss mit apt-get dist-upgrade Nägel mit Köpfen gemacht werden. Jetzt installiert Debian alles was Abhängigkeiten verändert und legt auch den Kernel 4.9 bereit. Ein Reboot ist unumgänglich, um den Kernel 4.9 zu aktivieren.
Kapitel 4 zum Thema Upgrade durchzulesen dauert ungefähr 30 Minuten. Man sollte sich diese Zeit nehmen, so ist die Freude umso größer wenn das Upgrade auf Anhieb problemlos geklappt hat.
Guter Artikel. Schön prägnant ohne viel drum herum. Danke!
Danke!
Super zusammengefasster Artikel, für die wichtigsten Änderungen. Danke!
Jep. Super gemacht. Danke
+1 Klasse Artikel!
Danke für die guten Hinweise