Debian Upgrade von Squeeze auf Wheezy

Hier eine kurze Anleitung, wie man bestehende Debian 6 Squeeze Installationen auf die aktuelle Verison Debian 7 Wheezy updatet.

!! Zunächst sollte man eine komplette Sicherung der bestehenden Debian Squeeze Installation erstellen. !!

Alle weiteren Schritte müssen mit dem root-Account durchgeführt werden:

Zunächst den Paketstatus der installierten Squeeze Pakete überprüfen. Hierbei wird geprüft, ob alle Pakete in einem Status sind, der zum Upgrade geeignet ist. Der folgende Befehl zeigt alle Pakete an, die nicht korrekt installiert, konfiguriert oder die sich in einen Fehler-Zustand befinden.

# dpkg --audit

Wird hier kein Status ausgegeben, kann mit den weiteren Schritten fortgefahren werden, ansonsten sollte man das System soweit vorbereiten, das alle Pakete zum Upgrade geeignet sind.

Ist bis hierher alles soweit okay, müssen die APT-Quellen von squeeze auf wheezy geändert werden:

vorher:

# vi /etc/apt/sources.list
deb http://ftp5.gwdg.de/pub/linux/debian/debian/ squeeze main
deb-src http://ftp5.gwdg.de/pub/linux/debian/debian/ squeeze main

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

# squeeze-updates, previously known as 'volatile'
deb http://ftp5.gwdg.de/pub/linux/debian/debian/ squeeze-updates main
deb-src http://ftp5.gwdg.de/pub/linux/debian/debian/ squeeze-updates main

nachher:

# vi /etc/apt/sources.list
deb http://ftp5.gwdg.de/pub/linux/debian/debian/ wheezy main non-free
deb-src http://ftp5.gwdg.de/pub/linux/debian/debian/ wheezy main non-free

deb http://security.debian.org/ wheezy/updates main non-free
deb-src http://security.debian.org/ wheezy/updates main non-free

# wheezy-updates, previously known as 'volatile'
deb http://ftp5.gwdg.de/pub/linux/debian/debian/ wheezy-updates main
deb-src http://ftp5.gwdg.de/pub/linux/debian/debian/ wheezy-updates main

Das System-Upgrade kann nun mit dem Befehl „apt-get“ durchgeführt werden:

# apt-get update
# apt-get dist-upgrade
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
Paketaktualisierung (Upgrade) wird berechnet... Fertig
Die folgenden Pakete werden ENTFERNT:
...
Die folgenden NEUEN Pakete werden installiert:
...
Die folgenden Pakete werden aktualisiert (Upgrade):
...
Es müssen XXX MB an Archiven heruntergeladen werden.
Nach dieser Operation werden XXX MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]?

Beim Upgrade kann es vorkommen, das man gefragt wird, ob alte Konfigurationsdateien von einem Paket beibehalten  werden soll, oder durch die neue Konfiguration aus dem aktuellen Paket ersetzt werden soll. Hier muss jeder selbst entscheiden, was für sein System am besten ist.

Ist alles ohne Fehler durchgelaufen, kann jetzt das System neu gestartet werden:

# init 6

Wenn alles gut gelaufen ist, sollten alle Dienst auf dem System wieder laufen.

Ein Blick in das Logfile syslog kann hier weiterhelfen.
Zum Abschluss kann noch der apt-Cache bereinigt und alte Pakete entfernt werden.

# apt-get clean
# apt-get autoremove

 

Bei einigen Systemen sind beim Upgrade folgende Probleme aufgetreten:

  • Der „top“-Befehl endet mit folgender Fehlermeldung:
# top
top: incompatible rcfile, you should delete '/root/.toprc'

Das rcfile scheint nicht mehr zur aktuellen Version kompatible zu sein, durch löschen der Datei „/root/.toprc„, startet das Programm wieder.

  • Der „mailq“-Befehl gibt folgende Warnmeldungen aus, wenn auf dem System postfix installiert und IPv6 über Grub deaktiviert ist.
# mailq
mailq: warning: inet_protocols: disabling IPv6 name/address support: Address family not supported by protocol
postqueue: warning: inet_protocols: disabling IPv6 name/address support: Address family not supported by protocol
Mail queue is empty

Die Warnungen werden durch eine nicht korrekte postfix-Konfiguration ausgelöst.

In der Postfix-Datei /etc/postfix/main.cf  muss folgende Zeile hinzugefügt oder geändert werden, damit die Änderungen aktiviert werden, muss postfix neu gestartet werden.

# vi /etc/postfix/main.cf
...
inet_protocols = ipv4
...

