Nextcloud Update schlägt fehl

Pyrukar

Captain
Registriert
Jan. 2013
Beiträge
3.855
Hallo zusammen,

ich habe seit ein paar Tagen das Problem dass sich meine Nextcloud nichtmehr über die Windows oder Android F-Droid App ansteuern lässt da die Serverversion zu alt ist. Online funktioniert soweit erstmal noch wie gewohnt. Aber mein NAS auf dem die Nextcloud läuft ist ein DS219J und somit noch ein 32bit Prozessor. Nextcloud meckert schon, dass es in zukunft einen 64bit Prozessor / OS benötigt "to run well" (grundsätzlich genügt mir die Leistung aber durchaus, da ich sowieso eigentlich nur Daten Synchonisiere und Ablade)

Zu allem Überfluss bekomme ich beim versuch ein Auto Update zu machen folgende Fehlermeldung:

Check for expected files
The following extra files have been found:
  • @eaDir

Ich habe meine DS bereits mit allen verfügbaren Updates auf den Neusten Stand gebracht. aber das hat am Problem nix geändert.


ich hab mal ein bisschen zu dem Update Problem gegoogelt und folgendes gefunden:
https://help.nextcloud.com/t/update-problem-the-following-extra-files-have-been-found/173956

Ich hab entsprechend mal das Config.php angehängt ... @Mods ich habe zwar hoffentlich alle Privaten Daten mit *** ersetzt, wenn mir aber etwas durchgerutscht ist gerne den Codeblock löschen.
PHP:
<?php
$CONFIG = array (
  'instanceid' => '***',
  'passwordsalt' => '***',
  'secret' => '***',
  'trusted_domains' =>
  array (
    0 => '***',
    1 => '***',
    2 => 'cloud.***.de',
  ),
  'datadirectory' => '/volume1/nextcloud-data',
  'dbtype' => 'mysql',
  'version' => '27.1.9.1',
  'overwrite.cli.url' => 'https://192.168.0.106:5050',
  'dbname' => '***',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => '***',
  'dbpassword' => '***',
  'installed' => true,
  'updater.secret' => '***',
  'maintenance' => false,
  'theme' => '',
  'loglevel' => 2,
  'mail_smtpmode' => 'smtp',
  'mail_smtpsecure' => 'ssl',
  'mail_sendmailmode' => 'smtp',
  'mail_smtpauth' => 1,
  'mail_from_address' => 'nc',
  'mail_domain' => '***',
  'mail_smtphost' => '***',
  'mail_smtpport' => '***',
  'mail_smtpname' => '*** ',
  'mail_smtppassword' => '***',
);

Jetzt meine Frage: ist das wirklich die Selbe Problemlösung wie in dem Beitrag und bringt mir ein Update auf 27.1.11 überhaupt etwas um meine NC wieder für die Apps erreichbar zu bekommen?
Wie lange kann ich das jetztige 32bit System überhaupt noch sinnvoll nutzen? bzw. brauche ich jetzt schon direkt ein neues NAS?
Wie viel aufwand ist es Schätzungsweise das Problem zu lösen und wäre es eine Valide Option einfach eine Alte Version der Apps zu suchen um vorübergehend zumindest wieder eine Sync mit dem PC / Android herzustellen? Gibts die Alten Apps irgendwo die meine NC Server Version noch unterstützen?
 
Kannst du auf das Verzeichnis der Nextcloud auf deinem NAS zugreifen?
Der Updater erwartet dort nicht, dass dieser Ordner dort existiert, wenn du diesen Ordner verschieben/löschen kannst, geht der Updater durch.
 
Ikebana schrieb:
Kannst du auf das Verzeichnis der Nextcloud auf deinem NAS zugreifen?
Ja klar, aber entweder bin ich blind bzw. suche nach der Falschen Datei oder die Datei existiert gar nicht und der Updater sieht gespenster. Wo müsste ich die Datei denn finden und wie heist sie korrekt @eaDir habe ich nirgends gefunden.
 
Was vielleicht noch Interessant ist: Die Daten liegen auf Volume 1 einer Datengrab HDD während die Installation selbst auf einer ca 100gb SSD liegen die ich nicht mehr anderweitig gebraucht habe.
Ergänzung ()

@madmax2010 bin gerade auf Windows unterwegs ... und greife nur über die Synology DiskStation Web oberfläche auf das System zu. Kann ich da irgendwo direkt diese Comands ausführen oder muss ich mich mittels SSH mit dem Windows terminal dort einwählen?
 
