NextCloudPi: Updates von PHP7.3 auf 7.4 incl. auf Bullseye

Moin, ja ich habe diese Meldung auch und probiere seit Tagen das Upgrade mit ncp-dist-upgrade. Zuerst gab es Fehler das es Probleme in Paketen gab, Upgrade brach nach ca. 5 Min ab, reboot und das System war kaputt
 Habe es aktuell mehrmals (mit duplizierter SD-Karte) versucht, also immer den gleichen Stand der NC - jetzt kommt nach dem (sudo) ncp-dist-upgrade und BestĂ€tigung mit “y” nach 10 Sekunden Denkpause dann wieder der Prost, es passiert nix mehr


nc-update bringt noch folgenden Fehler:

Running nc-autoupdate-nc
automatic Nextcloud updates enabled
Update to bullseye available. Type ‘sudo ncp-dist-upgrade’ to upgrade
{“reqId”:“x3MOM9VKFRdKiY2GvjoV”,“level”:2,“time”:“2022-04-07T17:40:45+00:00”,“remoteAddr”:"",“user”:"–",“app”:“no app in context”,“method”:"",“url”:"–",“message”:“Temporary directory /media/myCloudDrive/ncdata/tmp is not present or writable”,“userAgent”:"–",“version”:“23.0.2.1”}
Your data directory is invalid
Ensure there is a file called “.ocdata” in the root of the data directory.

Cannot create “data” directory
This can usually be fixed by giving the webserver write access to the root directory. See https://docs.nextcloud.com/server/23/go.php?to=admin-dir_permissions

An unhandled exception has been thrown:
Exception: Environment not properly prepared. in /var/www/nextcloud/lib/private/Console/Application.php:164
Stack trace:
#0 /var/www/nextcloud/console.php(98): OC\Console\Application->loadCommands(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#1 /var/www/nextcloud/occ(11): require_once(’/var/www/nextcl
’)

  •                                                                           *
    

*Broadcast message from pi@ (pts/0) (Thu Apr 7 18:40:45 2022): *

  •                                                                           *
    

Update to bullseye available. Type ‘sudo ncp-dist-upgrade’ to upgrade

  •                                                                           *
    

ls: cannot access '/etc/php/7.4/fpm/conf.d/-opcache.ini’: No such file or directory*
ls: cannot access '/etc/php/7.4/cli/conf.d/-opcache.ini’: No such file or directory*
NextCloudPi updated to version v1.46.10

Klar, gibt ja nur php 7.3 - das ist ja der ganze Grund warum ich damit rumspiele

und die Datenplatte habe ich am Test-Raspi wÀhrend dem Test des upgrade nicht angeschlossen


Falls jemand eine Idee hat wÀre ich dankbar.

Hanz

Hallo @hanz,

Deine Zeilen sagen mir doch, mit dem Upgrade bis Mai zu warten. Ich bin unterwegs und habe dann erst die Zeitreserven mich dieser Problematik anzunehmen. Neben den beschriebenen Ausgaben, kommt bei mir noch:

wall: cannot get tty name: Unpassender IOCTL (I/O-Control) fĂŒr das GerĂ€t

Das sollte ich vorher auch noch klÀren. Halte uns/mich bitte mit Deinen Erfahrungen aktuell.

Thomas

Hallo Thomas,

ich versuche es heute NM nochmals mit einer Kopie der Karte und dem Upgrade
 berichte was sich tut


Hanz

1 Like

Hallo @hanz,

was ist der aktuelle Stand. Ich habe im Moment Schwierigkeiten mit meinem Internetzugang. Anfang Mail könnte ich loslegen und wĂŒrde gern auf Deine Erfahrungen zurĂŒckgreifen.

Viele GrĂŒĂŸe aus dem SĂŒden.

Thomas

Hallo @hanz,

man hört von Dir nichts? Ist das Upgrade erfolgreich verlaufen? Ich bin in wenigen Tagen wieder in DE und plane dann meinen Umstieg.

Thomas