# /etc/init.d/postfix restart
[ ok ] Stopping Postfix Mail Transport Agent: postfix.
[ ok ] Starting Postfix Mail Transport Agent: postfix.
# mailq
Mail queue is empty
  • Der Webserver „apache2“ kann PHP-Erweiterung Suhosin nicht mehr laden.

Die PHP-Erweiterung Suhosin wird nicht mehr mit Debian Wheezy ausgeliefert, nach dem Update erscheint folgender Eintrag im Apache2-Error Logfile:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/suhosin.so' - /usr/lib/php5/20090626/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0

Zusätzlich beschwert sich der „Cron Deamon“ alle 30 Minuten mit der folgenden EMail bei root:

Betreff:
Cron <root@SERVERNAME>   [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete

Mailinhalt:
PHP Warning:  PHP Startup: Unable to load dynamic library ‚/usr/lib/php5/20100525+lfs/suhosin.so‘ – /usr/lib/php5/20100525+lfs/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0

Damit sich der Cron-Daemon wieder beruhigt muss das Suhosin-Paket vom System inkl. der Konfigurationsdateien entfernt werden:

# apt-get purge php5-suhosin
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Die folgenden Pakete werden ENTFERNT:
 php5-suhosin*
0 aktualisiert, 0 neu installiert, 1 zu entfernen und 0 nicht aktualisiert.
Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]?
...

# /etc/init.d/apache2 restart
[ ok ] Restarting web server: apache2 ... waiting .
  • NFS-Server  startet mit Warnhinweis, wenn Systemweit IPv6 deaktiviert ist.

Wurde Systemweit IPv6 deaktiviert, wird beim starten vom NFS-Server folgender Warnhinweis ausgegeben:

# /etc/init.d/nfs-kernel-server start
[ ok ] Exporting directories for NFS kernel daemon....
[....] Starting NFS kernel daemon: nfsdrpc.nfsd: address family inet6 not supported by protocol TCP
 mountdrpc.mountd: svc_tli_create: could not open connection for udp6
rpc.mountd: svc_tli_create: could not open connection for tcp6
rpc.mountd: svc_tli_create: could not open connection for udp6
rpc.mountd: svc_tli_create: could not open connection for tcp6
rpc.mountd: svc_tli_create: could not open connection for udp6
rpc.mountd: svc_tli_create: could not open connection for tcp6
. ok

Damit der NFS-Server ohne Fehlermeldung startet, muss in der Datei „/etc/netconfig“ „udp6“ und „tcp6“ durch auskommentieren deaktiviert werden:

# vi /etc/netconfig
===>
...
#udp6 tpi_clts v inet6 udp - -
#tcp6 tpi_cots_ord v inet6 tcp - -
...
<===

# /etc/init.d/nfs-kernel-server start
[ ok ] Exporting directories for NFS kernel daemon....
[ ok ] Starting NFS kernel daemon: nfsd mountd.
  • Autofs kann keine Verbindung mehr über smbfs herstellt

Wird versucht mit autofs eine Verbindung über smbfs herzustellen, wird folgende Fehlermeldung im syslog ausgegeben:

automount[<PID>]: >> mount: unknown filesystem type 'smbfs'

Die Verbindung funktioniert wieder, wenn in der Autofs-Konfiguration der Parameter fstype von smbfs auf cifs geändert wird.

  • syslog-ng startet mit Warnhinweis

Der Dienst syslog-ng startet mit folgender Warnmeldung:

/etc/cron.daily/logrotate:<br class="" />WARNING: Configuration file format is too old, please update it to use the 3.3 format as some constructs might operate inefficiently;<br class="" />WARNING: global: the default value of log_fifo_size() has changed to 10000 in version 3.3 to reflect log_iw_size() changes for tcp()/udp() window size changes;<br class="" />Your configuration file uses an obsoleted keyword, please update your configuration; keyword='long_hostnames', change='chain_hostnames'<br class="" />WARNING: the expected message format is being changed for unix-domain transports to improve syslogd compatibity with syslog-ng 3.2. If you are using custom applications which bypass the syslog() API, you might need the 'expect-hostname' flag to get the old behaviour back;

In der Datei /etc/syslog-ng/syslog-ng.conf müssen folgende Änderungen vorgenommen werden:

 

vorher:

@version: 3.1
...
options { long_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no);
...
nachher:
@version: 3.3
...
options { chain_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no);
...

Dienst neu starten

root@srv-web-05:/home/cmsroot# /etc/init.d/syslog-ng restart
[ ok ] Stopping system logging: syslog-ng.
[ ok ] Starting system logging: syslog-ng.
VN:F [1.9.22_1171]
Artikel-Bewertung
Rating: 0.0/8 (0 votes cast)
0 Kommentare

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*