Debian8 Upgrade
Allgemein
Debian 8.0 (Jessie) wurde am 25.04.2015 offiziell in finaler Form freigegeben. Vor dem Upgrade empfiehlt es sich, dringend ein Backup anzufertigen, da bei einem Upgrade immer etwas schief gehen kann, das bis zur kompletten Unfähigkeit des Bootens führen könnte.
Der Upgrade-Prozeß ist im Detail hier: https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.de.htmll beschrieben. Deshalb sollen im Folgenden nur einzelne Aspekte besprochen werden.
Vorbereitung
System auf neuesten Stand bringen
Alle Pakete sollten auf dem neuesten Stand sein, bevor der Upgradevorgang gestartet wird:
apt-get update apt-get dist-upgrade
Paketquellen updaten
vi /etc/apt/sources.list
Alle Verweise der Debian-Quellen von Wheezy auf Jessie umstellen:
deb http://ftp.de.debian.org/debian/ jessie main non-free contrib deb-src http://ftp.de.debian.org/debian/ jessie main non-free contrib deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie /updates main contrib non-free deb http://ftp.de.debian.org/debian/ jessie-updates main contrib non-free deb-src http://ftp.de.debian.org/debian/ jessie-updates main contrib non-free
Falls weitere Quellen aufgeführt sind, prüfen, ob auch für diese Jessie-Pakete bereit stehen.
Upgrade vorbereiten
apt-get update apt-get upgrade apt-get install dpkg apt
Eine ganze Reihe von Paketen werden aktualisiert.
Kernel aktualisieren
Dieser Schritt ist nicht für virtuelle LXC-Container nötig.
apt-cache search linux-image
Eine ganze Zahl von verfügbaren Kerneln wird aufgelistet. Einen zum aktuellen System passenden Kernel auswählen und installieren (z.B. linux-image-3.16.0-4-amd64)
apt-get install linux-image-3.16.0-4-amd64
Und dazu passend die Linux-Header-Files:
apt-get install linux-headers-3.16.0-4-amd64
Upgrade finalisieren
apt-get update apt-get upgrade apt-get dist-upgrade
Version prüfen
cat /etc/debian_version
Hinweise zum Upgrade einzelner Pakete
Hier einige Hinweise, die aus persönlichen Upgrade-Erfahrungen resultieren.
Apache2
Bei Jessie kommt Apache2 in Version 2.4 zum Einsatz, der Anpassungen an der Konfiguration (Virtualhosts und Einträge unter conf.d) erfordert.
Apache2.2
order allow,deny allow from all
enspricht unter Apache2.4:
Require all granted
Apache2.2
order deny,allow deny from all
enspricht unter Apache2.4:
Require all denied
Weitere Hinweise sollten der Apache Dokumentation entnommen werden: http://httpd.apache.org/docs/2.4/upgrading.html
Mediawiki
Mediawiki verwendet Perl kompatible Regular Expressions (PCRE), die in der Jessie-Version (2.8.35) ein Problem mit der von älteren Mediawiki Versionen (z.B. 1.16WMF, die bis dato hier verewndet wurde) eingesetzten Syntax hat. Folge: Mediawikis stellt keine Inhalte (Texte) mehr dar. Abhilfe: Aktuelle Mediawiki-Version einsetzen, bei der dieses Problem behoben wurde.
Details siehe: Upgrade Mediawiki von SVN
LXC
Debian 8 verwendet standardmäßig systemd anstatt dem bis dato verwendeten SysVInit mit dne bekannten Startscripts unter /etc/init.d/.
Leider ist systemd im LXC-Container nicht lauffähig, wenn auf dem Host noch Debian Wheezy läuft. Es funktioniert nur für Container, die unter Debian Jessie auf dem Host betrieben werden. Für existierende Container auf Jessie Host ist ein Workaround erforderlich. Für neu erstellte Jessie Container unter Debian Jessie auf dem Host funktioniert es out of the box.
Workaround für Jessie Container auf Wheezy Host
bevor der Container oder Host neu gebootet werden, wird sysvinit installiert, das unter Debian Jessie nachwievor zur Verfügung steht und auch supported wird:
apt-get install sysvinit-core
Weitere Details siehe: https://wiki.debian.org/LXC#Incompatibility_with_systemd
Workaround Jessie Container auf Jessie Host
Nur erforderlich für bereits existierende Container (z.B. jessie):
lxc-stop -n jessie vi /var/lib/lxc/jessie/config
Folgende Einträge zusätzlich einfügen:
lxc.autodev = 1 lxc.kmsg = 0
chroot /var/lib/lxc/jessie/rootfs cp /lib/systemd/system/getty@.service /etc/systemd/system vi /etc/systemd/system
Kommentarzeichen '#' vor folgende Zeile einfügen:
#ConditionPathExists=/dev/tty0 in the copied getty@.service
systemctl mask udev.service systemd-udevd.service exit
ProFTP
Bei der Aktivierung von ProFTP wird FTP in inetd.conf deaktiviert, sodass Proftp nicht mehr via INETD startet.
vi /etc/inetd.conf
Die folgende Zeile auskommentieren ('#' Zeichen entfernen):
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/proftpd
InetD neu starten:
/etc/init.d/inetutils-inetd restart
rsyslog
Im Logfile /var/log/syslog tauchten regelmäßig folgende Einträge auf:
rsyslogd-2007: action 'action 17' suspended, next retry is ...
Um diese zu eliminieren, muss die rsyslog Konfiguration angepasst werden:
vi /etc/rsyslog.conf
Auskommentieren des folgenden Blocks (normalwerweise ganz am Ende des Files), um die Logausgabe an xconsole zu deaktivieren, die auf einem Server normalerweise nicht existiert und für obige Logausgaben verantwortlich ist:
#daemon.*;mail.*;\ # news.err;\ # *.=debug;*.=info;\ # *.=notice;*.=warn |/dev/xconsole