Hallo, leider hat es bisher weiterhin nicht geklappt. Upgrade Befehl ( ncp-dist-upgrade) wird nach Eingabe von “y” scheinbar ausgefĂŒhrt, nach ca. 10 Sekunden kommt der prompt wieder. Upgrade erfolgte nicht. Allerdings fĂŒhre ich die Tests ohne die Datenplatte auf einem baugleichen Pi durch, da ich mir nicht die Daten zerschießen möchte. Daher funktioniert ncp-update auch auf einen Fehler → emporary directory /media/myCloudDrive/ncdata/tmp is not present or writable”

Wenn es einer mit Datenplatte versuchen möchte oder der Support / anderer User noch einen Hinweis hÀtte wÀren wir dankbar. Aktuell funktioniert das Upgrade leider nicht ! :frowning:
Hanz

Danke @hanz.

Oh-je, da bekomme ich auch Bedenken. Mir bleibt da nur ein 100%iges zweites baugleiches System zu erstellen und damit das Upgrade zu starten. Ja, dies wird sicherlich auch auf von allen Anwendern empfohlen und ist sinnvoll. Da muss erstmal ein anderer Pi frei gemacht, sprich gesichert werden, damit er zeitweise als “neues” System fungieren kann. Alles machbar, aber die Zeit.

Nun ja, den Weg werde ich wahrscheinlich im Mail gehen mĂŒssen. Alles schön in einzelnen Prozessschritten und ohne Hektik. Wird dann Tage brauchen.

Hat ein anderer Anwender noch wichtige Informationen zum Upgrade?

Vielen Dank.

Thomas

Hi Ixto,

hĂ€ttest du ggf. noch einen Tipp fĂŒr uns ? meine BemĂŒhungen das NCP nur mit der Uni-Karte (ohne Daten-Platte fĂŒr NXP am Raspi) zu versuchen funktioniert irgendwie nicht. Hab gerade kein 5 TB Platte frei um einen komplett Klone zu bauen. Dachte das NCP-Upgrade geht auch ohne Datenplatte
 aber das NCP hat auf der Daten-Platte ja doc noch Files abgelegt

Noch eine Idee wie man es ohne komplett Cloning umgehen kann ?
Thx
Hanz

Guten Morgen zusammen,

ich habe jetzt gestern auch die Info bekommen mit dem Updaten von PHP 7.3.31-1~deb10u1.

System:
NextCloudPi version v1.47.2
Nextcloud Hub II 23.0.4
PHP 7.3.31-1~deb10u1

Habe jetzt zwar eine Anleitung im Netz gefunden, jedoch nachdem ich hier das gelesen habe soll es ja noch ein paar Probleme geben.

https://schroederdennis.de/tutorial-howto/nextcloud-php-7-x-update-zu-php-8-0-schritt-fuer-schritt/

Gibt es schon neue Infos?
Thx

Edit:
Hat einer schon probiert direkt auf Bullseye upzudaten?
https://linuxnews.de/2021/11/raspberry-pi-os-auf-bullseye-aktualisieren/

Edit2:
Hab heute mal das Update auf Bullseye gefahren. Das gute is 
 der Zugriff per SSH geht. Was nicht geht is der Zugriff per Browser (Internes Netzwerk):

<?php

/**

*/
require_once DIR . ‘/lib/versioncheck.php’;

