Diese Seite wurde maschinell übersetzt. Lesen Sie das englische Original. English

IBSurgeon-Bibliothek

So verwenden Sie instreg.exe und instsvc.exe (Kommandozeilen-Tools für die Firebird-Installation unter Windows)

So verwenden Sie instreg.exe und instsvc.exe

Autoren: Original: Alex Peshkov (peshkoff at mail.ru), Überarbeitet von: Olivier Mascia (om at tipgroup.com)

HINWEIS :: Um mögliche Probleme mit langen Pfaden zu lösen, die Leerzeichen oder spezielle (nicht-ASCII) Zeichen enthalten, akzeptieren diese Werkzeuge das Root-Verzeichnis nicht mehr als Befehlszeilenargument. Beide Binärdateien müssen im /bin-Verzeichnis unter Ihrem Firebird-Root-Verzeichnis installiert (oder dorthin kopiert) werden.

(Root-Verzeichnis == Verzeichnisroot, in dem firebird.conf und security2.fdb installiert sind.)

Wenn sie sich beispielsweise in C:\FB20.in befinden, wird das Root-Verzeichnis als C:\FB20 abgeleitet.

INSTREG.EXE

Der Zweck dieses Dienstprogramms besteht darin, die Registrierungsschlüssel für Firebird zu installieren. Da seine Aufgabe darin besteht, den Root-Verzeichnispfad als das Verzeichnis unmittelbar über seinem eigenen Speicherort abzuleiten und diesen als absoluten Pfad in die Registrierung zu schreiben, muss instreg.exe im /bin-Unterverzeichnis des Firebird-Root-Verzeichnisses installiert sein (siehe Hinweis oben).

Der Registrierungsschlüssel ist *nicht* erforderlich, damit die Engine ausgeführt werden kann; viele Drittanbieter-Tools erwarten jedoch, ihn zu lesen, um zu funktionieren. Der gespeicherte Schlüssel ist

HKLM\SOFTWARE\Firebird Project\Firebird Server\Instances

und enthält einen Zeichenfolgenwert: DefaultInstance.

Dieser ‘DefaultInstance’-Zeichenfolgenwert enthält den vollständigen Pfad (mit Backslash abgeschlossen) zum Root-Verzeichnis der Installation. Dieses Setup ist so aufgebaut, dass die Verwaltung benannter Multi-Instanzen des Servers in einer nächsten Version möglich sein wird. Derzeit erhält die eine und einzige Instanz den fest codierten Namen ‘DefaultInstance’. Es wird nichts anderes in der Registrierung gespeichert. Versions- oder Konfigurationsinformationen finden Drittanbieter-Tools in der jeweiligen firebird.conf-Datei. Diese Datei kann mithilfe des im Wert …\Instances\DefaultInstance gespeicherten Root-Pfads gefunden werden.

Verwendung:

Code
instreg i[nstall]
instreg r[emove]

‘-z’ kann mit jeder anderen Option verwendet werden und gibt die Firebird-Softwareversion als erste Zeile der Ausgabe aus.

Um eine kurze Texthilfe zu erhalten, rufen Sie instreg.exe einfach ohne Argumente auf.

INSTSVC.EXE

Firebird bietet eine Standardroutine zur Verwaltung des Firebird-Dienstes auf WinNT/2000/XP-Plattformen - instsvc.exe.

Konsolenmeldungen

Die Ausgabe von Windows-Fehlermeldungen (falls vorhanden) wurde verbessert, sodass jede erforderliche Transliteration von ANSI-Zeichenfolgen in den OEM-Zeichensatz des Konsolenfensters durchgeführt wird. Dies bedeutet, dass Benutzer eines nicht-englischen Windows Windows-Systemfehlermeldungen in ihrer Sprache mit korrekten Akzenten usw. erhalten.

Sicherheitsbezogene Funktionen

Die zuvor implementierte Option ‘-login’ (oder -l) wurde umfassend überarbeitet und erweitert. Sie kann jetzt verwendet werden, um den/die Dienst(e) so einzurichten, dass sie unter einem bestimmten Benutzerkonto (vorzugsweise mit eingeschränkten Berechtigungen auf dem System) anstelle des Standardkontos “LocalSystem” ausgeführt werden.

Verwendung:

Code
instsvc i[nstall] [ -s[uperserver]* | -c[lassic] | -m[ultithreaded] ]
         [ -a[uto]* | -d[emand] ]
         [ -g[uardian] ]
         [ -l[ogin] username [password] ]
         [ -n[ame] instance ]
         [ -i[nteractive] ]
instsvc sta[rt] [ -b[oostpriority] ] [ -n[ame] instance ]
instsvc sto[p] [ -n[ame] instance ]
instsvc q[uery]
instsvc r[emove] [ -n[ame] instance ]

