Aus dem Alltag eines IT'lers

Seafile: Upgrade von 6.1.2 auf 6.2.2 fehlgeschlagen

Software Das Upgrade des Seafile Servers von 6.1.x auf 6.2.2 auf meinem Raspberry Pi schlug erwartungsgemäß fehl. Wie in den Anmerkungen zum Paket angegeben, nahm ich die Anpassungen in Nginx (sudo nano /etc/nginx/sites-available/seahub) vor, scheiterte dann aber beim Upgrade Befehl: upgrade_6.1_6.2.sh . Ich erhielt dabei immer nur folgende Fehlermeldung:

QUOTE:

Updating seafile/seahub database ...

[INFO] You are using SQLite3
[INFO] updating seahub database...
Traceback (most recent call last):
File "/home/.../seafile/seafile-server-6.2.1/upgrade/db_update_helper.py", line 363, in
main()
File "/home.../seafile/seafile-server-6.2.1/upgrade/db_update_helper.py", line 358, in main
db_updater.update_db()
File "/home/.../seafile/seafile-server-6.2.1/upgrade/db_update_helper.py", line 259, in update_db
super(SQLiteDBUpdater, self).update_db()
File "/home/.../seafile/seafile-server-6.2.1/upgrade/db_update_helper.py", line 120, in update_db
self.update_seahub_sql(seahub_sql)
File "/home/.../seafile/seafile-server-6.2.1/upgrade/db_update_helper.py", line 283, in update_seahub_sql
self.apply_sqls(self.seahub_db, sql_path)
File "/home/.../seafile/seafile-server-6.2.1/upgrade/db_update_helper.py", line 273, in apply_sqls
conn.execute(line)
sqlite3.OperationalError: no such table: sysadmin_extra_userloginlog

Failed to upgrade your database


Na, toll.
Also frickelte ich mir einen zurecht und passte erst die "seahub.sql" im Upgrade Verzeichnis des Pakets unter sql/6.2.0/sqlite3/ an, indem ich folgende Zeilen hinzufügte:

QUOTE:

CREATE TABLE "sysadmin_extra_userloginlog" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "username" varchar(255) NOT NULL, "login_date" datetime NOT NULL, "login_ip" varchar(128) NOT NULL);
CREATE INDEX "sysadmin_extra_userloginlog_14c4b06b" ON "sysadmin_extra_userloginlog" ("username");
CREATE INDEX "sysadmin_extra_userloginlog_28ed1ef0" ON "sysadmin_extra_userloginlog" ("login_date");


Ich speicherte die Änderungen und startete das Upgrade per sudo ./upgrade_6.1_6.2.sh erneut. Doch wieder erhielt ich die Fehlermeldung. Also machte ich mich daran, die drei Zeilen direkt in die Datenbank zu schreiben und dabei unterlief mir ein Denkfehler, denn ich bearbeitete die seahub.db im sqlite3 Verzeichnis des Upgrade Ordners. Ich erhielt erneut dieselbe Fehlermeldung, bis ich drauf kam! Die relevante und zu bearbeitende Datenbank liegt natürlich im Seafile Verzeichnis und muss, da schreibgeschützt, mit erweiterten Rechten bearbeitet werden.

Also zurück nach /home/seafile, zu root gewechselt und per nano seahub.db die Datenbank um obige drei Zeilen ergänzt. Das ganze dann gespeichert, von root wieder zum Pi User zurükgewechselt und das Upgrade ausgeführt, das nun endlich erfolgreich durchlief.

Abschließend startete ich seafile.sh und seahub.sh wieder, wobei der Start von seahub.sh nach den Änderungen in Nginx jetzt nicht mehr per ./seahub.sh start-fastcgi erfolgte, sondern nur noch per ./seahub.sh start.

Mein Client war danach auch direkt wieder verbunden, aber das Web Interface bringt mir noch eine "Bad URL in request" Meldung. Diesen Fehler muss ich jetzt im zweiten Schritt beheben. Doch soweit so gut schonmal.

No comments

Add Comment

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.
Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.
BBCode format allowed
Was ergibt 17+4 ?

Submitted comments will be subject to moderation before being displayed.