try {
require_once DIR . ‘/lib/base.php’;

OC::handleRequest();

} catch (\OC\ServiceUnavailableException $ex) {
\OC::$server->getLogger()->logException($ex, [‘app’ => ‘index’]);

//show the user a detailed error page
OC_Template::printExceptionErrorPage($ex, 503);

} catch (\OCP\HintException $ex) {
try {
OC_Template::printErrorPage($ex->getMessage(), $ex->getHint(), 503);
} catch (Exception $ex2) {
try {
\OC::$server->getLogger()->logException($ex, [‘app’ => ‘index’]);
\OC::$server->getLogger()->logException($ex2, [‘app’ => ‘index’]);
} catch (Throwable $e) {
// no way to log it properly - but to avoid a white page of death we try harder and ignore this one here
}

	//show the user a detailed error page
	OC_Template::printExceptionErrorPage($ex, 500);
}

} catch (\OC\User\LoginException $ex) {
$request = \OC::$server->getRequest();
/**
* Routes with the @CORS annotation and other API endpoints should
* not return a webpage, so we only print the error page when html is accepted,
* otherwise we reply with a JSON array like the SecurityMiddleware would do.
*/
if (stripos($request->getHeader(‘Accept’), ‘html’) === false) {
http_response_code(401);
header(‘Content-Type: application/json; charset=utf-8’);
echo json_encode([‘message’ => $ex->getMessage()]);
exit();
}
OC_Template::printErrorPage($ex->getMessage(), $ex->getMessage(), 401);
} catch (Exception $ex) {
\OC::$server->getLogger()->logException($ex, [‘app’ => ‘index’]);

//show the user a detailed error page
OC_Template::printExceptionErrorPage($ex, 500);

} catch (Error $ex) {
try {
\OC::$server->getLogger()->logException($ex, [‘app’ => ‘index’]);
} catch (Error $e) {
http_response_code(500);
header(‘Content-Type: text/plain; charset=utf-8’);
print(“Internal Server Error\n\n”);
print(“The server encountered an internal error and was unable to complete your request.\n”);
print(“Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.\n”);
print(“More details can be found in the webserver log.\n”);

	throw $ex;
}
OC_Template::printExceptionErrorPage($ex, 500);

}

Leider bekomme ich den Fehler nicht weg? Hat jemand eine Lösung?

Hallo zusammen, leider “hĂ€ngt” es bei mir auch weiterhin mit dem PHP Update bzw. dem Upgrade aus der bestehenden Version des Raspi-OS ohne Neuinstallation. Hat jemand in der Zwischenzeit einen Erfolg bzw. eine nutzbare Anleitung gefunden / erstellt ?

Thx
Hanz

Nuer Versuch heute unternommen, leider wieder fehlgeschlagen: nach:

sudo ncp-dist-upgrade:



The following packages were automatically installed and are no longer required:
libgd3 libsmbclient libsodium23 libxpm4 libxslt1.1 libzip4 php7.3-readline ttf-dejavu-core
Use ‘sudo apt autoremove’ to remove them.
The following packages will be REMOVED:
php7.3-mysql*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 355 kB disk space will be freed.
(Reading database 
 48646 files and directories currently installed.)
Removing php7.3-mysql (7.3.31-1~deb10u1) 

(Reading database 
 48633 files and directories currently installed.)
Purging configuration files for php7.3-mysql (7.3.31-1~deb10u1) 

Reading package lists
 Done
Building dependency tree
Reading state information
 Done
Note, selecting ‘php-redis’ instead of ‘php7.3-redis’
The following packages were automatically installed and are no longer required:
libgd3 libsmbclient libsodium23 libxpm4 libxslt1.1 libzip4 php7.3-readline ttf-dejavu-core
Use ‘sudo apt autoremove’ to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists
 Done
Building dependency tree
Reading state information
 Done
Note, selecting ‘php7.3-common’ instead of ‘php7.3-exif’
The following packages were automatically installed and are no longer required:
libgd3 libsmbclient libsodium23 libxpm4 libxslt1.1 libzip4 php7.3-readline ttf-dejavu-core
Use ‘sudo apt autoremove’ to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists
 Done
Building dependency tree
Reading state information
 Done
The following packages were automatically installed and are no longer required:
libgd3 libsmbclient libsodium23 libxpm4 libxslt1.1 libzip4 php7.3-readline ttf-dejavu-core
Use ‘sudo apt autoremove’ to remove them.
The following packages will be REMOVED:
php-bcmath* php7.3-bcmath*
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
After this operation, 68.6 kB disk space will be freed.
(Reading database 
 48633 files and directories currently installed.)
Removing php-bcmath (2:7.3+69) 

Removing php7.3-bcmath (7.3.31-1~deb10u1) 

(Reading database 
 48621 files and directories currently installed.)