Zuletzt bearbeitet:
Pyrukar schrieb:
Zu allem Überfluss bekomme ich beim versuch ein Auto Update zu machen folgende Fehlermeldung:
Hier schreibt jemand zu dem Fehler mit der Datei @eaDir:
Those are hidden system files of Synology DSM and that’s why they are not displayed on the Synology filebrowser.
But Nextcloud will see these files anyway, as long as you don’t tell Synology not to do so.
Als Lösung hat der Fragesteller folgenden Befehl angegeben:
find /volume1/docker/nextcloud -type d -name “@eaDir” -print0 | xargs -0 rm -rf
Den Pfad müsstest du na klar an dein System anpassen.
 
@rarp wo kann ich den Befehl eingeben ... geht das irgendwo direkt in der Web Oberfläche der DiscStation oder nur im Windows cmd via ssh verbindung.
 
@Pyrukar Ich kenne deine Web-Oberfläche nicht, würde mich aber eh über ssh einloggen und den Befehl in der Shell eingeben. Nicht vergessen, den Pfad anzupassen.

EDIT:
Nur zur Info: @eaDir ist ein Ordner, keine Datei. Im Befehl steht ja auch -type d (d=directory).
 
Zuletzt bearbeitet:
@rarp das Problem müsste ja eigentlich auf dem Installationsverzeichnis liegen also dort wo auch die config/config.php zu finden ist den Pfad dazu muss ich doch angeben, korrekt?

Ich bin jetzt, da ich gerade auf Windows bin und soweit ich weis SSH mit Windows bordmitteln nicht so einfach ist habe ich das versucht über die aufgabenplanung der Synology oberfläche zu lösen, leider ohne erfolg ... ich boote nacher mal in Linux und versuche das über ssh zu machen, vielleicht funktioniert das besser. jetzt muss ich aber erstmal etwas anderes machen.
 
Pyrukar schrieb:
Kann ich da irgendwo direkt diese Comands ausführen oder muss ich mich mittels SSH mit dem Windows terminal dort einwählen?
ja, via ssh waere der korrekte weg..

mindestens mit WSL kann windows ssh inzwischen ganz passabel
 
@Pyrukar Ich habe den Befehl eben unter openSUSE/WSL ausprobiert und einen Fehler bemerkt:
Im von der Website kopierten Befehl werden typografische Anführungszeichen verwendet, es müssen aber gerade AFZ sein (“@eaDir” vs "@eaDir").
Hier der korrigierte Befehl:
find /volume1/docker/nextcloud -type d -name "@eaDir" -print0 | xargs -0 rm -rf
 
rarp schrieb:
Hier der korrigierte Befehl:
Verdammt, das war der Fehler ... Update Läuft gerade

ich habe es außerdem letztlich doch ohne ssh gemacht ... einfach in der Weboberfläche Systemsteuerung Aufgabenplanung den Befehl eintragen und ausführen ... da ich sowieso nur Nextcloud auf dem Volumen 2 habe habe ich das auch ganz einfach über das gesamte volume2 laufen lassen. Vielen Dank an @rarp und natürlich auch an @madmax2010 für euren Imput.
 
  • Gefällt mir
Reaktionen: rarp
@rarp @madmax2010 das update auf 27.1.11 ist problemlos durchgelaufen aber hat mir gleich ein Update auf 28.0.14 angeboten. Das update selbst ist auch durchgelaufen, aber beim Aktualisieren kommt dann die Meldung "es ist ein Fehler aufgetreten" und die NC bleibt im maintainance Mode hängen. Zwar kann man sich aus dem Maintainance Mode über das Ändern der Config datei befreien, aber das bringt mich leider nur an den Anfang der Aktualisierung zurück ...

Auf der Aktualisierungsseite gibts dann noch den Hinweis:
Zur Vermeidung von Zeitüberschreitungen bei größeren Installationen kannst du stattdessen den folgenden Befehl in deinem Installationsverzeichnis ausführen:
./occ upgrade
aber wenn ich den Befehl über ssh versuche auszuführen bekomme ich leider nur ein permission denied.

irgendwelche Ideen?

Edit:

1741987075532.png


wenn man auf Seite Neuladen geht landet man im Maintainance Modus Fehlermeldung.
 
Pyrukar schrieb:
Auf der Aktualisierungsseite gibts dann noch den Hinweis:
Zur Vermeidung von Zeitüberschreitungen bei größeren Installationen kannst du stattdessen den folgenden Befehl in deinem Installationsverzeichnis ausführen:
./occ upgrade
Pyrukar schrieb:
aber wenn ich den Befehl über ssh versuche auszuführen bekomme ich leider nur ein permission denied.
Ich hab NC eben gerade von 30.0.5 auf 30.0.7 aktualisiert und bin folgendermaßen vorgegangen:
  • SSH-Sitzung zum Host geöffnet und ins NC-Verzeichnis gewechselt.
  • Im Browser das Update gestartet. Folgendes Fenster erscheint nach einiger Zeit:
Bildschirmfoto_20250314_224211.png

  • Das Fenster ignoriere ich und wechsele nun ins Terminal mit der geöffneten SSH-Sitzung. Dort gebe ich den Befehl php occ upgrade ein. Wenn du nicht als Webserver-Nutzer eingeloggt bist, wirst du u.U. sudo -u <webserver-nutzer> php occ upgrade eingeben müssen.
    Im Terminal sieht die Ausgabe dann so aus:
Bash:
$ php occ upgrade
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Setting log level to debug
Turned on maintenance mode
Updating database schema
Updated database
Updating <theming> ...
Updated <theming> to 2.6.0
Updating <app_api> ...
Updated <app_api> to 4.0.6
Update app calendar from App Store
Update app contacts from App Store
Update app mail from App Store
Restore default tags that are missing

 Done
    0/0 [->--------------------------]   0%
Purify and migrate collected mail addresses
 Done
    0/0 [----->----------------------]   0%
Insert background jobs for all accounts
 Done
    0/0 [--------->------------------]   0%
Update app spreed from App Store
Starting code integrity check...
Finished code integrity check
Update successful
Turned off maintenance mode
Resetting log level
NC im Browser neu laden, das war's.
 
  • Gefällt mir
Reaktionen: madmax2010
@rarp
hmm, irgendwas scheint bei mir schief zu laufen :( kann jemand was hier raus lesen?


Code:
/volume2/web_nextcloud$ php occ upgrade
An unhandled exception has been thrown:
Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: could not find driver in /volume2/web_nextcloud/lib/private/DB/Connection.php:150
Stack trace:
#0 /volume2/web_nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1654): OC\DB\Connection->connect()
#1 /volume2/web_nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1081): Doctrine\DBAL\Connection->getWrappedConnection()
#2 /volume2/web_nextcloud/lib/private/DB/Connection.php(271): Doctrine\DBAL\Connection->executeQuery('SELECT * FROM `...', Array, Array, NULL)
#3 /volume2/web_nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php(341): OC\DB\Connection->executeQuery('SELECT * FROM `...', Array, Array, NULL)
#4 /volume2/web_nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php(377): Doctrine\DBAL\Query\QueryBuilder->executeQuery()
#5 /volume2/web_nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php(280): Doctrine\DBAL\Query\QueryBuilder->execute()
#6 /volume2/web_nextcloud/lib/private/AppConfig.php(440): OC\DB\QueryBuilder\QueryBuilder->execute()
#7 /volume2/web_nextcloud/lib/private/AppConfig.php(206): OC\AppConfig->loadConfigValues()
#8 /volume2/web_nextcloud/lib/private/AppConfig.php(396): OC\AppConfig->getApps()
#9 /volume2/web_nextcloud/lib/private/App/AppManager.php(128): OC\AppConfig->getValues(false, 'enabled')
#10 /volume2/web_nextcloud/lib/private/App/AppManager.php(149): OC\App\AppManager->getInstalledAppsValues()
#11 /volume2/web_nextcloud/lib/private/legacy/OC_App.php(231): OC\App\AppManager->getInstalledApps()
#12 /volume2/web_nextcloud/lib/private/AppFramework/Bootstrap/Coordinator.php(90): OC_App::getEnabledApps()
#13 /volume2/web_nextcloud/lib/base.php(700): OC\AppFramework\Bootstrap\Coordinator->runInitialRegistration()
#14 /volume2/web_nextcloud/lib/base.php(1200): OC::init()
#15 /volume2/web_nextcloud/console.php(48): require_once('/volume2/web_ne...')
#16 /volume2/web_nextcloud/occ(11): require_once('/volume2/web_ne...')
 
@madmax2010 @rarp okay, ich muss gestehen da bin ich dann etwas überfragt wie der korrekte User heißt. Irgend eine Idee wie ich das rausbekommen kann, oder kann ich das zumindest trial and error herausfinden?

rarp schrieb:
sudo -u <webserver-nutzer> php occ upgrade
nehmen wir mal an, der account mit dem ich mich per ssh angemeldet habe heißt User, der User der die NC aufzieht heis nextcloud (wie gesagt keine ahnung atm). würde dann der Befehl korrekt heißen:
Code:
sudo -u nextcloud php occ upgrade
 
Code:
sudo -u www-data php /var/www/nextcloud/updater/updater.phar --no-backup

Also Normal heißt der User www-data, das der Standard.

Mit dem oberen Befehl klappt's bei mir.

Und erst danach dann
Code:
sudo -u www-data php /var/www/nextcloud/occ upgrade


Die Pfadangabe musst du natürlich anpassen.


Schau mir hier
 
... verdammt www-data ist bei mir : Unknown user ... kann ich mir irgendwie alle User auf dem Server auslesen und sie durchprobieren, denn anscheinend habe ich da ja was anderes eingegeben beim setup, aber das ist leider zu lange her, daran erinnere ich mich nicht mehr :(
 
Zurück
Oben