Како користити instreg.exe и instsvc.exe (алатке командне линије за инсталацију Firebird-а на Windows-у)
Како користити instreg.exe и instsvc.exe
Аутори: Оригинал: Alex Peshkov (peshkoff at mail.ru), Ревидирао: Olivier Mascia (om at tipgroup.com)
НАПОМЕНА :: Да бисте решили потенцијалне проблеме са дугим путањама које садрже размаке или специјалне (не-ASCII) знакове, ови алати више не примају RootDirectory као аргумент командне линије. Оба бинарна фајла морају бити инсталирана (или копирана) у /bin директоријум унутар вашег Firebird кореног директоријума.
(Корени директоријум == директоријум где су инсталирани firebird.conf и security2.fdb.)
На пример, ако се налазе у C:\FB20.in, корени директоријум ће бити изведен као C:\FB20.
INSTREG.EXE
Сврха овог алата је да инсталира Registry кључеве за Firebird. Пошто је његов задатак да изведе RootDirectory путању као директоријум непосредно изнад његове сопствене локације и да је запише у Registry као апсолутну путању, instreg.exe мора бити инсталиран у /bin поддиректоријуму Firebird кореног директоријума (видети напомену изнад).
Registry кључ *није* потребан за покретање мотора; међутим, многи алати трећих страна очекују да га прочитају како би радили. Кључ који се чува је
HKLM\SOFTWARE\Firebird Project\Firebird Server\Instances
и садржи једну вредност низа: DefaultInstance.
Ова вредност низа ‘DefaultInstance’ садржи пуну путању (завршену обрнутом косом цртом) до кореног директоријума инсталације. Ово подешавање је направљено тако да ће управљање именованим вишеструким инстанцама сервера бити могуће у следећој верзији. Тренутно, једина инстанца добија хард-кодирано име ‘DefaultInstance’. Ништа друго се не чува у регистру. Било какве информације о верзији или конфигурацији алати трећих страна могу пронаћи у одговарајућем firebird.conf фајлу. Овај фајл се може лоцирати захваљујући кореној путањи сачуваној у …\Instances\DefaultInstance вредности.
Употреба:
instreg i[nstall]
instreg r[emove]
‘-z’ се може користити са било којом другом опцијом, штампа Firebird софтверску верзију као први ред излаза.
За кратак текстуални опис, једноставно покрените instreg.exe без аргумената.
INSTSVC.EXE
Firebird пружа стандардну процедуру за управљање Firebird сервисом на WinNT/2000/XP платформама - instsvc.exe.
Конзолне поруке
Излаз Windows грешака (ако их има) је побољшан тако да се врши потребна транслитерација ansi низова у OEM карактерни сет конзолног прозора. То значи да ће људи који користе не-енглески Windows добити Windows системске поруке о грешкама на свом језику са исправним акцентима и тако даље.
Сигурносне функције
Опција ‘-login’ (или -l) која је раније постојала је детаљно ревидирана и побољшана. Сада се може користити за подешавање сервиса да раде под одређеним корисничким налогом (вероватно са ограниченим привилегијама на систему) уместо подразумеваног “LocalSystem”.
Употреба:
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 ]
Овај алат треба да се налази и покреће из ‘bin’ директоријума ваше Firebird инсталације.
-
‘*’ означава подразумеване вредности
-
‘-z’ се може користити са било којом другом опцијом, штампа верзију
-
‘username’ се подразумевано односи на локални налог на овој машини.
-
Користите формат ‘domain\username’ или ‘server\username’ ако је прикладно.
Примери
под претпоставком да је Firebird инсталиран (копиран на своју инсталациону локацију).
Superserver и аутоматско покретање су сада подразумевани.
instsvc i
instsvc install
подешава Superserver као сервис у режиму аутоматског покретања (покреће се при подизању система) под подразумеваним системским идентитетом, названим “LocalSystem”.
instsvc i -g
instsvc install -guardian
као горе, али прво покреће Guardian сервис.
Опције “-demand” (-d) и “-classic” (-c) омогућавају промену подразумеваних вредности, тако да се класични сервер (уместо superserver-а) може конфигурисати као сервис и било који сервис се може конфигурисати да се покреће на захтев уместо при подизању система.
За уклањање сервиса
Сервиси морају бити заустављени пре уклањања. Ово би могло бити аутоматизовано са 3 линије кода, али је боље оставити како јесте ради сигурности.
instsvc r
instsvc remove
уклања дефиницију сервиса. Ако је Guardian био конфигурисан, и guardian и сервер сервиси ће бити уклоњени.
За покретање и заустављање инсталираних сервиса
instsvc sta
instsvc start
покреће сервер или Guardian + сервер, у складу са оним што је конфигурисано командом install.
instsvc stop
зауставља сервер или Guardian + сервер, у складу са оним што је конфигурисано командом install.
За добијање извештаја о стању сервера
Ово је нова команда:
instsvc q
instsvc query
Штампа извештај о тачно *шта* је конфигурисано и *како*, као и да ли сервиси раде или су заустављени.
За коришћење функције сигурне пријаве
Опција “-login” захтева корисничко име и лозинку:
instsvc i -g -login user pass
Ово би конфигурисало FB superserver као аутоматско покретање, са Guardian-ом, да ради под идентитетом “user” чија је лозинка pass.
\* Ако је лозинка укључена, лозинка не сме да почиње са ‘-’.
\* Ако је лозинка изостављена из командне линије, instsvc ће тражити да је унесете. У том случају, лозинка ће бити маскирана са ‘*’ док се куца.
Приликом конфигурисања сервиса као горе, instsvc аутоматски додељује Windows оперативном систему привилегију названу “Log on as a Service” наведеном кориснику. Ово је потребно, иначе сервису не би било дозвољено да се покрене. Instsvc ћути о томе осим ако не успе.
Да би се узела у обзир могућност да корисник који се пријављује преко -login прекидача може бити обичан корисник без администраторских привилегија на машини, instsvc прилагођава подразумевани сигурносни дескриптор сервиса тако да овај корисник може да их покрене/заустави/прегледа.
Ово је неопходно да би се омогућило Guardian-у (који такође ради као овај корисник) да покрене FB сервер. Корисник неће моћи да деинсталира сервисе нити да мења њихову конфигурацију.
НАПОМЕНА
Instsvc НЕ КРЕИРА “корисника” на Windows машини. То не би била добра идеја. Администратор можда жели да креира корисника као део локалне машине или као део домена и instsvc нема посебну потребу да узурпира администраторову одговорност за креирање корисника.
Корисник треба да има право читања/писања на свим базама података и firebird.log фајлу. Из сигурносних разлога, право писања на firebird.conf и Firebird извршне фајлове НЕ СМЕ бити дато.
На Windows NT/2K/XP је уобичајено укључити домен или сервер префикс за корисника дефинисаног на домену или локално на другом серверу. У горњим примерима, “user” може имати облик:
DOMAIN\user или
SERVER\user
Без префикса, корисник је имплицитно локални корисник на тренутној машини.