Subject | Re: [firebird-support] installation - configuration ; troubles : various / newbie :! |
---|---|
Author | Helen Borrie |
Post date | 2003-08-15T05:37:47Z |
At 03:42 PM 14/08/2003 +0000, you wrote:
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...
good memory, it would be really helpful to get these enumerated.
a couple more people who have installed SS RC4 on SuSE 8.2...
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...?)
particular daemon is documentation.
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.
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.
attempting any kind of fix.
report what it gets back from the network - it can't analyse the problem.
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.
running. You need to stop the server before you can restart it. The fbmgr
-restart switch will do a stop followed by a start.
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.
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...
problems seem to point to that.
client connection plus, from time to time, one for the garbage collector.
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.
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. :-))
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 binary.
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
>Hi,As you noticed, these scripts are pretty specific to RedHat and
>
>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!
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 butI don't get a picture of the "issues" you met. If you have the time and a
>the others
>below are still resisting and i merely don't understand where it
>went wrong.
good memory, it would be really helpful to get these enumerated.
>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 involve
>question or problems
>described in this message is welcome.
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 itCould you please explain for the unknowing? I understand that SuSE lacks
>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 :
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**************************************************************It's commented out, though...it looks as if its only purpose in this
>*********************
>
>#!/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/libfbcl
>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 ?
particular daemon is documentation.
>- 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 for
>but it fails ; is this idea
>useful and exploitable ?
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 ?
>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 to
>FBmanager processes but during
>this time this script ends and returns the status 'running' before
>FBmanager gives his message
>'server successfully started'
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' 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.
>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 only
>look in firebird.log shows me :
>
>PCname1 (Client) DATE-----YEAR
> INET/inet_error: connect errno = 111
>What does that mean ?
report what it gets back from the network - it can't analyse the problem.
>Moreover, i thought my computer was 'server' and it prints...In Superserver, you can't make any connection to the server except as a
>client. Hu.
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,That only means it can't start the server, because the server is already
>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.
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 areIt will have to do with where the server thinks the RootDirectory is. By
>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.
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 ?
>- 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 standard
>understand when and how use them.
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 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 each
>running at the same time ?
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 ?
>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 other
>in the help of FBmanager, are there other hidden commands ?
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 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.
>GDS... : the only option i found to gds_drop is -l (successfullyGood question. Probably undocumented, since they are not supposed to be
>removed semaphores) and to gds_relay is... -z. hu, not very useful.
>any available free doc about that ?
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