Upgrade von Wheezy auf Jessie schlägt fehl ...

nofreak

Member
Hallo in die Runde,

leider auf einem Produktivsystem ein Update gewagt (Daten sind vorher gesichert worden).

Vorgegangen nach folgender Anleitung:

https://www.howtoforge.com/tutorial/how-to-upgrade-debian-wheezy-to-jessie-stable-release/

Beim apt-get dist-upgrade (auf Jessie) kam dann folgende Meldung:

dpkg: Fehler beim Bearbeiten des Archivs /var/cache/apt/archives/php5-json_1.3.6-1_amd64.deb (--unpack):
Versuch, »/usr/include/php5/ext/json/php_json.h« zu überschreiben, welches auch in Paket php5-dev 5.5.38-1~dotdeb+7.1 ist
Fehler traten auf beim Bearbeiten von:
/var/cache/apt/archives/php5-json_1.3.6-1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Nun hängt das gesamt Update fest.

Ein apt-get -f install hilft nichts. Ein apt-get dist-upgrade bringt nun folgende Abhängigkeitsprobleme:

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Abhängigkeiten werden korrigiert ... fehlgeschlagen.
Die folgenden Pakete haben unerfüllte Abhängigkeiten:
apache2 : Hängt ab von: apache2.2-common (= 2.2.22-13+deb7u7) aber 2.4.10-10+deb8u5 ist installiert
apache2-mpm-prefork : Hängt ab von: apache2.2-common (= 2.2.22-13+deb7u7) aber 2.4.10-10+deb8u5 ist installiert
Hängt ab von: apache2.2-bin (= 2.2.22-13+deb7u7) aber 2.4.10-10+deb8u5 ist installiert
apache2.2-common : Hängt ab von: apache2 (>= 2.3~)
dpkg : Beschädigt: man-db (< 2.6.3-6~) aber 2.6.2-1 ist installiert
libapache2-mod-php5 : Hängt ab von: apache2 (>= 2.4)
Hängt ab von: php5-json ist aber nicht installiert
libapache2-svn : Hängt ab von: libapache2-mod-svn ist aber nicht installiert
libpam-ck-connector : Hängt ab von: libck-connector0 (= 0.4.6-5) aber 0.4.5-3.1 ist installiert
php5-apcu : Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
php5-cgi : Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
Hängt ab von: php5-json ist aber nicht installiert
php5-cli : Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
Hängt ab von: php5-json ist aber nicht installiert
Empfiehlt: php5-readline ist aber nicht installiert
php5-curl : Hängt ab von: phpapi-20121212 ist aber nicht installierbar
Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
php5-gd : Hängt ab von: phpapi-20121212 ist aber nicht installierbar
Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
php5-imagick : Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
php5-imap : Hängt ab von: phpapi-20121212 ist aber nicht installierbar
Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
php5-mcrypt : Hängt ab von: phpapi-20121212 ist aber nicht installierbar
Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
php5-mysql : Hängt ab von: phpapi-20121212 ist aber nicht installierbar
Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
pkg-php-tools : Hängt ab von: php5-json ist aber nicht installiert
E: Fehler: Unterbrechungen durch pkgProblemResolver::Resolve hervorgerufen; dies könnte durch zurückgehaltene Pakete verursacht worden sein.
E: Abhängigkeiten konnten nicht korrigiert werden.


Und ich hänge jetzt fest mit meiner Weisheit ...

Hat jemand Ideen, wie ich aus dieser Situation entweder:
a) Das Update fortsetzen kann
b) Das Update zurücksetzen kann?

Danke für Hilfen jedweder Art.

Gruß
Frank
 

nofreak

Member
Hallo,

ich war mal mutig:

aptitude --full-resolver upgrade

Jedenfalls tut sich was ... mal schauen wo es endet ...
 

nofreak

Member
Schonmal gut ...

im Anschluss konnte ich ein
apt-get dist-upgrade

Dann kamen Fehlermeldungen (s.o. Abhängigkeiten etc.)

Dann ein
apt-get -f install

und es läuft weiter ...

Spannung steigt ;-)
 

nofreak

Member
... so: Problem behoben ...

War ein wenig hakelig und apt-get dist-upgrade musste ein wenig häufig gestartet werden, aber die Hilfe kam wirklich über
aptitude --full-resolver upgrade

Ein paar PHP5-Module wurde nicht installiert und mussten von Hand nachinstalliert werden.
Apache2 startete dadurch nicht.

Im Anschluss war noch ein ispconfig-Update mit Reconfigure Services notwendig...

Und jetzt läuft alles ... Perfekt ...

Danke für nicht ;-) Oder fürs Zuhören - hätte ja auch anders ausgehen können.

LG
Frank
 

suther

