Fragen zur Datenbank

Hallo, ich arbeite mich gerade durch die Datenbank und verstehe ein paar Dinge nicht.

Leider habe ich eine Dokumentation der Datenbank nicht gefunden.

In unserer Datenbank ist für eine Person jeweils ein Eintrag in posix_account und posix_account_details. In ldap_entries hat diese Person allerdings zwei Einträge. Einen Constraint das zu verhindern gibt es nicht. Ist das korrekt? Was bedeutet ein zweiter Eintrag?

p.s.: Es gibt hier garkeine Entwicklersparte, warum eigentlich?

Hallo mdt,
geht es da noch um die 6.2?

LG, Rüdiger

Ja, (noch) geht es um 6.2 (wo sich die Frage anschliesst, ob es ein Changelog für die DB Strktur gibt).

vor größeren Aktionen wird immer die postges Datenbank gedump.
die Dateien haben die endung .sql und liegen unterhalb /var/lib/sophomorix oder /var/log/sophomorix

Ja, der Inhalt kann gedumpt werden. Kein Problem. Kenne ich, Weiss ich.

Ich frage nach Entwickler-Doku über die Datenbank. gibts die? Wo?

Hallo,

ich lege noch mal meinen Finger in die Wunde der Dokumentation: Ich suche immer noch Doku zu den Internas des Systems. Wie sind die Abläufe, wie ist der Flow der Daten (wichtig wegen der redundanten Datenhaltung), welches Subsystem nutzt welche Datentöpfe, etc.

Es müsste doch eine Entwickler Planungsdokumentation des Systems und der Architektur geben - ihr entwickelt doch nicht auf Zuruf, oder? Kommt man da irgendwie dran?

Wenn es da nichts gibt, gibt es jemanden, der sich mit mir zusammensetzen würde und mir ein paar Dinge erklären würde? Ich könnte mich im Gegenzug an eine Dokumentation wagen.

Hallo,

wir verwenden keine Datenbank sondern lediglich den Verzeichnisdienst sowie Konfigurationsdateien.

Ich stehe aber immer offen für Fragen.

VG

Linuxmuster hat meines Wissens sowohl eine Postgresql sowie eine LDAP Datenbank. Liege ich da falsch?

Zu den Abläufen: Mich würde interessieren, wie die Dinge zusammenhängen - wie sind zB die Abläufe beim Erzeugen/Importieren von Lehrern oder Schülern oder Geräten. Welche Programme/Skripte laufen in welcher Reihenfolge und tun was? Was muss getan werden, damit die Dinge aktiv sind (wenn überhaupt).

Ich frage ausdrücklich nicht nach der WEB UI und click-pathes mit screenshots. Mich interessieren die Programmnamen & Parameter die dahinterliegend ablaufen.

Mal wieder ein klares Jein:

6.2 → Ja
7 → Nein

Aha. Hm. Willst du mich ein wenig erleuchten? So ein ganz klein bisschen? Also hat 7 kein Postgres und kein LDAP mehr? Komisch, ich meine ein LDAP hätte ich zumindest gesehen… Wo werden die Accounts dann gespeichert? (Sie sind meines Wissens nach dem Booten noch da, eine persistente Datenhaltung liegt also vor)…

Bitte beantwortet doch einmal die Fragen. Gibt es eine Dokumentation, nach der die Entwicklung arbeitet? Kann man diese bekommen? Ich weiss es ist Open Source, man könnte also reverse engeneeren. Aber ein Konzept zu lesen wäre so viel einfacher…

Hallo mdt,

Ich habe das so in Erinnerung:

  • In der 6.2 gab es neben dem Verzeichnisdienst (openLDAP) noch zusätzlich eine Sicherung in Form einer Postgres-DB, aus der Verzeichnisdienst wieder aufgebaut werden konnte
  • die lmn 7 baut komplett auf SAMBA4 als Verzeichnisdienst, auf eine zusätzliche Sicherung in Form einer anderen DB wurde verzichtet.

(In beiden Fällen weiß ich nicht, in welcher Form der Verzeichnisdienst die Daten speichert, da muss ja auch eine DB existieren)

Das beantwortet nicht deine eigentlich Frage. Ich habe schon mal irgendwo ein Schema des Verzeichnisdienstes gesehen, das wäre ein Teil der Antwort, die du suchst, oder?

Hallo mdt,
hallo zusammen,

Mir geht es da ähnlich. Verzeichnisdienst, Anmeldemechanismen (Win/Lin), Schnittstellen, … Ich fände eine technische Doku so hilfreich, gerade, wenn man hier mal mehr versucht als „im Nebel stochern“ oder hoffen, dass „irgendwer es weiß“. Und so hilfreich ask ist - wird es technisch etwas komplexer, kommt oft auch gar nichts mehr.