Purging configuration files for php7.3-bcmath (7.3.31-1~deb10u1) 

Reading package lists
 Done
Building dependency tree
Reading state information
 Done
The following packages were automatically installed and are no longer required:
libgd3 libsmbclient libsodium23 libxpm4 libxslt1.1 libzip4 php7.3-readline ttf-dejavu-core
Use ‘sudo apt autoremove’ to remove them.
The following packages will be REMOVED:
php7.3-gmp*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 85.0 kB disk space will be freed.
(Reading database 
 48621 files and directories currently installed.)
Removing php7.3-gmp (7.3.31-1~deb10u1) 

(Reading database 
 48612 files and directories currently installed.)
Purging configuration files for php7.3-gmp (7.3.31-1~deb10u1) 

Reading package lists
 Done
Building dependency tree
Reading state information
 Done
Note, selecting ‘php-imagick’ instead of ‘php7.3-imagick’
The following packages were automatically installed and are no longer required:
libgd3 libsmbclient libsodium23 libxpm4 libxslt1.1 libzip4 php7.3-readline ttf-dejavu-core
Use ‘sudo apt autoremove’ to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Get:1 Index of /debian bullseye InRelease [23.7 kB]
Get:2 Index of /raspbian bullseye InRelease [15.0 kB]
Get:3 Index of /raspbian bullseye/main armhf Packages [13.2 MB]
Get:4 Index of /debian bullseye/main armhf Packages [279 kB]
Get:5 Index of /raspbian bullseye/contrib armhf Packages [60.2 kB]
Get:6 Index of /raspbian bullseye/non-free armhf Packages [106 kB]
Get:7 Index of /raspbian bullseye/rpi armhf Packages [1,360 B]
Fetched 13.7 MB in 7s (2,038 kB/s)
Reading package lists
 Done
Reading package lists
 Done
Building dependency tree
Reading state information
 Done

erst wurde PHP7.3 deinstalliert, dann Bullseye geladen und dann:


Calculating upgrade
 Error!

Some packages could not be installed. This may mean that you have

requested an impossible situation or if you are using the unstable

distribution that some required packages have not yet been created

or been moved out of Incoming.

The following information may help to resolve the situation:

The following packages have unmet dependencies:

libc6-dev : Breaks: libgcc-8-dev (< 8.4.0-2~) but 8.3.0-6+rpi1 is to be installed

E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Something went wrong. Fix it and try again

Hat jemand hier einen Hinweis ? / Abhilfe / Fixe ?

Thx
Hanz

Guten Morgen Hanz,

leider habe ich auch noch keine Lösung gefunden.
Bevor ich ein Update versucht habe, hatte ich zum GlĂŒck noch nen *.dd gezogen, was ich nach der Fehlermeldung wieder zurĂŒckgespielt habe.

Mittlerweile zeigt es mir auf meiner Version diese Meldung an.
Ich warte jetzt einfach mal ab. Vielleicht erscheint auch mal nen Update mit dem alles bereinigt wird in der NC.
Oder mir das irgendwann so auf den S
 geht, das ich das Ding komplett neu aufsetze.

Gruß Rookie

Hallo @hanz , hallo @Rookie,

da es hier im Thread nicht vorwÀrts geht, möchte ich mich zumindest melden. Viel beitragen kann ich nicht. Mein Upgrade auf Bullseye incl. php verlief problemlos. Im Nachgang gab es einige Kleinigkeiten der Anpassung. Die NC lÀuft jetzt problemlos auf meinem Pi.

Wenn ich die Ausgabe richtig lese, ist es doch nur ein Punkt der Probleme macht:

libgcc-8-dev (< 8.4.0-2~) but 8.3.0-6+rpi1 is to be installed

Bei einer kurzen Recherche im Web findet man Hinweise bezĂŒglich dieser Ausgabe, wenn auch nicht die korrekte Version.

Die Lösung war:

sudo apt install gcc-8-base

Ich bin aber kein Spezialist darin und wĂŒrde Dir empfehlen der Recherche noch nĂ€her nachzugehen bevor Du zur Lösung/ Umsetzung schreitest.

