OmniDB-Konfigurationstool
Hinweis: Das eigenständige CLI-Dienstprogramm omnidb-config/omnidb-config-app/omnidb-config-server, das auf dieser Seite beschrieben wird, gehörte zum vorherigen Python/Django-basierten Build und ist nicht Teil der aktuellen Veröffentlichung. Die einzelne omnidb-server-Binärdatei akzeptiert nur eine Handvoll Kommandozeilenoptionen: -A/--app (Desktop-App-Modus), -H/--host (Lauschadresse), -p/--port (Lauschport), -d/--homedir (Home-Verzeichnis wählen) und --set-password (Passwort eines Benutzers setzen, siehe unten) — alle beschrieben im Abschnitt Kommandozeilenoptionen von omnidb-server bereitstellen. Eine Konfigurationsdatei gibt es nicht. Die Wartungsaufgaben, die das alte Tool bot, können weiterhin manuell erledigt werden, wie unten beschrieben.
Home-Verzeichnis
OmniDB speichert alles — die omnidb.db-Datenbank (Benutzer, Verbindungen und andere App-Daten) und einen temp-Ordner für exportierte Dateien — in einem einzigen Home-Verzeichnis. Standardmäßig ist dies ~/.omnidb/omnidb-app (Desktop-Modus) oder ~/.omnidb/omnidb-server (Server-Modus); verwenden Sie -d /irgendein/pfad, um ein anderes zu wählen (das Verzeichnis muss bereits existieren). Bietet das Betriebssystem keinen Geheimnisspeicher für den Verschlüsselungsschlüssel gespeicherter Passwörter, enthält dasselbe Verzeichnis auch diesen Schlüssel, in der Datei .connection_secret_key — siehe Sicherheit und Mehrbenutzer-Server. Wenn Sie omnidb.db sichern oder verschieben, nehmen Sie diese Datei mit.
Benutzer erstellen
Derzeit gibt es keine CLI-Option, um einen Benutzer ohne Öffnen von OmniDB zu erstellen. Beim ersten Start mit einem leeren Home-Verzeichnis erstellt OmniDB automatisch einen Standard-Superuser admin — im Server-Modus mit einem Zufallspasswort, das einmalig in die Log-Ausgabe des Servers geschrieben wird (die Zeile mit initial login: admin / …). Melden Sie sich damit an und erstellen Sie weitere Benutzer unter Einstellungen > Konto > Benutzer verwalten, oder ändern Sie das Passwort unter Einstellungen > Passwort.
Passwort setzen oder zurücksetzen
Wenn das einmalige anfängliche admin-Passwort verloren gegangen ist (oder Sie vor der ersten Anmeldung ein eigenes festlegen möchten), können Sie das Passwort jedes vorhandenen Benutzers direkt in der App-Datenbank setzen, ohne den Server zu starten:
user@machine:~$ omnidb-server --set-password admin
user@machine:~$ omnidb-server --set-password admin -d /path/to/homedir
Ohne -d wird das Standard-Home-Verzeichnis des Servers (~/.omnidb/omnidb-server) verwendet. In einem Terminal wird das neue Passwort zweimal ohne Anzeige abgefragt; andernfalls wird es aus der ersten Zeile der Standardeingabe gelesen, was sich für Skripte eignet:
user@machine:~$ printf '%s\n' "$PW" | omnidb-server --set-password admin
Das Passwort wird nie als Kommandozeilenargument übergeben, sodass es weder in der Ausgabe von ps noch im Shell-Verlauf auftaucht. Es muss mindestens 8 Zeichen lang sein, und der Benutzer muss bereits existieren. Zusammen mit -A wird die Option abgelehnt — die Desktop-App meldet sich automatisch an und hat kein Passwort, das verwaltet werden müsste. Sie kann auch bei laufendem Server ausgeführt werden: Das neue Passwort gilt sofort für neue Anmeldungen, bereits angemeldete Benutzer bleiben angemeldet, bis ihre Sitzung abläuft oder der Server neu gestartet wird.
Vakuumieren
OmniDB hat eine einzige SQLite-Datenbank, omnidb.db, die alle Benutzer, Verbindungen und andere OmniDB-bezogene Daten speichert. Da es sich um eine einfache SQLite-Datei handelt, können Sie sie mit jedem SQLite-Client vakuumieren, während OmniDB nicht läuft, z. B.:
user@machine:~$ sqlite3 ~/.omnidb/omnidb-app/omnidb.db 'VACUUM;'
Datenbank zurücksetzen
Wenn Sie alle OmniDB-Informationen löschen und eine saubere Datenbank wie bei der Neuinstallation erhalten möchten, beenden Sie OmniDB und löschen Sie die Datei omnidb.db im Home-Verzeichnis (oder verschieben Sie sie zur Seite). Eine neue, leere Datenbank — mit einem frischen Standard-Benutzer admin (im Server-Modus mit einem neu erzeugten, einmalig ins Log geschriebenen Passwort) — wird automatisch beim nächsten Start von OmniDB erstellt. Gehen Sie dabei vorsichtig vor: Dieser Vorgang kann nicht rückgängig gemacht werden.
Temporäre Dateien löschen
Exportierte Abfrageergebnisse (CSV/XLSX/usw.) werden in den temp-Ordner innerhalb des Home-Verzeichnisses geschrieben. Es ist sicher, dessen Inhalt jederzeit manuell zu löschen, während OmniDB nicht läuft; OmniDB erstellt ihn bei Bedarf neu.