Subject Re: installation - configuration ; troubles : various / newbie :!
Author mikaelderrien
(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 ;)

>i compiled here all the issues i met, i had solved some of them but
>the others
>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 time
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 the
>question or problems
>described in this message is welcome.

Some I can answer, some not. It would be really great if we could
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 it
>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 :

Could you please explain for the unknowing? I understand that SuSE
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/sh
>
>LinkLib()
>{
>[ -f $2 ] || ln -s $1 $2
>}
>
>echo This script will register firebird in /etc/rc.d/init.d and
start it.
>echo press ENTER to continue...
>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
l
>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/rc.d/init.d/firebird start

$ below here is the one i used (and that works) so you can see the
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/sh
>
>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
l
>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
>

$ indeed, LinkLib isn't a Yast utility, i found it defined a the
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*************************************************************
*
>*********************
>
>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 ?

It's commented out, though...it looks as if its only purpose in this
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)
>but it fails ; is this idea
>useful and exploitable ?

I'm not clear what you mean by "bind". The engine binary searches
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 :
>#chkconfig 345 20 80
>what these numbers mean ? runlevel 3,4 and 5 with nice priority +20
>on port 80 ? or something
>completely different ?

I don't know, but they are commented out, anyway.

$ 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 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 interesting
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' 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.

$ lol, sure

>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 can
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...
>client. Hu.

In Superserver, you can't make any connection to the server except
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,
>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
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 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 masterkey
>it's okay. I think something is wrong with the export in my firebird
>init script but i don't understand what.

It will have to do with where the server thinks the RootDirectory
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 :
>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 the
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 a
>directory /usr/lib/firebird instead of directly
>/usr/lib ?

Why?

$ 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't
>understand when and how use them.

They are the external libraries for language support and the two
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 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 your
problems seem to point to that.

>- 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 for
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't
>generates file-like /var/run/firebird.pid ; is it easy
>and useful to create one ?

What for?

$ 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 :
>
>- what is nagle algorithm ?

It's an optional setting for slow networks. Read the release notes.

>- 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
>in the help of FBmanager, are there other hidden commands ?

-start is a command, -forever is a start parameter (-once is the
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 the
>manager ? i can't see the point of it !

You don't. fbmgr (trivial though it is) is a user interface to the
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 (successfully
>removed semaphores) and to gds_relay is... -z. hu, not very useful.
>any available free doc about that ?

Good question. Probably undocumented, since they are not supposed to
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:
>
>
> >Hi,
> >
> >i've spent the past days and nights fighting with firebird, i
think
> >this *****
> >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
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.
>
> 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. Hope you don't mind if I make a few comments/ask
questions. I have
> two installations here: RedHat 8.0 and Mandrake 9.0 +extras. In
both
> cases, the miniInstall script worked exactly as expected...
>
> >i compiled here all the issues i met, i had solved some of them
but
> >the others
> >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
time and a
> good memory, it would be really helpful to get these enumerated.
>
> >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
involve
> a couple more people who have installed SS RC4 on SuSE 8.2...
>
>
> >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
is
> >my version :
>
> Could you please explain for the unknowing? I understand that
SuSE 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...?)
>
>
>
>***CODE*************************************************************
*
> >*********************
> >
> >#!/bin/sh
> >
> >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
l
> >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*************************************************************
*
> >**************************
> >
> >#! /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*************************************************************
*
> >*********************
> >
> >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 ?
>
> It's commented out, though...it looks as if its only purpose in
this
> particular daemon is documentation.
>
>
> >- i tried to bind firebird.conf in this init script
($FB_SYSCONFIG)
> >but it fails ; is this idea
> >useful and exploitable ?
>
> I'm not clear what you mean by "bind". The engine binary searches
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 :
> >#chkconfig 345 20 80
> >what these numbers mean ? runlevel 3,4 and 5 with nice priority
+20
> >on port 80 ? or something
> >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
wrong ?
>
> 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
interesting 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.
>
> >- 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
can only
> report what it gets back from the network - it can't analyse the
problem.
>
> >Moreover, i thought my computer was 'server' and it prints...
> >client. Hu.
>
> In Superserver, you can't make any connection to the server except
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.
>
> >- 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
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.
>
> >(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
masterkey
> >it's okay. I think something is wrong with the export in my
firebird
> >init script but i don't understand what.
>
> It will have to do with where the server thinks the RootDirectory
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 :
> >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
the
> 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 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
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...
>
>
> >- 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
your
> problems seem to point to that.
>
> >- 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
for 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't
> >generates file-like /var/run/firebird.pid ; is it easy
> >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
notes.
>
> >- 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
> >in the help of FBmanager, are there other hidden commands ?
>
> -start is a command, -forever is a start parameter (-once is the
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.
>
> >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
the
> fbserver binary.
>
>
> >GDS... : the only option i found to gds_drop is -l (successfully
> >removed semaphores) and to gds_relay is... -z. hu, not very
useful.
> >any available free doc about that ?
>
> Good question. Probably undocumented, since they are not supposed
to 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!!!
>
> heLen