Member
Danke für dein Selbstgespräch.
Hatte das gleiche Problem und auch aptitude --full-resolver upgrade gewagt.
Wie von dir erwähnt, sind die Abhängigkeiten danach wieder OK, nur das apache nicht startet. Er meldet:
Syntax error on line 140 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/php5.load: Cannot load /usr/lib{apache2/modules/libphp5.so into Server: /usr/lib/apache2/modlues/libphp5.so: cannot open shared object file: No such file or directory
Also habe ich erst einmal php5 installiert.
Zur auslesen der momentan installierten Module (z.B. auf dem alten Server):
Code:
aptitude search '~i php'
dann diese Module im neuen Server installieren:
Code:
aptititude install php5 php5-cgi php5-cli php5-common php5-curl php5-dev php5-fpm php5-gd php5-imageick php5-imap php5-intl php5-ldap php5-mcrypt php5-memcache php5-mysql php5-pspell php5-readline php5-recode php5-snmp php5-sqlite php5-tidy php5-xcache php5-xmlrpc php5-xsl

Danach meldet der apache2ctl restart:
AH00526: Syntax error on line 49 of /etc/apache2/mods-enabled/ssl.conf:
Invalid command 'SSLMutex', perhaps misspelled or defined by a module not included in the server configuration
Die Apache-Doku sagt hierzu:
Directives AcceptMutex, LockFile, RewriteLock, SSLMutex, SSLStaplingMutex, and WatchdogMutexPath have been replaced with a single Mutex directive. You will need to evaluate any use of these removed directives in your 2.2 configuration to determine if they can just be deleted or will need to be replaced using Mute
Also in die Datei gehen, und :
Code:
SSLMutex file:${APACHE_RUN_DIR)/ssl_mutex
gegen
Code:
Mutex default
tauschen
ein
Code:
apache2ctl restart
schien sauber zu verlaufen, daher habe ich
Code:
/usr/local/bin/ispconfig_update.sh
ausgeführt.

Lief soweit auch sauber durch. Jetzt bekomme ich leider bei meinem ISPConfig-Panel login
Forbidden - You don't have permission to access / on this server
Rufe ich eine Webseite auf, die auf dem Server liegt, erhalte ich eine ISPConfig-Fehlermedlung:
Sie besitzen nicht die erforderlichen RRechte, die angegebene URL zu öffnen.

Hast du das ggf. auch gehabt und nen Tipp, warum er plötzlich die Rechte nicht mehr hat?
 

Till

Administrator
hast Du beim update reconfigure-services = yes gemacht? wenn nicht, update nochmal und wähle diese option. ansinsten schau mal mit:

apache2ctl -S

ob apache die website vhosts überhaupt findet.
 

suther

Member
Danke für dein Feedback.
Ja, hatte reconfigure-services mit yes beantwortet.
Ich vermute, das ich im ISpconfig den Rsync machen müsste für alle Bereiche. Leider komme ich aber wie gesagt nicht in den ISPConfig rein :)
 

Till

Administrator
Schau mal in die apache2.conf Datei, dort steht recht weit am Ede ein Include fpr 'sites-enabled'. das include muss sein:

/etc/apache2/sites-enabled/

und nicht

/etc/apache2/sites-enabled/*.conf

wenn da *.conf mit drin steht, ändere das mal und starte apache neu.
 

suther

Member
Also der Include hat kein *.conf. http://cxg.de/_616929.htm
Aber in den ganzen VHost-Dateien sind diese veralteten Allow / Deny Regeln drin. Die wurden ja ersetzt gegen "Require all granted" usw. ausgetauscht.
Hatte eigentlich gehofft, das ISPConfig diese automatisch auf Apache 2.4 umschreibt, aber ich gehe davon aus, dass ich dafür die GUI brauche, oder gibt es einen weg, den Rsync via cli durchzuführen?
 

Till

Administrator
Aber in den ganzen VHost-Dateien sind diese veralteten Allow / Deny Regeln drin. Die wurden ja ersetzt gegen "Require all granted" usw. ausgetauscht.

Das sollte kein problem sein, die kannst Du mittels resync in ispconfig tauschen sobald Du wieder rein kommst. Verschiebe mal alles ausser den 000-* symlinks in /etc/apache2/sites-enabled/ in einen anderen Ordner und versuche mal ob Du dann nach einem restart ins ispconfig kommst. wenn ja, rufe Tools > resync auf, das schreibt die vhosts neu und erstellt diese symlinks neu.
 

suther

Member
Ah, habs gefunden. In /etc/apache2/sites-enabled/ war eine feste VHOST-Datei hinterlegt (kein Link) und in der waren noch die alten Allow/Deny Regeln drin.
Daher ist er da ausgestiegen.
Konnte mich nun anmelden, und hab Rsync ausgeführt. Funktioniert wunderbar. Vielen Dank für deine Hilfe Till.
 

Werbung

Top