FirebirdSQL logo

fb_config Options

To run the fb_config script, use a command line similar to the following:

fb_config <option> [ <option> [...]]

The script takes one or more options on the command line:

--help

This parameter displays the list of allowed options.It should not be supplied in addition to other options.

--cflags

This option returns the list of directories where Firebird include files are stored.This is required by the C and C++ compilers to allow compiler #include directives to be correctly resolved.On my own system, this option returns ‘-I/opt/firebird/include’.

--libs

This option returns the list of directories where Firebird libraries are located and a list of those libraries that are required to be linked by the linker to create a client server Firebird application.This option returns ‘-L/opt/firebird/lib -lfbclient’ on my system.

--embedlibs

This option returns the list of directories where Firebird libraries are located and a list of those libraries that are required to be linked by the linker to create an embedded Firebird application.This option returns ‘-L/opt/firebird/lib -lfbembed’ on my system.

--bindir

On my system, this option returns ‘/opt/firebird/bin’ as the full path to the Firebird /bin directory.

--version

This option returns a three part version string made up of the concatenation of the Firebird build version, a dash, the package version, a dot and the system architecture.My own laptop Linux system returns ‘1.5.0.4290-0.i686’.

The following is a brief excerpt from a makefile which shows how to define two macros, FBFLAGS and FBLIBS, and initialise them to the correct values using fb_config.Note the use of the back tick character (`) rather than a single quote character (').

...
FBFLAGS = `fb_config --cflags`
FBLIBS = `fb_config --libs`
...

ChangeRunUser

Under Firebird 1.5 there are two versions of the changeRunUser.sh script, the one prefixed 'SS' is for Super Server installations and the one prefixed 'CS' is for Classic Server installations.In Firebird 2 onwards, the script is simply changeRunUser.sh.

Note

The script should be run as root.

The changeRunUser.sh script allows the user and group, under which the Firebird server runs, to be changed.By default, this is now the firebird user and group, however, in previous versions the Firebird server ran as the root user which is undesirable from a system security point of view and allowed databases to be created all over the file system.With the new firebird user, restrictions can be placed on where databases can be created.

The script changes the owing user and group of a number of files in the Firebird installation directory, the logfile and also the startup script /etc/rc.d.init.d/firebird which is used to start and stop the Firebird server.

docnext count = 5

ChangeRunUser.sh Parameters

To run the script, use a command line similar to the following:

changeRunUser.sh <username> <groupname>

The script takes two parameters on the command line, both of which are optional as you will be prompted if both are omitted.If you only supply one parameter, it is assumed to be the username and you will be prompted for the groupname.

username

This parameter sets the username under which the Firebird server is to run.The supplied value is validated against entries in /etc/passwd.

groupname

This parameter sets the groupname under which the Firebird server is to run.The supplied value is validated against entries in /etc/group.

The following example shows the use of changeRunUser.sh to change the owning user and group to firebird.The firebird user and group is actually the default when Firebird is installed so there is no need for you to run the script unless you have changed these details already.

# cd /opt/firebird/bin
# ./changeRunUser.sh firebird firebird
Updating /opt/firebird
Updating startup script
Completed

If you are running Firebird 2.1 or higher, there is no longer a prompt if you run this script with no parameters.The script now defaults to firebird for the user and group if you do not supply any parameters.Running the script under 2.1 gives the following:

# cd /opt/firebird/bin
# ./changeRunUser.sh
Shutting down Firebird                                                done

Change Firebird install for /opt/firebird to uid=firebird gid=firebird
(User or group options can be changed by editing this script)

Press return to continue - or ^C to abort

Updating /etc file(s)
Updating /opt/firebird
Starting Firebird                                                     done
Completed.
Warning

When this script prompts you to "Press return to continue …​" any VNC sessions connected to the database server will have been killed.Please ensure that you have the server at a quiet period and not during normal running hours when you make this change.This affects Suse Linux Enterprise 10 but may affect other Linux distributions as well.

RestoreRootRunUser

Under Firebird 1.5 there are two versions of the restoreRootRunUser.sh script.The one prefixed 'SS' is for Super Server installations and the one prefixed 'CS' is for Classic Server installations.In Firebird 2 onwards, the script is simply restoreRootRunUser.sh.

Note

This script must be run as root.

This script simply restores the old style installation format whereby the Firebird Super Server runs as the root user and group.

Document history

The exact file history is recorded in the firebird-documentation git repository; see https://github.com/FirebirdSQL/firebird-documentation

Revision History

0.1

22 Nov 2004

ND

Created as a chapter in the Command Line Utilities manual.

1.0

19 Oct 2009

ND

Updated for Firebird 2, minor changes to punctuation and then converted to a stand alone manual.

1.1

05 Jan 2010

ND

Spelling correction.

1.2

27 Apr 2010

ND

When changing the DBA password, it is no longer the case that the startup script is also amended.Other changed for version 2.1 added.

1.3

20 Jun 2020

MR

Conversion to AsciiDoc, minor copy-editing

License notice

The contents of this Documentation are subject to the Public Documentation License Version 1.0 (the “License”); you may only use this Documentation if you comply with the terms of this License.Copies of the License are available at https://www.firebirdsql.org/pdfmanual/pdl.pdf (PDF) and https://www.firebirdsql.org/manual/pdl.html (HTML).

The Original Documentation is titled Firebird Shell Scripts.

The Initial Writer of the Original Documentation is: Norman Dunbar.

Copyright © 2004–2010.All Rights Reserved.Initial Writer contact: NormanDunbar at users dot sourceforge dot net.