Debian8 Upgrade: Unterschied zwischen den Versionen
Erich (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Erich (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 120: | Zeile 120: | ||
====Mount-Einträge==== | ====Mount-Einträge==== | ||
Falls ein Container nicht gestartet werden kann, kann es an den Mount-Einträgen existierender Container liegen. In früheren Versionen waren die Pfade absolut anzugeben. Bei LXC 1.0 empfiehlt es sich die Mountpfade relativ zum Container Root Filesystem anzugeben. Relative Pfade ohne führenden '''/''' Z.B. | Falls ein Container nicht gestartet werden kann, kann es an den Mount-Einträgen existierender Container liegen. In früheren Versionen waren die Pfade absolut anzugeben. Bei LXC 1.0 empfiehlt es sich die Mountpfade relativ zum Container Root Filesystem anzugeben. Relative Pfade ohne führenden '''/''' Z.B. | ||
lxc.mount.entry=devpts '''/var/lib/lxc/ | lxc.mount.entry=devpts '''/var/lib/lxc/debian/rootfs/dev/pts''' devpts defaults 0 0 | ||
Sollte geändert werden in | Sollte geändert werden in | ||
lxc.mount.entry=proc proc '''dev/pts''' nodev,noexec,nosuid 0 0 | lxc.mount.entry=proc proc '''dev/pts''' nodev,noexec,nosuid 0 0 |
Version vom 29. Mai 2015, 19:36 Uhr
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
Rechner neu starten
Version prüfen
Debian Version
cat /etc/debian_version
Die Ausgabe sollte 8.0 oder neuer sein
Kernel Version
uname -a
Es sollte eine eine Kernelversion 3.16 oder neuer ausgegeben werden
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
LXC Container Autostart
Der Autostart Mechanismus wurde bei LXC 1.0.x geändert. Die Container werden nicht mehr via Symlink gestartet, sondern über den Eintrag
lxc.start.auto = 1
Diesen zusätzlich in alle Container Config-Files eintragen, die beim Systemstart automatisch gestartet werden sollen.
Mount-Einträge
Falls ein Container nicht gestartet werden kann, kann es an den Mount-Einträgen existierender Container liegen. In früheren Versionen waren die Pfade absolut anzugeben. Bei LXC 1.0 empfiehlt es sich die Mountpfade relativ zum Container Root Filesystem anzugeben. Relative Pfade ohne führenden / Z.B.
lxc.mount.entry=devpts /var/lib/lxc/debian/rootfs/dev/pts devpts defaults 0 0
Sollte geändert werden in
lxc.mount.entry=proc proc dev/pts nodev,noexec,nosuid 0 0
Container IP-Adresse per DHCP
Falls der DHCP-Server auf dem selben Jessie-Host (nicht bei Wheezy-Host), oder in einem LXC-Container betrieben wird, können die LXC-Container aufgrund eines Bugs ihre IP-Adresse nicht per DHCP beziehen. Für Container mit fester IP-Adresse besteht diesbezüglich kein Problem.
Für jeden Container, der eine IP-Adresse per DHCP beziehen soll:
vi /etc/rc.local
Folgende Zeilen vor exit 0 einfügen:
#Fix for LXC Checksum Offload Problem ethtool --offload eth0 rx off tx off ethtool -K eth0 gso off exit 0
Falls kein Zugriff auf den Container besteht auf dem Host ausführen:
vi /var/lib/lxc/Container/rootfs/etc/rc.local
obige Zeilen einfügen
Nach der Änderung den jeweiligen Container neu starten bzw. Host neu starten
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
rsyslog neu starten
/etc/init.d/rsyslog restart
OpenVPN
Falls OpenVPN mit User/Passwort authentifizierung verwendet wird (zusätzlich zur zertifikatsbasierten Authentifizierung), muss der Filename des authorisierungs Plugins geändert werden, da dieses in Jessie umbenann wurde
vi /etc/openvpn/server.conf
Die Zeile
plugin /usr/lib/openvpn/openvpn-auth-pam.so login
abändern in
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login