Ich habe hier nur ein Handy und bin gerade in Portugal.

Lass uns Deine Erfahrungen und Ergebnisse der Recherche hier teilhaben.

Viele GrĂŒĂŸe

Thomas

Danke @dtb fĂŒr deinen schnellen Beitrag :wink:

Habe heute morgen den ersten Kampf gegen meine Provider/V-Server erst einmal gewonnen. War schon eine Herausforderung herauszufinden das mein Provider mir fĂŒr die NC ne neue IP zugewiesen hat.
Und da kommen wir zum PUNKT 
 fehlersuche ist genau mein Ding (hier kann Spuren von Sarkasmus enthalten sein) :sweat_smile:

Gerne werde ich 
 wenn ich wieder Zeit habe mich damit mal wieder beschÀftigen.

Gebe hier gerne wieder Feedback ĂŒber Misserfolg und Erfolg.

Gruß Rookie

Hallo Rookie,

bei mir hat geholfen libapache2-mod-php7.4 wie in unten stehendem Link beschrieben neu zu installieren.

Nach dem dist-upgrade wurden einige packeges nicht richtig installiert. die können per Hand entfernt werden und dann das dist-upgrade neu ausfĂŒhren.

Viele GrĂŒĂŸe Hakatri

Bin gerade beim 3. Anlauf diesen Upgrade durchzufĂŒhren - bisher nur Teilerfolg

Schritt 1 - auf einer Kopie arbeiten

  • Kopie der SD Karte vom Produktiv System mittels dd oder dc3dd (wenn man Fortschritt sehen will)
  • Kopie der Nextcloud Daten (auf externer Festplatte) mittels rsync

Schritt 2 - verhindern das ncp-dist-upgrade wegen Fehler abbricht

  • Aufgrund einer anderen Konfiguration in bullseye versucht das Skript auf die Datei
    /etc/systemd/system/dhcpcd.service.d/wait.conf zuzugreifen.
  • Diese war bei mir nicht vorhanden. Wird aber erzeugt ĂŒber
    raspi-config.

Schritt 3 - ausfĂŒhren von ncp-dist-upgrade -inklusive Abbruch wegen gcc-8-base

  • AusfĂŒhren von ncp-dist-upgrade mit Fehler Abbruch im Skript
  • Anschliessend erst sudo apt install gcc-8-base
  • Beim erneuten ausfĂŒhren von ncp-dist-upgrade passiert anscheinend nichts mehr

Schritt 4 - Sicherstellen das der komplette Bullseye Upgrade geladen wurde

  • sudo apt update
  • sudo apt upgrade
  • sudo apt full-upgrade
  • sudo apt autoremove
  • sudo reboot

Schritt 5 - testen ob es wirklich noch lÀuft

  • Neu einloggen - bei mir ĂŒber ssh
  • System Version prĂŒfen mit lsb_relase -a und da kommt dann hoffentlich bei euch auch

root@raspi111:/home/pi# lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye

Schritt 6 - Nextcloud testen

  • Externe Nextcloud Festplatte wieder mounten
  • Web Server neu starten systemctl start apache2
    *Ergebnis
 Nextcloud zeigt nur php Code an der nicht als Seite dargestellt wird