Bei Linbo (Label-Probleme) habe ich mich halt irgendwann reingelesen - Bash geht zum Glück ganz gut. Trotzdem hatten wir gerade wieder Chaos an der Schule, da bei Label-Änderungen offenbar blöde Kombinationen auftreten können, die es ohne Labels noch nicht gab (start.conf auf dem Server geändert, auf dem Client aber noch die alte Partitionierung).

Ich würde sogar mitdokumentieren, aber das Ganze ist für mich im wesentlichen eine „Black Box“… Und im Moment habe ich auch das Gefühl, dass diejenigen, die hier eine Baustelle sehen, eine Minderheit darstellen.

Viele Grüße
Thomas

Hallo mdt,

bei der LMN 7 werden alle Daten in dem Ldap gespeichert, der Teil von Samba 4 ist. Samba ist als AD-Controller eingerichtet. Der Ldap-Baum ist also die einzige Datenbank.

Das Tool zur Benutzerverwaltung heißt Sophomorix. Es besteht aus einer Reihe von Perl-Skripten. Sämtliche Befehle beginnen mit sophomorix- und sind in den Manpages und der eingebauten Hilfe gut dokumentiert. Sophomorix bringt sein eigenes Ldap-Schema mit, dort findet man die Felder, eine Dokumentation dazu kenne ich aber nicht, die wäre in der Tat schön. Es gab mal eine kurze Diskussion dazu, bislang aber noch ohne Ergebnis.

Ich habe sie bislang aber auch nur selten vermisst. Wenn man sich mit ldapsearch einzelne Objekte oder auch mal de ganzen Baum ausgeben lässt, dann findet man eigentlich sehr schnell, was man sucht. Beispiele findest Du hier:

https://wiki.linuxmuster.net/community/anwenderwiki:scripting:ldapsearch

Und dann gibt es ja auch noch dieses Forum. Wenn Du eine konkrete Frage zu Sophomorix oder dem Ldap hast, dann bekommst Du sicher schnell eine Antwort.

Beste Grüße

Jörg

1 „Gefällt mir“

Moin!

Wollen täte ich schon. Aber leider habe ich die Antworten auf deine Fragen auch nicht. Leider :sneezing_face:

Beste Grüße

Hallo mdt,

noch ein Nachtrag - nur zur Sicherheit: Die üblichen Github-Wikiseiten kennst Du?

https://github.com/linuxmuster/sophomorix4/wiki

Beste Grüße

Jörg

1 „Gefällt mir“

Hallo mdt,

ich denke @jrichter hat das sehr gut formuliert und auch verlinkt (Git). Der LDAP Baum kann mit jedem LDAP-Browser einfach gelesen werden. Das sollte für einen Entwickler kein Problem sein. Das Schema ist nach MS AD und wurde lediglich um ein paar sophomorix Attribute erweitert.

Wenn es konkrete fragen gibt, die ich bislang nicht erfasst hab, bitte einfach melden.

Grüße, Maurice

Ja, der Link ist eine große Hilfe. Danke! Ich bin gerade dabei es zu lesen.

Ich finde es etwas unglücklich, dass dieses Dokument Deutsche und Englische Teile mischt. Wird Linuxmuster viel im nicht Deutschsprachigen Ausland eingesetzt? Wäre es nicht besser, Deutsch zu nutzen, dass wir alle besser beherrschen?

Frage zu Step 0: Was meint „Schulverwaltungsprogramm“? (Typo: Es soll wohl „youR“ statt „you“ heissen, oder?) Wäre es hier nicht schlauer, das Format zu beschreiben?

Frage zu Step 1A: Irgendwie verstehe ich „Now you have the registered file on the server.“ nicht. Der Satz bedeutet ja, ich hätte eine registrierte Datei gehabt, die nun auf dem Server liegt. Ebend hiess sie aber noch Exportdatei.

Frage zu Step 1B: Nanu, nun regstriere ich die Datei. Aber derselbe Satz steht da, nun aber mit einem UTF-8 Zusatz. Leider wird hier garnicht gesagt, was dieses „Registrieren“ bedeutet. Was passiert da?

Fragen zu Step 2: Gelb und rot wird komplett übersprungen - was ist da? Hier steht „recoding to UTF-8“ aber hatten wir das nicht in Step 1B schon?

Nein, auf Entwicklungsebene und im Github soll alles auf englisch sein.

Warum sollte das so sein?

Besonders, weil es ja nicht so ist, jedenfalls nicht konsequent (siehe „Datei“, …).