Subject | Re: installation - configuration ; troubles : various / newbie :! |
---|---|
Author | mikaelderrien |
Post date | 2003-08-19T15:36:09Z |
(From: Helen Borrie)
Hi Helen,
As you noticed, these scripts are pretty specific to RedHat and
Mandrake. When I can work out why you did what you did in those
scripts,
it would be good to document the SuSE differences. Ideally, if we
have to
have something THIS different for some distros, we ought to have a
choice
of scripts.
$ on the first installation, i used the .miniInstall.sh script (in
RC4) but
$ that didn't start firebird because of redhat-like specifities.
$ so i checked the suse documentation and searched in /etc/ to see
how
$ applications are called at boot time and in different runlevels.
$ i join with this mail the files /etc/init.d/README
and /etc/init.d/skeleton,
$ i think you would be interested in. i also join /etc/rc.status
because
$ init scripts in suse call for this file to check the status of an
app
$ (among other things). if you have any question about this, please
ask,
$ i'll answer about what i've done but don't forget i'm not a
*pro* :)
Unfortunately, you're probably not going to get any resolution of
all this
until the script author returns from his summer break in just over a
week.
$ in fact, with the changes i've made in firebird.initd, it runs well
$ on one computer (except a necessary waiting for striking a key -
but i
$ consider this minor problem since after it works well) and on the
$ other computer it's really strange : i've done exactly the same
$ commands but the scripts give ack error messages and i can still
$ run firebird by giving explictely username and password. i feel
this
$ is due to the export of 'SYSDBA' and 'masterkey' in the beginning
$ but i merely don't know how to solve this. i'll try classic to see.
Hope you don't mind if I make a few comments/ask questions.
$ not at all, feel free to tell me wether i'm not understandable :)
I have two installations here: RedHat 8.0 and Mandrake 9.0 +extras.
In both
cases, the miniInstall script worked exactly as expected...
$ unfortunately, the IT department where i do my internship use
exclusively
$ suse, so i guess i'll install firebird on a redhat for my
pleasure ;)
and a
good memory, it would be really helpful to get these enumerated.
$ i had to do some documentation for my internship, so i can send you
$ a copy of what may interested you, when it will be finished.
involve
a couple more people who have installed SS RC4 on SuSE 8.2...
$ i'm in contact with a guy in this case, i'll mail him. he probably
$ saw this messages, since he's on firebird-support too. hello
gerson :)
lacks
the rc.d directory layer under /etc, hence the need to alter that
path.
What I can't figure out is why you have all that linking in there.
(I
assume LinkLib() is some kind of YaST utility for setting up
symlinks...?)
$ in /etc/init.d/ there are these directories :
$ boot.d, rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d, rc6.d, rcS.d
$ and in /etc/ there is a directory called rc.d, pointing towards
init.d
$ for my install script, i used the file .miniInstall.sh found with
$ firebird superserver i686 RC4 ; below is the orginal
miniInstall.sh :
changes,
$ some are for personnal preferences (cp -iv, chmod -v +x, ...),
others are
$ very important (removing /rc.d, adding ln -fs ...)
$ i added the line ln -fs /etc/init.d/firebird/ /usr/sbin/rcfirebird
to have
$ compliance with suse organization.
beginning
$ of miniInstall in RC4, and was added there because, when installing
$ super server RC3, firebird wasn't able to start because of link
issues.
$ i also could use LinkLib to set up symlink /usr/sbin/rcfirebird
$ but sometimes i can be very nasty ;p - no joking : i find it
easier to
$ read and to make the difference / remember what i have added.
particular daemon is documentation.
$ comments weren't very helpful for me, i was looking for more
$ concrete explanations. no matter, i'll try all and see what
happens :)
$ for now, i use as example what i can see in mysql or pgsql.
for
firebird.conf relative to its own location. It expects it to be in
the
directory above its own and it treats that directory as
RootDirectory.
Ditto the .msg file and the security databases. I do not know of any
way
to vary this. If firebird.conf is not where the engine expects to
find it,
then you have trouble, regardless of platform.
$ they are not commented in miniInstall.sh, i saw in man for
chkconfig
$ that, chkconfig <name> 345 means configure <name> to be charged
$ at runlevels 3, 4 and 5 ; but for 20 and 80 i'm still wondering.
$ chkconfig 345 20 80 was in minInstall RC3, not in RC4 one.
to
hear others' observations. I don't have SMP on my systems, either.
But I
also don't have that nest of symlinks as you do.
$ symlinks to /usr/lib are not from my initiative
attempting any kind of fix.
$ lol, sure
only
report what it gets back from the network - it can't analyse the
problem.
$ okay, but i don't know which files i must have a look at to solve
this :|
as a
TCP/IP client. In the case of your applications, this will be
through the
libfbclient library; the server utilities use the same API but they
connect statically. They are still clients, not part of the server.
$ fanx for this explanation
already
running. You need to stop the server before you can restart it. The
fbmgr
-restart switch will do a stop followed by a start.
$ fanx :) ; restart option isn't listed in fbmgr help, why ?
$ is there a complete list of options available ?
is. By
default, it is the directory above the fbserver binary. If
firebird.conf
isn't there, it then tries to find it in the location pointed to by
the
FIREBIRD environment variable. If it's not there, then it's stuck,
because
the only other place it would be configured is in firebird.conf
itself. If
it can't find the RootDirectory, it can't find the password
database,
security.fdb. Try printing printenv() and see what was exported for
the
FIREBIRD variable. You can use setenv() to correct it, if necessary.
server itself: it's just reporting that it rejected the root user's
attempt to connect - those were the failed attempts you reported
above.
$ just asking : i'm a little curious and i always have
interrogations ;p
$ i thought this would be less messy like that in /usr/lib
standard
UDF libraries, respectively. Their location *must* be configured in
firebird.conf if you decide to have them somewhere different to
$FIREBIRD/UDF. You really need to read the comments in firebird.conf
(or
in the release notes, if you want more detail than is in the file
itself). The draft release notes are currently circulating in the
RC5 kits...
$ indeed, i had already read the comments and the notes, but i
wasn't satisfied
$ with them, that's why i've posted here. didn't know about RC5 kit,
i'll
$ got and try it very fast :)
problems seem to point to that.
each
client connection plus, from time to time, one for the garbage
collector.
$ just asking, again :) - when i was a child, i drove my parents mad
with my
$ questions, they sould have stitch up my mouth. so, you're warned,
take care ;p
Objects, which have built in permanent workarounds for a very old
bug (ex
InterBase) regarding the ordering of parameters. It's fixed in 1.5,
thus
breaking the workarounds.
Guardian is
there to monitor and, if necessary, restart the server after a
crash. I
assume 'onetime' is the switch that tells guardian only to start the
server
once and then not restart it if it crashes. 'signore' means 'ignore
something' - i just don't know what it's meant to ignore. :-))
other
parameter)
-show gives you the host name and your user name
-you can use the switches -user and -password to run the fbmgr
commands as
SYSDBA
-shut stops the server
If you just run fbmgr with no switches, you'll get a shell. Then you
have
the -quit command to leave the shell.
$ i knew that, i was in fact annoyed because -start (and -once, -
restart)
$ switches are not listed when you use help in fbmgr shell.
fbserver binary.
$ but ./fbserver -h gives a lot of options, it's strange one cannot
$ use them directly. my intuition is that the issues i meet comes
$ from not calling the right parameters to fbserver (eg -e or -p)
be
called from the command line. They are utilities that fbserver calls
itself.
The -z switch only gives you the server version.
Read the documentation!!!
$ i wasn't satisfied with what i read, so i posted this message. but
maybe i don't
$ have all the documentation that is available.
$ TWO OTHER THINGS :
$ here is my '/usr/local/firebird/aliases.conf' :
help = /usr/local/firebird/help/help.fdb
security = /usr/local/firebird/security.fdb
employee = /usr/local/firebird/examples/employee.fdb
$ but i'm still forced to write to complete path, as you said, the
server seems
$ to fail in finding this file, although... i'll try to make the
server
$ find firebird.conf or use a working environnment variable.
$ here are some of the line in
my '/usr/local/firebird/firebird.conf' :
RootDirectory = /usr/local/firebird/.
fanx for reading and the answers you gave me
M.
--- In firebird-support@yahoogroups.com, Helen Borrie <helebor@t...>
wrote:
Hi Helen,
As you noticed, these scripts are pretty specific to RedHat and
Mandrake. When I can work out why you did what you did in those
scripts,
it would be good to document the SuSE differences. Ideally, if we
have to
have something THIS different for some distros, we ought to have a
choice
of scripts.
$ on the first installation, i used the .miniInstall.sh script (in
RC4) but
$ that didn't start firebird because of redhat-like specifities.
$ so i checked the suse documentation and searched in /etc/ to see
how
$ applications are called at boot time and in different runlevels.
$ i join with this mail the files /etc/init.d/README
and /etc/init.d/skeleton,
$ i think you would be interested in. i also join /etc/rc.status
because
$ init scripts in suse call for this file to check the status of an
app
$ (among other things). if you have any question about this, please
ask,
$ i'll answer about what i've done but don't forget i'm not a
*pro* :)
Unfortunately, you're probably not going to get any resolution of
all this
until the script author returns from his summer break in just over a
week.
$ in fact, with the changes i've made in firebird.initd, it runs well
$ on one computer (except a necessary waiting for striking a key -
but i
$ consider this minor problem since after it works well) and on the
$ other computer it's really strange : i've done exactly the same
$ commands but the scripts give ack error messages and i can still
$ run firebird by giving explictely username and password. i feel
this
$ is due to the export of 'SYSDBA' and 'masterkey' in the beginning
$ but i merely don't know how to solve this. i'll try classic to see.
Hope you don't mind if I make a few comments/ask questions.
$ not at all, feel free to tell me wether i'm not understandable :)
I have two installations here: RedHat 8.0 and Mandrake 9.0 +extras.
In both
cases, the miniInstall script worked exactly as expected...
$ unfortunately, the IT department where i do my internship use
exclusively
$ suse, so i guess i'll install firebird on a redhat for my
pleasure ;)
>i compiled here all the issues i met, i had solved some of them butI don't get a picture of the "issues" you met. If you have the time
>the others
>below are still resisting and i merely don't understand where it
>went wrong.
and a
good memory, it would be really helpful to get these enumerated.
$ i had to do some documentation for my internship, so i can send you
$ a copy of what may interested you, when it will be finished.
>this is quit long, any help, any hint, any idea to any of theSome I can answer, some not. It would be really great if we could
>question or problems
>described in this message is welcome.
involve
a couple more people who have installed SS RC4 on SuSE 8.2...
$ i'm in contact with a guy in this case, i'll mail him. he probably
$ saw this messages, since he's on firebird-support too. hello
gerson :)
>i've installed firebird super server 1.5 RC4 on a suse 8.2 and itCould you please explain for the unknowing? I understand that SuSE
>runs quite well
>but i've got several issues.
>first of all, i had to make some changes in miniInstall.sh, here is
>my version :
lacks
the rc.d directory layer under /etc, hence the need to alter that
path.
What I can't figure out is why you have all that linking in there.
(I
assume LinkLib() is some kind of YaST utility for setting up
symlinks...?)
$ in /etc/init.d/ there are these directories :
$ boot.d, rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d, rc6.d, rcS.d
$ and in /etc/ there is a directory called rc.d, pointing towards
init.d
$ for my install script, i used the file .miniInstall.sh found with
$ firebird superserver i686 RC4 ; below is the orginal
miniInstall.sh :
>#!/bin/shstart it.
>
>LinkLib()
>{
>[ -f $2 ] || ln -s $1 $2
>}
>
>echo This script will register firebird in /etc/rc.d/init.d and
>echo press ENTER to continue...l
>read x
>
>cp firebird.initd /etc/rc.d/init.d/firebird
>chmod +x /etc/rc.d/init.d/firebird
>chkconfig --add firebird
>
>LinkLib /usr/local/firebird/lib/libfbclient.so.1.0.0 /usr/lib/libfbc
>ient.so.1.0.0$ below here is the one i used (and that works) so you can see the
>LinkLib /usr/lib/libfbclient.so.1.0.0 /usr/lib/libfbclient.so.1
>LinkLib /usr/lib/libfbclient.so.1 /usr/lib/libfbclient.so
>LinkLib /usr/local/firebird/lib/libib_util.so /usr/lib/libib_util.so
>
>/etc/rc.d/init.d/firebird start
changes,
$ some are for personnal preferences (cp -iv, chmod -v +x, ...),
others are
$ very important (removing /rc.d, adding ln -fs ...)
$ i added the line ln -fs /etc/init.d/firebird/ /usr/sbin/rcfirebird
to have
$ compliance with suse organization.
>#!/bin/shl
>
>LinkLib()
>{
>[ -f $2 ] || ln -s $1 $2
>}
>
>echo This script will register firebird in /etc/init.d and start it.
>echo press ENTER to continue...
>read x
>
>cp -iv firebird.initd /etc/init.d/firebird
>chmod -v +x /etc/init.d/firebird
>chkconfig -a firebird
>
>ln -fs /etc/init.d/firebird /usr/sbin/rcfirebird
>
>LinkLib /usr/local/firebird/lib/libfbclient.so.1.0.0 /usr/lib/libfbc
>ient.so.1.0.0$ indeed, LinkLib isn't a Yast utility, i found it defined a the
>LinkLib /usr/lib/libfbclient.so.1.0.0 /usr/lib/libfbclient.so.1
>LinkLib /usr/lib/libfbclient.so.1 /usr/lib/libfbclient.so
>LinkLib /usr/local/firebird/lib/libib_util.so /usr/lib/libib_util.so
>
>/etc/init.d/firebird start
>
beginning
$ of miniInstall in RC4, and was added there because, when installing
$ super server RC3, firebird wasn't able to start because of link
issues.
$ i also could use LinkLib to set up symlink /usr/sbin/rcfirebird
$ but sometimes i can be very nasty ;p - no joking : i find it
easier to
$ read and to make the difference / remember what i have added.
>***\EOC**************************************************************
>*************************
>
>i had to make some changes too in the original firebird.initd :
>
>***CODE*************************************************************
>***************************
>
>#! /bin/sh
>### BEGIN INIT INFO
># Provides: firebird
># Required-Start: $network $remote_fs
># X-UnitedLinux-Should-Start:
># Required-Stop:
># X-UnitedLinux-Should-Stop:
># Default-Start: 2 3 5
># Default-Stop: 0 6
># Short-Description: Start the FireBird DataBase SuperServer master
>daemon
># Description:
>### END INIT INFO
>
>: ${FIREBIRD:=/usr/local/firebird}
>: ${ISC_USER:=SYSDBA}
>: ${ISC_PASSWORD:=masterke}
>: ${FBRunUser:=root}
>
>export FIREBIRD
>export ISC_USER
>export ISC_PASSWORD
>
># Check for missing binaries : test, if fbmgr.bin actually exists
>and check the file is executable.
>MANAGER=$FIREBIRD/bin/fbmgr.bin
>[ -x $MANAGER ] || exit 5
>
># Check for existence of needed config file and read it ; source
>SuSE config.
>#FB_SYSCONFIG=$FIREBIRD/firebird.conf
>#[ -r $FB_SYSCONFIG ] || exit 6
>#. $FB_SYSCONFIG
>
>. /etc/rc.status
>
># Reset status of this service
>rc_reset
>
>
>case "$1" in
>
> start)
>
> echo -n "Starting FireBird SuperServer:"
> ## Start daemon with startproc(8). If this fails
> ## the return value is set appropriately by startproc.
>
> startproc -n +20 -u $FBRunUser $MANAGER -start -forever &&
>read x
>
> # Remember status and be verbose
> rc_status -v
> ;;
>
>
> stop)
>
> echo -n "Shutting down FireBird SuperServer:"
> ## Stop daemon with killproc(8) and if this fails
> ## killproc sets the return value according to LSB.
>
> $MANAGER -shut
>
> # Remember status and be verbose
> rc_status -v
> ;;
>
>
> try-restart)
>
> ## Do a restart only if the service was active before.
> ## Note: try-restart is not (yet) part of LSB (as of 1.2)
>
> $0 status >/dev/null && $0 restart
>
> # Remember status and be quiet
> rc_status
> ;;
>
>
> restart)
>
> ## Stop the service and regardless of whether it was
> ## running or not, start it again.
>
> $0 stop
> $0 start
>
> # Remember status and be quiet
> rc_status
> ;;
>
>
> force-reload)
>
> ## Signal the daemon to reload its config. Most daemons
> ## do this on signal 1 (SIGHUP).
> ## If it does not support it, restart.
>
> $0 stop && $0 start
> rc_status
> ;;
>
>
> status)
>
> echo
> echo -n "Checking for FireBird SuperServer:"
>
> # NOTE: checkproc returns LSB compliant status values.
> checkproc -v $FIREBIRD/bin/fbserver
>
> echo
> echo -n "Checking for firebird GUARDIAN:"
> checkproc -v $FIREBIRD/bin/fbguard
>
> # NOTE: rc_status knows that we called this init script with
> # "status" option and adapts its messages accordingly.
> rc_status -v
> ;;
>
>
> *)
> echo "Usage: $0 {start|stop|status|try-restart|restart|force-
>reload}"
> exit 1
> ;;
>
>esac
>rc_exit
>
>***\EOC*************************************************************
>*********************It's commented out, though...it looks as if its only purpose in this
>
>QUESTIONS :
>
>- i'm not familiar with the use of services in INIT INFO paragraph,
>what are the interests of
>loading all of them in Required-start ?
particular daemon is documentation.
$ comments weren't very helpful for me, i was looking for more
$ concrete explanations. no matter, i'll try all and see what
happens :)
$ for now, i use as example what i can see in mysql or pgsql.
>- i tried to bind firebird.conf in this init script ($FB_SYSCONFIG)I'm not clear what you mean by "bind". The engine binary searches
>but it fails ; is this idea
>useful and exploitable ?
for
firebird.conf relative to its own location. It expects it to be in
the
directory above its own and it treats that directory as
RootDirectory.
Ditto the .msg file and the security databases. I do not know of any
way
to vary this. If firebird.conf is not where the engine expects to
find it,
then you have trouble, regardless of platform.
>- in the original firebird.initd script there's the line :I don't know, but they are commented out, anyway.
>#chkconfig 345 20 80
>what these numbers mean ? runlevel 3,4 and 5 with nice priority +20
>on port 80 ? or something
>completely different ?
$ they are not commented in miniInstall.sh, i saw in man for
chkconfig
$ that, chkconfig <name> 345 means configure <name> to be charged
$ at runlevels 3, 4 and 5 ; but for 20 and 80 i'm still wondering.
$ chkconfig 345 20 80 was in minInstall RC3, not in RC4 one.
>i guess RETVAL=$ is the same function as rc_status -v, am i wrong ?Can't answer that one.
>- when this script starts the server, there's a little wait duringI haven't observed that at all on RH or Mdk. It might be interesting
>FBmanager processes but during
>this time this script ends and returns the status 'running' before
>FBmanager gives his message
>'server successfully started'
to
hear others' observations. I don't have SMP on my systems, either.
But I
also don't have that nest of symlinks as you do.
$ symlinks to /usr/lib are not from my initiative
>- that's why i added '&& read x' inIt sounds as if the "problem" (if any) should be identified before
>cas start (is there any other
>way to fix that ?)
attempting any kind of fix.
$ lol, sure
>server runs correctly, i can use firbird utilities as i wish but aIt's just the engine picking up some TCP/IP problem. The engine can
>look in firebird.log shows me :
>
>PCname1 (Client) DATE-----YEAR
> INET/inet_error: connect errno = 111
>What does that mean ?
only
report what it gets back from the network - it can't analyse the
problem.
$ okay, but i don't know which files i must have a look at to solve
this :|
>Moreover, i thought my computer was 'server' and it prints...In Superserver, you can't make any connection to the server except
>client. Hu.
as a
TCP/IP client. In the case of your applications, this will be
through the
libfbclient library; the server utilities use the same API but they
connect statically. They are still clients, not part of the server.
$ fanx for this explanation
>- i've made the same installation, on an other computer, same OS,That only means it can't start the server, because the server is
>same versions, but when starting
>firebird server, rc.status returns 'running', FBmanager
>returns 'check $FIREBIRD/firebird.log file
>for erros - can not start server' and if i check process, fbguard
>and fbserver run.
already
running. You need to stop the server before you can restart it. The
fbmgr
-restart switch will do a stop followed by a start.
$ fanx :) ; restart option isn't listed in fbmgr help, why ?
$ is there a complete list of options available ?
>(i verified the file hosts.equiv, 127.0.0.1 and 127.0.0.2 areIt will have to do with where the server thinks the RootDirectory
>written in) ; then :
>
>$FIREBIRD/bin # ./gsec {ENTER}
>connection rejected by remote interface
>unable to open database
>$FIREBIRD/bin # ./isql {ENTER}
>statement failed
>error, SQL CODE=-923
>
>but if i do ./gsec (or ./isql) with -user sysdba -password masterkey
>it's okay. I think something is wrong with the export in my firebird
>init script but i don't understand what.
is. By
default, it is the directory above the fbserver binary. If
firebird.conf
isn't there, it then tries to find it in the location pointed to by
the
FIREBIRD environment variable. If it's not there, then it's stuck,
because
the only other place it would be configured is in firebird.conf
itself. If
it can't find the RootDirectory, it can't find the password
database,
security.fdb. Try printing printenv() and see what was exported for
the
FIREBIRD variable. You can use setenv() to correct it, if necessary.
>Finally, when looking at firebird.log, i see :The other error was caused by a client. This error was raised by the
>PCname2 (Server) DATE------YEAR
> SERVER/process_packet : connection rejected for root
>why is this one server ? And what this error means ?
server itself: it's just reporting that it rejected the root user's
attempt to connect - those were the failed attempts you reported
above.
>- is there any interest in linking libfbclient librairies in aWhy?
>directory /usr/lib/firebird instead of directly
>/usr/lib ?
$ just asking : i'm a little curious and i always have
interrogations ;p
$ i thought this would be less messy like that in /usr/lib
>- why not linking fbintl.so, fb_udf.so and ib_udf.so ? i don'tThey are the external libraries for language support and the two
>understand when and how use them.
standard
UDF libraries, respectively. Their location *must* be configured in
firebird.conf if you decide to have them somewhere different to
$FIREBIRD/UDF. You really need to read the comments in firebird.conf
(or
in the release notes, if you want more detail than is in the file
itself). The draft release notes are currently circulating in the
RC5 kits...
$ indeed, i had already read the comments and the notes, but i
wasn't satisfied
$ with them, that's why i've posted here. didn't know about RC5 kit,
i'll
$ got and try it very fast :)
>- i use aliases.conf and modified firebird.conf in order to setYep. The server can't find aliases.conf and firebird.conf. All your
>directories but it doesn't work, even after a restart,
> i must each time specify the complete path. any idea ?
problems seem to point to that.
>- why is there several (at least three) processes of fbserverOne process, plus a number of threads. There will be one thread for
>running at the same time ?
each
client connection plus, from time to time, one for the garbage
collector.
>- i wanted to put an option 'probe' in my init script but FB doesn'tWhat for?
>generates file-like /var/run/firebird.pid ; is it easy
>and useful to create one ?
$ just asking, again :) - when i was a child, i drove my parents mad
with my
$ questions, they sould have stitch up my mouth. so, you're warned,
take care ;p
>IN FIREBIRD.CONF :It's an optional setting for slow networks. Read the release notes.
>
>- what is nagle algorithm ?
>- what's the use of backward compatible parameter ordering ?You don't need it. It's intended for some interface layers, e.g. IB
Objects, which have built in permanent workarounds for a very old
bug (ex
InterBase) regarding the ordering of parameters. It's fixed in 1.5,
thus
breaking the workarounds.
>FBGUARD : what is 'signore' ? what is 'onetime' ?Not exactly sure what these mean in the Linux version, but the
Guardian is
there to monitor and, if necessary, restart the server after a
crash. I
assume 'onetime' is the switch that tells guardian only to start the
server
once and then not restart it if it crashes. 'signore' means 'ignore
something' - i just don't know what it's meant to ignore. :-))
>FBMGR : i noticed the options -start and -forever are not register-start is a command, -forever is a start parameter (-once is the
>in the help of FBmanager, are there other hidden commands ?
other
parameter)
-show gives you the host name and your user name
-you can use the switches -user and -password to run the fbmgr
commands as
SYSDBA
-shut stops the server
If you just run fbmgr with no switches, you'll get a shell. Then you
have
the -quit command to leave the shell.
$ i knew that, i was in fact annoyed because -start (and -once, -
restart)
$ switches are not listed when you use help in fbmgr shell.
>FBSERVER : how use it and its options when started with theYou don't. fbmgr (trivial though it is) is a user interface to the
>manager ? i can't see the point of it !
fbserver binary.
$ but ./fbserver -h gives a lot of options, it's strange one cannot
$ use them directly. my intuition is that the issues i meet comes
$ from not calling the right parameters to fbserver (eg -e or -p)
>GDS... : the only option i found to gds_drop is -l (successfullyGood question. Probably undocumented, since they are not supposed to
>removed semaphores) and to gds_relay is... -z. hu, not very useful.
>any available free doc about that ?
be
called from the command line. They are utilities that fbserver calls
itself.
The -z switch only gives you the server version.
Read the documentation!!!
$ i wasn't satisfied with what i read, so i posted this message. but
maybe i don't
$ have all the documentation that is available.
$ TWO OTHER THINGS :
$ here is my '/usr/local/firebird/aliases.conf' :
help = /usr/local/firebird/help/help.fdb
security = /usr/local/firebird/security.fdb
employee = /usr/local/firebird/examples/employee.fdb
$ but i'm still forced to write to complete path, as you said, the
server seems
$ to fail in finding this file, although... i'll try to make the
server
$ find firebird.conf or use a working environnment variable.
$ here are some of the line in
my '/usr/local/firebird/firebird.conf' :
RootDirectory = /usr/local/firebird/.
fanx for reading and the answers you gave me
M.
--- In firebird-support@yahoogroups.com, Helen Borrie <helebor@t...>
wrote:
> At 03:42 PM 14/08/2003 +0000, you wrote:think
>
>
> >Hi,
> >
> >i've spent the past days and nights fighting with firebird, i
> >this *****scripts,
> >won the first round : i'm exhausted, half-fool and
> >slighlty...nervous.han!
>
> As you noticed, these scripts are pretty specific to RedHat and
> Mandrake. When I can work out why you did what you did in those
> it would be good to document the SuSE differences. Ideally, if wehave to
> have something THIS different for some distros, we ought to have achoice
> of scripts.all this
>
> Unfortunately, you're probably not going to get any resolution of
> until the script author returns from his summer break in just overa
> week. Hope you don't mind if I make a few comments/askquestions. I have
> two installations here: RedHat 8.0 and Mandrake 9.0 +extras. Inboth
> cases, the miniInstall script worked exactly as expected...but
>
> >i compiled here all the issues i met, i had solved some of them
> >the otherstime and a
> >below are still resisting and i merely don't understand where it
> >went wrong.
>
> I don't get a picture of the "issues" you met. If you have the
> good memory, it would be really helpful to get these enumerated.involve
>
> >this is quit long, any help, any hint, any idea to any of the
> >question or problems
> >described in this message is welcome.
>
> Some I can answer, some not. It would be really great if we could
> a couple more people who have installed SS RC4 on SuSE 8.2...is
>
>
> >i've installed firebird super server 1.5 RC4 on a suse 8.2 and it
> >runs quite well
> >but i've got several issues.
> >first of all, i had to make some changes in miniInstall.sh, here
> >my version :SuSE lacks
>
> Could you please explain for the unknowing? I understand that
> the rc.d directory layer under /etc, hence the need to alter thatpath.
> What I can't figure out is why you have all that linking inthere. (I
> assume LinkLib() is some kind of YaST utility for setting upsymlinks...?)
>*
>
>
>***CODE*************************************************************
> >*********************it.
> >
> >#!/bin/sh
> >
> >LinkLib()
> >{
> >[ -f $2 ] || ln -s $1 $2
> >}
> >
> >echo This script will register firebird in /etc/init.d and start
> >echo press ENTER to continue...l
> >read x
> >
> >cp -iv firebird.initd /etc/init.d/firebird
> >chmod -v +x /etc/init.d/firebird
> >chkconfig -a firebird
> >
> >ln -fs /etc/init.d/firebird /usr/sbin/rcfirebird
> >
>
>LinkLib /usr/local/firebird/lib/libfbclient.so.1.0.0 /usr/lib/libfbc
> >ient.so.1.0.0*
> >LinkLib /usr/lib/libfbclient.so.1.0.0 /usr/lib/libfbclient.so.1
> >LinkLib /usr/lib/libfbclient.so.1 /usr/lib/libfbclient.so
>
>LinkLib /usr/local/firebird/lib/libib_util.so /usr/lib/libib_util.so
> >
> >/etc/init.d/firebird start
> >
>
>***\EOC*************************************************************
> >*************************
> >
> >i had to make some changes too in the original firebird.initd :
> >
>
>***CODE*************************************************************
> >**************************master
> >
> >#! /bin/sh
> >### BEGIN INIT INFO
> ># Provides: firebird
> ># Required-Start: $network $remote_fs
> ># X-UnitedLinux-Should-Start:
> ># Required-Stop:
> ># X-UnitedLinux-Should-Stop:
> ># Default-Start: 2 3 5
> ># Default-Stop: 0 6
> ># Short-Description: Start the FireBird DataBase SuperServer
> >daemon&&
> ># Description:
> >### END INIT INFO
> >
> >: ${FIREBIRD:=/usr/local/firebird}
> >: ${ISC_USER:=SYSDBA}
> >: ${ISC_PASSWORD:=masterke}
> >: ${FBRunUser:=root}
> >
> >export FIREBIRD
> >export ISC_USER
> >export ISC_PASSWORD
> >
> ># Check for missing binaries : test, if fbmgr.bin actually exists
> >and check the file is executable.
> >MANAGER=$FIREBIRD/bin/fbmgr.bin
> >[ -x $MANAGER ] || exit 5
> >
> ># Check for existence of needed config file and read it ; source
> >SuSE config.
> >#FB_SYSCONFIG=$FIREBIRD/firebird.conf
> >#[ -r $FB_SYSCONFIG ] || exit 6
> >#. $FB_SYSCONFIG
> >
> >. /etc/rc.status
> >
> ># Reset status of this service
> >rc_reset
> >
> >
> >case "$1" in
> >
> > start)
> >
> > echo -n "Starting FireBird SuperServer:"
> > ## Start daemon with startproc(8). If this fails
> > ## the return value is set appropriately by startproc.
> >
> > startproc -n +20 -u $FBRunUser $MANAGER -start -forever
> >read xwith
> >
> > # Remember status and be verbose
> > rc_status -v
> > ;;
> >
> >
> > stop)
> >
> > echo -n "Shutting down FireBird SuperServer:"
> > ## Stop daemon with killproc(8) and if this fails
> > ## killproc sets the return value according to LSB.
> >
> > $MANAGER -shut
> >
> > # Remember status and be verbose
> > rc_status -v
> > ;;
> >
> >
> > try-restart)
> >
> > ## Do a restart only if the service was active before.
> > ## Note: try-restart is not (yet) part of LSB (as of 1.2)
> >
> > $0 status >/dev/null && $0 restart
> >
> > # Remember status and be quiet
> > rc_status
> > ;;
> >
> >
> > restart)
> >
> > ## Stop the service and regardless of whether it was
> > ## running or not, start it again.
> >
> > $0 stop
> > $0 start
> >
> > # Remember status and be quiet
> > rc_status
> > ;;
> >
> >
> > force-reload)
> >
> > ## Signal the daemon to reload its config. Most daemons
> > ## do this on signal 1 (SIGHUP).
> > ## If it does not support it, restart.
> >
> > $0 stop && $0 start
> > rc_status
> > ;;
> >
> >
> > status)
> >
> > echo
> > echo -n "Checking for FireBird SuperServer:"
> >
> > # NOTE: checkproc returns LSB compliant status values.
> > checkproc -v $FIREBIRD/bin/fbserver
> >
> > echo
> > echo -n "Checking for firebird GUARDIAN:"
> > checkproc -v $FIREBIRD/bin/fbguard
> >
> > # NOTE: rc_status knows that we called this init script
> > # "status" option and adapts its messages accordingly.restart|restart|force-
> > rc_status -v
> > ;;
> >
> >
> > *)
> > echo "Usage: $0 {start|stop|status|try-
> >reload}"*
> > exit 1
> > ;;
> >
> >esac
> >rc_exit
> >
>
>***\EOC*************************************************************
> >*********************paragraph,
> >
> >QUESTIONS :
> >
> >- i'm not familiar with the use of services in INIT INFO
> >what are the interests ofthis
> >loading all of them in Required-start ?
>
> It's commented out, though...it looks as if its only purpose in
> particular daemon is documentation.($FB_SYSCONFIG)
>
>
> >- i tried to bind firebird.conf in this init script
> >but it fails ; is this ideafor
> >useful and exploitable ?
>
> I'm not clear what you mean by "bind". The engine binary searches
> firebird.conf relative to its own location. It expects it to bein the
> directory above its own and it treats that directory asRootDirectory.
> Ditto the .msg file and the security databases. I do not know ofany way
> to vary this. If firebird.conf is not where the engine expects tofind it,
> then you have trouble, regardless of platform.+20
>
>
> >- in the original firebird.initd script there's the line :
> >#chkconfig 345 20 80
> >what these numbers mean ? runlevel 3,4 and 5 with nice priority
> >on port 80 ? or somethingwrong ?
> >completely different ?
>
> I don't know, but they are commented out, anyway.
>
> >i guess RETVAL=$ is the same function as rc_status -v, am i
>interesting to
> Can't answer that one.
>
>
> >- when this script starts the server, there's a little wait during
> >FBmanager processes but during
> >this time this script ends and returns the status 'running' before
> >FBmanager gives his message
> >'server successfully started'
>
> I haven't observed that at all on RH or Mdk. It might be
> hear others' observations. I don't have SMP on my systems,either. But I
> also don't have that nest of symlinks as you do.can only
>
> >- that's why i added '&& read x' in
> >cas start (is there any other
> >way to fix that ?)
>
> It sounds as if the "problem" (if any) should be identified before
> attempting any kind of fix.
>
> >server runs correctly, i can use firbird utilities as i wish but a
> >look in firebird.log shows me :
> >
> >PCname1 (Client) DATE-----YEAR
> > INET/inet_error: connect errno = 111
> >What does that mean ?
>
> It's just the engine picking up some TCP/IP problem. The engine
> report what it gets back from the network - it can't analyse theproblem.
>as a
> >Moreover, i thought my computer was 'server' and it prints...
> >client. Hu.
>
> In Superserver, you can't make any connection to the server except
> TCP/IP client. In the case of your applications, this will bethrough the
> libfbclient library; the server utilities use the same API butthey
> connect statically. They are still clients, not part of theserver.
>already
> >- i've made the same installation, on an other computer, same OS,
> >same versions, but when starting
> >firebird server, rc.status returns 'running', FBmanager
> >returns 'check $FIREBIRD/firebird.log file
> >for erros - can not start server' and if i check process, fbguard
> >and fbserver run.
>
> That only means it can't start the server, because the server is
> running. You need to stop the server before you can restart it.The fbmgr
> -restart switch will do a stop followed by a start.masterkey
>
> >(i verified the file hosts.equiv, 127.0.0.1 and 127.0.0.2 are
> >written in) ; then :
> >
> >$FIREBIRD/bin # ./gsec {ENTER}
> >connection rejected by remote interface
> >unable to open database
> >$FIREBIRD/bin # ./isql {ENTER}
> >statement failed
> >error, SQL CODE=-923
> >
> >but if i do ./gsec (or ./isql) with -user sysdba -password
> >it's okay. I think something is wrong with the export in myfirebird
> >init script but i don't understand what.is. By
>
> It will have to do with where the server thinks the RootDirectory
> default, it is the directory above the fbserver binary. Iffirebird.conf
> isn't there, it then tries to find it in the location pointed toby the
> FIREBIRD environment variable. If it's not there, then it'sstuck, because
> the only other place it would be configured is in firebird.confitself. If
> it can't find the RootDirectory, it can't find the passworddatabase,
> security.fdb. Try printing printenv() and see what was exportedfor the
> FIREBIRD variable. You can use setenv() to correct it, ifnecessary.
>the
>
> >Finally, when looking at firebird.log, i see :
> >PCname2 (Server) DATE------YEAR
> > SERVER/process_packet : connection rejected for root
> >why is this one server ? And what this error means ?
>
> The other error was caused by a client. This error was raised by
> server itself: it's just reporting that it rejected the rootuser's
> attempt to connect - those were the failed attempts you reportedabove.
>standard
>
> >- is there any interest in linking libfbclient librairies in a
> >directory /usr/lib/firebird instead of directly
> >/usr/lib ?
>
> Why?
>
> >- why not linking fbintl.so, fb_udf.so and ib_udf.so ? i don't
> >understand when and how use them.
>
> They are the external libraries for language support and the two
> UDF libraries, respectively. Their location *must* be configuredin
> firebird.conf if you decide to have them somewhere different tofirebird.conf (or
> $FIREBIRD/UDF. You really need to read the comments in
> in the release notes, if you want more detail than is in the fileRC5 kits...
> itself). The draft release notes are currently circulating in the
>your
>
> >- i use aliases.conf and modified firebird.conf in order to set
> >directories but it doesn't work, even after a restart,
> > i must each time specify the complete path. any idea ?
>
> Yep. The server can't find aliases.conf and firebird.conf. All
> problems seem to point to that.for each
>
> >- why is there several (at least three) processes of fbserver
> >running at the same time ?
>
> One process, plus a number of threads. There will be one thread
> client connection plus, from time to time, one for the garbagecollector.
>doesn't
> >- i wanted to put an option 'probe' in my init script but FB
> >generates file-like /var/run/firebird.pid ; is it easynotes.
> >and useful to create one ?
>
> What for?
>
> >IN FIREBIRD.CONF :
> >
> >- what is nagle algorithm ?
>
> It's an optional setting for slow networks. Read the release
>IB
> >- what's the use of backward compatible parameter ordering ?
>
> You don't need it. It's intended for some interface layers, e.g.
> Objects, which have built in permanent workarounds for a very oldbug (ex
> InterBase) regarding the ordering of parameters. It's fixed in1.5, thus
> breaking the workarounds.Guardian is
>
>
> >FBGUARD : what is 'signore' ? what is 'onetime' ?
>
> Not exactly sure what these mean in the Linux version, but the
> there to monitor and, if necessary, restart the server after acrash. I
> assume 'onetime' is the switch that tells guardian only to startthe server
> once and then not restart it if it crashes. 'signore'means 'ignore
> something' - i just don't know what it's meant to ignore. :-))other
>
>
> >FBMGR : i noticed the options -start and -forever are not register
> >in the help of FBmanager, are there other hidden commands ?
>
> -start is a command, -forever is a start parameter (-once is the
> parameter)commands as
> -show gives you the host name and your user name
> -you can use the switches -user and -password to run the fbmgr
> SYSDBAyou have
> -shut stops the server
> If you just run fbmgr with no switches, you'll get a shell. Then
> the -quit command to leave the shell.the
>
> >FBSERVER : how use it and its options when started with the
> >manager ? i can't see the point of it !
>
> You don't. fbmgr (trivial though it is) is a user interface to
> fbserver binary.useful.
>
>
> >GDS... : the only option i found to gds_drop is -l (successfully
> >removed semaphores) and to gds_relay is... -z. hu, not very
> >any available free doc about that ?to be
>
> Good question. Probably undocumented, since they are not supposed
> called from the command line. They are utilities that fbservercalls itself.
>
> The -z switch only gives you the server version.
>
> Read the documentation!!!
>
> heLen