Dieses Dienstprogramm sollte sich im ‘bin’-Verzeichnis Ihrer Firebird-Installation befinden und von dort ausgeführt werden.

  • ‘*’ kennzeichnet die Standardwerte

  • ‘-z’ kann mit jeder anderen Option verwendet werden und gibt die Version aus

  • ‘username’ bezieht sich standardmäßig auf ein lokales Konto auf diesem Rechner.

  • Verwenden Sie bei Bedarf das Format ‘domain\username’ oder ‘server\username’.

Beispiele

Angenommen, Firebird ist installiert (an seinen Installationsort kopiert).

Superserver und automatischer Start sind jetzt die Standardeinstellung.

Code
instsvc i
instsvc install

richtet einen Superserver als Dienst im Modus “Automatischer Start” (Start beim Systemstart) unter der Standard-Systemidentität namens “LocalSystem” ein.

Code
instsvc i -g
instsvc install -guardian

wie oben, startet jedoch zuerst den Guardian-Dienst.

Die Optionen “-demand” (-d) und “-classic” (-c) ermöglichen das Ändern der Standardeinstellungen, sodass der Classic-Server (anstelle des Superservers) als Dienst konfiguriert werden kann und jeder Dienst so konfiguriert werden kann, dass er bei Bedarf statt beim Systemstart gestartet wird.

So entfernen Sie den/die Dienst(e)

Dienste müssen gestoppt werden, bevor sie entfernt werden. Dies könnte mit 3 Codezeilen automatisiert werden, aber es ist besser, es aus Sicherheitsgründen so zu belassen.

Code
instsvc r
instsvc remove

entfernt die Dienstdefinition. Wenn Guardian konfiguriert wurde, werden sowohl der Guardian- als auch der Serverdienst entfernt.

So starten und stoppen Sie den/die installierten Dienst(e)

Code
instsvc sta
instsvc start

startet den Server oder Guardian + Server, je nachdem, was durch den Installationsbefehl konfiguriert wurde.

Code
instsvc stop

stoppt den Server oder Guardian + Server, je nachdem, was durch den Installationsbefehl konfiguriert wurde.

So erhalten Sie einen Serverstatusbericht

Dies ist ein neuer Befehl:

Code
instsvc q
instsvc query

Gibt einen Bericht darüber aus, *was* genau konfiguriert ist und *wie*, sowie darüber, ob die Dienste ausgeführt oder gestoppt werden.

So verwenden Sie die sichere Anmeldefunktion

Die Option “-login” erfordert einen Benutzernamen und ein Passwort:

Code
instsvc i -g -login user pass

Dies würde den FB-Superserver als automatischen Start mit Guardian konfigurieren, um unter der Identität “user” mit dem Passwort pass ausgeführt zu werden.

\* Wenn das Passwort enthalten ist, darf es nicht mit ‘-’ beginnen.

\* Wenn das Passwort in der Befehlszeile weggelassen wird, fragt instsvc danach. In diesem Fall wird das Passwort während der Eingabe mit ‘*’ maskiert.

Beim Konfigurieren der Dienste wie oben erteilt instsvc dem angegebenen Benutzer automatisch das Windows-Betriebssystemprivileg “Anmelden als Dienst”. Dies ist erforderlich, da der Dienst sonst nicht starten dürfte. Instsvc meldet dies nur, wenn es fehlschlägt.

Um der Möglichkeit Rechnung zu tragen, dass der über den -login-Schalter angemeldete Benutzer ein normaler Benutzer ohne Administratorrechte auf dem Rechner ist, passt instsvc den Standard-Sicherheitsdeskriptor des/der Dienst(e) an, sodass dieser Benutzer sie starten/stoppen/abfragen kann.

Dies ist notwendig, damit der Guardian (der ebenfalls als dieser Benutzer läuft) den FB-Server starten kann. Der Benutzer kann den/die Dienst(e) nicht deinstallieren oder deren Konfiguration ändern.

HINWEIS

Instsvc ERSTELLT den “Benutzer” nicht auf dem Windows-Rechner. Das wäre keine gute Idee. Der Administrator möchte den Benutzer möglicherweise als Teil des lokalen Rechners oder als Teil einer Domäne erstellen, und instsvc hat kein besonderes Bedürfnis, die Verantwortung des Administrators für die Erstellung von Benutzern zu übernehmen.

Der Benutzer benötigt Lese-/Schreibzugriff auf alle Datenbanken und die firebird.log-Datei. Aus Sicherheitsgründen sollte kein Schreibzugriff auf firebird.conf und Firebird-Ausführungsdateien gewährt werden.

Unter Windows NT/2K/XP ist es üblich, das Domänen- oder Serverpräfix für einen Benutzer einzuschließen, der in einer Domäne oder lokal auf einem anderen Server definiert ist. In den obigen Beispielen könnte “user” die Form annehmen:

DOMAIN\user oder

SERVER\user

Ohne Präfix ist der Benutzer implizit ein lokaler Benutzer auf dem aktuellen Rechner.