Schritt 7 - mit ncp-config neue Nextcloud Version einspielen
(das ist gerade mein aktueller Versuch der noch nicht fertig ist
 Erstmal Pause
 :wink:
Weitere Infos folgen


Schritt 8 - aufgegeben

  • aktuell komplette Neuinstallation der NextcloudPi Version auf dem Bullseye System mit anschliessendem Backup (mal sehen ob das so klappt)

CUT — kurze Zusammenfassung wie ich es es letztendlich gelöst habe

  • Neuinstallation ĂŒber rpi-imager auf Bullseye 64 bit. Dies ist mittelfristig sowieso erforderlich,
    da die neuen Nextcloud Versionen nur noch 64 bit unterstĂŒtzen.
  • Dort bei der Konfiguration wieder den Standardnutzer pi anlegen. Zudem ssh aktivieren und
    den root User mit password versehen.
  • Nextcloud einfach stumpf komplett neu installieren. Die Docker Version habe ich verworfen, ist
    zwar schnell installiert, aber ich hatte Probleme meine externe Festplatte dort vernĂŒnftig anzubinden. Dementsprechend also NextcloudPi direkt installiert. Anleitung dazu siehe
    https://www.heise.de/tipps-tricks/Nextcloud-auf-dem-Raspberry-Pi-so-geht-s-4363735.html
  • Meinen Standard User auf dieser Nextcloud anlegen.
  • Kopie meiner Daten mittels rsync von der alten Cloud auf die neue Cloud. Um Berechtigungen mitzunehmen habe ich hierfĂŒr den ssh Login fĂŒr root kurzfristig eingeschaltet. Bei mir sah
    dann der Befehl folgendermaßen aus (dabei bin ich auf der alten Cloud entsprechend eingeloggt
    und im Datenverzeichnis vom user):

rsync -rutl --delete --progress -v files/* root@192.168.2.112://mnt/nextcloud/ncdata/data/user/files

  • Final die eingespielten Daten in der Datenbank eintragen lassen ĂŒber ncp-config und dort die
    Files des Users komplett einscannen.
  • Kontakte - können direkt aus der Nextcloud exportiert bzw. auch wieder importiert werden
  • Termine - können direkt aus der Nextcloud exportiert bzw. auch wieder importiert werden

Kurze ErgÀnzung warum ich den Weg Neuinstallation gegangen bin

  • dist-upgrade funktioniert (zumindest nach meiner Kenntnis) nicht fĂŒr den Upgrade von 32 auf 64 bit
  • Verwendung von docker war schwierig, da ich die Anforderung habe die Nextcloud auf einer mit LUKS verschlĂŒsselten Festplatte zu legen. Damit konnte ich nicht einfach den gesamten Docker Pfad als USB Festplatte dran hĂ€ngen - hatte ich getestet mit dem anhĂ€ngen der Festplatte als Pfad /var/lib/docker und einer unverschlĂŒsselten Platte - da funktioniert das einwandfrei. Aber mit dem nachtrĂ€glichen mounten eines verschlĂŒsselten Volumes => hĂ€ngte sich docker auf.
  • DatenĂŒbertragung mittels rsync erfolgte, weil das integrierte Backup Tool von nextcloudpi (das ist das was ich verwende) den restore von Nextcloud Version 23 auf die Version 25 nicht hinbekam.

Gesamtfazit - Jetzt lÀufts wieder perfekt
 :slight_smile:

Das kann ein Zeichen dafĂŒr sein, dass die Installation von PHP bzw. die Verbindung zwischen PHP und Webserver nicht korrekt vorgenommen. wurde.

Ist z. B. das Paket libapache2-mod-php installiert?
Wurde PHP aktiviert a2enmod php7.4 und Apche2 neu gestartet oder neu geladen?

NextcloudPi vs. Standardinstallation
Vielleicht ist es sinnvoll mal die Standardinstallation durchzufĂŒhren. Ich denke damit können Fehler dann vielleicht besser erkannt werden. Man benötigt zwar mehr Wissen, spart jedoch eine zusĂ€tzliche Softwareumgebung und damit Fehlerquelle.

Danke fĂŒr den Hinweis

zwischenzeitlich habe ich noch diverse andere Sachen probiert und den fĂŒr mich besten und schnellsten Weg inzwischen gefunden


Habe ich entsprechend oben an meinen Erfahrungsbericht dran gehangen - sprich das entspricht schon deiner Empfehlung
 :wink:

Naja vielleicht nicht ganz. Auf dem Pi gibt es diverse Möglichkeiten der Installation einer Nextcloud. NatĂŒrlich ist NextcloudPi eine Möglichkeit und die ist auch bestimmt nicht schlecht. Aber ich denke man kann auch z. B. AIO (wobei Docker hast du ja verworfen) oder auch manuell auf dem Pi installieren. Wobei ich habe nicht mal einen Pi. :wink: