INSTALLATION NOTES
<< Known compatibility issues | Firebird 2.0.7 Release Notes | Bugs fixed >>
- Windows 32-bit installs
- POSIX platforms
INSTALLATION NOTES
Please read the previous chapter, Known compatibility issues before you set out to install Firebird 2.0.
Windows 32-bit Installs
READ THIS FIRST!
On Windows, you have three server models to choose from: Superserver, Classic and Embedded Server. This means you have some decisions to make before installing Firebird 2.0.
- Make sure you are logged in as Administrator (doesn't apply on Win9x or ME).
- Check to make sure that there is no
FIREBIRD
environment variable defined that is visible to Administrator-level users or to the LocalSystem user--see the section called TheFIREBIRD
variable at the start of the previous chapter. - The Superserver and Classic models, as well as server tools-only and client-only, can be installed using the Windows installer application. For a full-release install, it is highly recommended to use the installer if there is one available.
- Use
gbak
to back up your oldsecurity.fdb
(or, for a previous Firebird 1.0 installation,isc4.gdb
) security database. You can restore it later assecurity2.fdb
, using the directions in the chapter entitled New security features. - If you have special settings in your existing
firebird.conf
(ibconfig
, for Firebird 1.0) there may be some values that you want to transfer to equivalent parameters in the newfirebird.conf
. When you use the Windows control panel applet Add/Remove Programs to uninstall Firebird 1.5.x (recommended!), the uninstaller should preserve your existingfirebird.conf
andaliases.conf
. However, it won't hurt to take the precaution of backing up these files to your home directory. The Firebird 1.0.xibconfig
file (if applicable) should certainly be backed up.
Note: If you are upgrading from Firebird 1.0.x, go to the Downloads/Firebird Documentation page at the Firebird website and download the Firebird 1.5.3 Release Notes for details of the correlation between settings in ibconfig
and firebird.conf
. Study the notes about firebird.conf
to work out what can be copied directly and what parameters require new syntax.
- When reinstalling Firebird 2.0, certain configuration files in the installation directory will be preserved if you run the installer and OVERWRITTEN if you decompress a zip kit into the default location. The files are
security.fdb
firebird.log
firebird.conf
aliases.conf
- Each model can be installed from a zipfile. This method will be faster than the installer if you have plenty of experience installing Firebird from zipfiles. It will be highly exasperating if you are a Firebird newbie.
- It is assumed that:
- you understand how your network works.
- you understand why a client/server system needs both a server and clients.
- you have read the rest of these release notes--or at least realise that you need to read them if something seems to have gone wrong.
- you know to go to the firebird-support list if you get stuck. Join at https://www.yahoogroups.com/groups/firebird-support.
If you already have an earlier version of Firebird or InterBase® on your server and you think you might want to go back to it, set up your fall-back position before you begin.
- Use the existing version of
GBAK
to back up your database files in transportable format. - Go to your System directory and make backup copies of
fbclient.dll
and/orgds32.dll
if you have applications that rely on finding those libraries there. You might want to name the backupgds32.dll.fb15
orgds32.dll.fb103
or something similarly informative; or hide it in another directory. - It might be a good idea to make a backup of the Microsoft® C++ runtime,
msvcp60.dll
, too. The installer shouldn't overwrite your version of this file, but strange things have been known to happen. - STOP ANY FIREBIRD OR INTERBASE SERVER THAT IS RUNNING.
- Provided you do not have a
FIREBIRD
environment variable defined, the default root location of Firebird 2.0 will beC:\Program Files\Firebird\Firebird_2_0
. - For installing Firebird as a service: if you want to make use of the secure login feature, create a firebird service user on the system--any name and password you like--as an ordinary user with appropriate privileges.
You should read the document named README.instsvc.txt
first. If you have a zip kit, you will find it in the /doc
directory of the zipfile's root. If you don't have a zip kit available, the file won't be available until after the installation. You can read the same document at this URL: https://firebird.cvs.sourceforge.net/firebird/firebird2/doc/README.instsvc.
Naming databases on Windows
Note that the recommended extension for database files on Windows ME and XP is ".fdb
" to avoid possible conflicts with the System Restore feature of these Windows versions. Failure to address this issue on these platforms will give rise to the known problem of delay on first connection to a database whose primary file and/or secondary files are named using the ".gdb
" extension that used to be the Borland convention for suffixing InterBase® database file names.
The issue is described in more detail in Other Win32 issues at the end of the Windows installation notes.
Other pre-installation issues
Installing multiple servers
One of the design goals, since Firebird 1.5, has been to prepare the way for running multiple Firebird servers simultaneously on the same host machine. Firebird 2.0 does support this, although it is not well documented and very much requires intervention from a skilled user. A future sub-release of Firebird 2.0 will make this process far less complicated to install and manage.
If you are experienced with Firebird and have a requirement to run multiple Firebird servers side by side, please consult the Firebird 1.5.3 release notes for details of how to achieve it.
Installation of Microsoft® system libraries
The problems associated with installing different versions of Microsoft® system libraries are so notorious that it has acquired the name 'DLL Hell'. From the release of Windows 2000 onwards Microsoft® have made it almost impossible to upgrade system dll's. To resolve this Microsoft® now recommends that each application installs local copies of any system libraries that are required.
Firebird 1.5 follows this practice and places the required libraries in the \bin
directory along with the server.
Installation of fbclient.dll
Since Firebird 1.5, gds32.dll
is not the "native" name of the client library. It is now called fbclient.dll
. Given the problems that Microsoft® have had with DLL hell it wouldn't make much sense if we continued to store the Firebird client library in the system directory. Furthermore, as we want to allow multiple engines to run simultaneously we would be creating our own DLL hell if we continued the practice of using the system directory for the client library.
So, from Firebird 1.5 on, the client library resides in the \bin
directory along with all the other binaries. The installer provides the option (unchecked) to copy the client to the system directory for those who have applications that require to load them from there.
Registry key
A Registry key has been added and all Firebird 2.0 compliant applications should use this key if they need to read a Registry key to locate the correct version of Firebird that they wish to use. The new key is:
HKEY_LOCAL_MACHINE\SOFTWARE\Firebird Project\Firebird Server\Instances
Firebird will guarantee that one entry under this key always exists. It will be known as
DefaultInstance
and will store the path to the root directory of (yes, you've guessed it) the default installation. Those that don't care about particular installations can always use the default instance to locate the fbclient.dll
.
Future versions of Firebird will see other entries under Instances. Applications will be able to enumerate the Registry entries to determine which Server instance they wish to load.
Supporting legacy applications and drivers
Traditionally, applications that use InterBase® or Firebird have expected to load the gds32.dll
client library from the system directory. Firebird 2.0 ships with a tool named instclient.exe
that can install a clone of fbclient.dll
to the Windows System directory. This clone gets patched on the fly so that its file version information begins with "6.3
", to provide compatibility for old applications that check the GDS32.DLL
file version and can not make sense of a number string such as "2.0
".
InstClient.exe
tool
This instclient.exe
tool can also install the FBCLIENT.DLL
itself in the Windows system directory, if required. This will take care of tools or applications that need to load it from there.
The instclient.exe
utility should be located in the bin
directory of your Firebird installation and must be run from there in a command shell.
Usage of instclient.exe
instclient i[nstall] [ -f[orce] ] library q[uery] library r[emove] library
where library is: fbclient | gds32
-z
can be used with any other option, prints version.
Version information and shared library counts are handled automatically. You may provide the -f[orce]
option to override version checks.
Caution: If you -f[orce]
the installation, it could break another Firebird or InterBase® version already installed. You might have to reboot the machine in order to finalize the copy.
For more details, see the document README.Win32LibraryInstallation.txt
which is located in ..\doc
.
Cleaning up release candidate installs
It should be noted that the installer removes fbclient.dll
from the <system>
directory if the file is found there. The installer also removes any deprecated HKLM\Software\Firebird*
Registry keys.
Using the Win32 Firebird Installer
Important: Don't overlook the need to have the Microsoft® Visual C and Visual C++ runtimes (msvcrt.dll
and msvcpp60.dll
, respectively) present in the system directory of all Windows servers and clients, including Windows Embedded installations. For your convenience, copies of these libraries will be placed in the \bin
directory of the Firebird install. However, you should check first whether later versions of these libraries are already present. Don't overwrite later versions.
This is really the easy part: the actual install. Just run the executable and respond to the dialogs. After you have answered a few dialogs about licensing and installation notes, you should see one where you decide on the location of the Firebird root directory.
Installation (Root) directory
The installer should be showing c:\Program Files\Firebird\Firebird_2_0
by default. If you decide not to use the default root location, browse to a location you have pre-created; or just type in the full path and let the installer find it. The path you type in doesn't have to exist: the installer will prompt you and create it if it doesn't exist.
Here you can also opt not to have the installer create Startup Menu icons by checking off the option. If you are installing on Windows 9x or WinMe, or you plan to run the server as an application in another Win32 environment, keep the icons option checked on.
Next, you should see a screen where you choose the installation you want:
Choose the installation you want and hit the Next button to carry on responding to dialogs.
Note: If you're installing a server, you should choose Superserver (preselected by the installer) or Classic (as seen in the image above). Leave Server components and Developer and admin tools components checked on.
For a client-only install, check off Server components, leaving Client components and, optionally, Developer and admin tools components checked on.
There is also a drop-down for a custom installation which new users can safely ignore.
The next screen of interest enables you to set up how you want the server to run:
Choose the options you want, according to your choice of server model.
Use the Guardian...
Guardian is a utility than can run "over the top" of Superserver and restart it if it crashes for any reason. If you choose the Classic server, the Guardian option should not appear. If it does, check it OFF and report it in Tracker as a bug.
For deployment of Superserver on Win9x, WinME and WinNT 4.0, using Guardian can avoid the situation where the server stops serving and nobody can find the DBA to restart it. On other Win32 platforms, you can set the operating system to restart the service instead and not bother with the Guardian.
Service or application?
If you select to install Superserver or Classic, and your OS version supports services, you will be asked to choose whether to run Firebird as a service or as an application. Unless you have a compelling need to run the server as an application, choose service.
Manual or automatic?
With the automatic option, Firebird will start up whenever you boot the host machine. With the manual option you can start the server on demand from the Services applet in the Settings / Control Panel / Administration Tools selection.
Use Control Panel Applet (Superserver only)
If Superserver is being installed, you will see an option to Install Control Panel applet?. It's a good idea to keep this as it places an applet in the Control Panel from which you can stop and [re]start the server.
DO NOT ALLOW THE CONTROL PANEL TO BE INSTALLED ON VISTA! \\ The Firebird Control Panel applet will break the Control Panel on Vista. If the installer displays this option you MUST ensure it is checked OFF.
Eventually, the dialogs will stop, you will press Install and the server will either silently start the server (if you requested it) or prompt you for permission to reboot. Reboot will be needed if the installer was unable to update a DLL due to its being already loaded when the installer started up.
Uninstallation
If you are going to uninstall Firebird, first shut down all connections to databases and then, if you are running Superserver, shut down the server. The Firebird uninstall routine (run from Add/Remove Programs in the Control Panel) preserves and renames the following key files:
security2.fdb
or renames it to security2.fbnnnn
firebird.log
firebird.conf
or renames it to firebird.confnnnn
aliases.conf
or renames it to aliases.confnnnn
nnnn
is the build number of the old installation.
No attempt is made to uninstall files that were not part of the original installation.
Shared files such as fbclient.dll
and gds32.dll
will be deleted if the share count indicates that no other application is using them.
The Registry keys that were created will be removed.
Installing Superserver from a zip kit
The installation of FB 2.0 is similiar in principle to previous versions. If you don't have a special setup program (it's distributed separately) the steps are the following:
- unzip the archive into a new directory.
- change the current directory to
$FIREBIRD\bin
(here and below,$FIREBIRD
refers to the directory where the v.2.0 files are located). - run
instreg.exe
:
instreg.exe install
HKLM\Software\Firebird Project\Firebird Server\Instances\DefaultInstance
).
- if you want to register a service, also run
instsvc.exe
:
instsvc.exe install
- optionally, you may need to run
instclient.exe
to copyfbclient.dll
or a specially-generated clone asgds32.dll
to the OS system directory.
Installing Classic Server from a zip kit
To install the CS engine, the only difference is the additional switch for instsvc.exe
:
instsvc.exe install -classic
Important: Notice that this means that you may have only one architecture of the engine--either fbserver.exe
(Superserver) or fb_inet_server.exe
(the parent process for Classic)--installed as a service.
The Control Panel applet is not installed with Classic--deliberately. Don't try to install and use it. The concept of terminating a service does not apply to the Classic model.
Simplified setup
If you don't need a registered service, then you may avoid running both instreg.exe
and instsvc.exe
. In this case you should just unzip the archive into a separate directory and run the server as an application:
fbserver.exe -a
It should treat its parent directory as the root directory in this case.
Uninstallation
To remove Firebird 2.0.1 without a Windows Uninstaller you should:
- stop the server
- run
instreg.exe remove
- run
instsvc.exe remove
- delete installation directory
- delete
fbclient.dll
andgds32.dll
from the OS system directory.
Other Win32 issues
Winsock2
Firebird requires WinSock2
. All Win32 platforms should have this, except for Win95. A test for the Winsock2
library is made during install. If it is not found the install will fail. To find out how to go about upgrading, visit this link.
Windows ME and XP
Windows ME and XP (Home and Professional editions) there is a feature called System Restore, that causes auto-updating (backup caching?) of all files on the system having a .gdb
suffix. The effect is to slow down InterBase®/Firebird database access to a virtual standstill as the files are backed up every time an I/O operation occurs. (On XP there is no System Restore on the .NET Servers).
A file in the Windows directory of ME, c:\windows\system\filelist.xml
, contains "protected file types". .gdb
is named there. Charlie Caro originally recommended deleting the GDB
extension from the "includes" section of this file. However, since then, it has been demonstrated that WinME might be rebuilding this list.
In XP, it is not possible to edit filelist.xml
at all.
On ME, the permanent workarounds suggested are one of:
- use
FDB
(Firebird DB) as the extension for your primary database files --RECOMMENDED. - move databases to
C:\My Documents
, which is ignored by System Restore. - switch off System Restore entirely (consult Windows doc for instructions).
On Windows XP Home and Professional editions you can move your databases to a separate partition and set System Restore to exclude that volume.
Windows XP uses smart copy, so the overhead seen in Windows ME may be less of an issue on XP, for smaller files at least. For larger files (e.g. Firebird database files, natch!) there doesn't seem to be a better answer as long as you have .gdb
files located in the general file system.
Updated notes for Windows Embedded
Some changes between Firebird 1.5 and Firebird 2.0 mean the existing docs are slightly out-of-date. For convenience, the following are the updated notes.
The embedded server is a fully functional server linked as a dynamic library (fbembed.dll
). It has exactly the same features as the usual Superserver and exports the standard Firebird API entrypoints.
The embedded server acts as a true local server for a single client accessing databases on a local machine. It can also act as a remote gateway that redirects all network calls to other hosts, just as the regular client library does.
Registry
The Firebird Registry entries are ignored. The root directory of the embedded server is the same directory as the one where the embedded library binary is located.
Database access
Client access can be only via the local (XNET) protocol, i.e. NOT a TCP/IP local loopback connection string that includes the server name localhost
or the IP address 127.0.0.1. The embedded server supports only the local connect to an absolute database file path without a server name.
Warning: Do not try to connect to any mapped location, even one that is physically located on the same machine.
The client program gets exclusive access to the database file after successful connect.
Authentication and security
The security database (security2.fdb
) is not used in connecting to the embedded server. Hence it is not required. Any user is able to attach to any database. Since both the server and the client run in the same address space, security becomes just an agreement between the accessor and the accessed, which can be easily compromised.
Note: SQL privileges are still checked and enforced. Users that are assigned privileges in a Firebird database are not dependent on the existence of the user in the security database. Applications may still validly pass a user name in the database connection attributes.
Compatibility
You may run any number of applications with the embedded server without any conflicts. Having a full Firebird or InterBase® server running on the same machine is not a problem either.
However, be aware that you cannot access a single database from a number of embedded servers simultaneously, regardless of whether they be embedded or full servers. An embedded server has the Superserver architecture and hence exclusively locks attached databases.
Installing an embedded server application
MS Visual C/C++ Runtimes
The MS runtime libraries msvcp71.dll
and msvcr71.dll
must be available in the embedded library's path. You can extract copies of these libraries from the zip kit version of the full Firebird build if they are not already present on your system.
Application Root
Just copy fbembed.dll
, icudt30.dll
, icuin30.dll
and icuuc30.dll
into the directory with your application exectable.
You should also copy firebird.msg
and firebird.conf
(if necessary) to the same directory.
Note: You will need firebird.conf
only if it is necessary to set some non-default configuration parameter for the embedded server.
If external libraries are required for your application, such as INTL support (fbintl.dll
and fbintl.conf
) or UDF libraries, create subdirectories beneath the application root for them, emulating the Firebird server ones, e.g. /intl
or /udf
, respectively.
Rename fbembed.dll
Rename fbembed.dll
to either fbclient.dll
or gds32.dll
, according to which is required by your database connectivity software.
Start your application
Now start your application and it will use the embedded server as a both a client library and a server and will be able to access local datasases via the XNET network emulation protocol.
Installation structure examples
c:\my_app\app.exe c:\my_app\gds32.dll c:\my_app\ib_util.dll c:\my_app\icudt30.dll c:\my_app\icuin30.dll c:\my_app\icuuc30.dll c:\my_app\firebird.conf c:\my_app\firebird.msg c:\my_app\intl\fbintl.dll c:\my_app\intl\fbintl.conf c:\my_app\udf\fbudf.dll
Suppose you want to place the Firebird files (excluding the renamed fbembed.dll
) in another directory. In that case, you need to modify your firebird.conf
and set RootDirectory
to the Firebird directory tree that is parent to the Firebird files.
Example
c:\my_app\app.exe c:\my_app\gds32.dll c:\my_app\ib_util.dll c:\my_app\icudt30.dll c:\my_app\icuin30.dll c:\my_app\icuuc30.dll c:\my_app\firebird.conf d:\fb\firebird.msg d:\fb\intl\fbintl.dll d:\fb\intl\fbintl.conf d:\fb\udf\fbudf.dll
In firebird.conf
:
RootDirectory = d:\fb
POSIX platforms
(Originally by Mark O'Donohue, revised for 2.0)
The Firebird server comes in two forms, Classic, which runs as a service, and Superserver, which runs as a background daemon. Classic is the more traditional UNIX service, while Superserver uses threads, rather than processes. For the user just starting out with Firebird, either will do, although the Classic server is likely to prove a better platform for initially experimenting with Firebird.
READ THIS FIRST
- You will need to be root user to install Firebird.
- Installation on Linuxen requires a
glibc
package installed that is equal to or greater thanglibc-2.2.5
and alibstdc++.so
equal to or greater thanlibstdc++-5.0
.
Note: Some higher distros, e.g. Mandriva 10.2, might fail to complete the password-setting script at the end of a Classic installation because the local client, libfbembed.so
needs libstdc++.so.5
and the installed version of this runtime is missing. An impure solution that should solve the immediate problem, at least, is to Google for "compat-libstdc++
" and find one that was built for your kernel version.
The pure solution of course is to compile Firebird on the same system that you are going to run it on! This might be necessary, anyway, if the compatibility runtimes cause problems with other applications.
- Do not try to use
rpm
--update to bring any existing Firebird package installation up to date. The Firebird packages do not support it. - If you are installing Superserver on a Linux that supports the "new POSIX threading library" (NPTL) then choose the NPTL build of Firebird. Most distros with the 2.6 kernel are built with NPTL enabled; some with later 2.4 kernels also enabled it, but it may be wise to prepare to revert to the regular build and set up to export the
LD_ASSUME_KERNEL=2.2.5
variable if the 2.4 implementation of the NPTL causes problems. Details for doing this follow below. - 64-bit builds are available for both Classic and Superserver. These should be installed only on a 64-bit Linux system. NPTL support is native on 64-bit Linux.
Setting Linux to use the old threading model
If the NPTL causes problems for Superserver and locally compiled programs, including utilities such as gbak
throwing a Broken Pipe error, you can try to solve the problem by forcing Linux to use the old threading model.
To fix:
1. In /etc/init.d/firebird
:
LD_ASSUME_KERNEL=2.2.5 export LD_ASSUME_KERNEL
That takes care of the server instance.
2. You need to have the LD_ASSUME_KERNEL
environment variable set up within the local environment as well, so add the following to /etc/profile
, to ensure every user picks it up for the command line utilities.
after
HISTSIZE=1000
add
LD_ASSUME_KERNEL=2.2.5
On the following line, export it (this is all in one line):
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUT_RC LD_ASSUME_KERNEL
Installing on Linux
The following instructions describe the Classic installation. For installation of Superserver the "CS" in the package name is replaced by "SS". For example, the package FirebirdCS-2.0.0-nnnnn.i686.rpm
is replaced by FirebirdSS-2.0.0-nnnnn.i686.rpm
.
Note: For those who, in the past, have had trouble installing Firebird on Slackware, the good news is that the installers in this version do include Slackware support.
Log in as root, or open a root shell. In the example filenames, replace nnnnn
with the build number of the kit you actually have.
RPM Installer
For the RPM installer, type:
$rpm -ivh FirebirdCS-2.0.0-nnnnn.i686.rpm
Installing the Tarball
To install the tarball, place the .tar.gz
file and type:
$tar -xzf FirebirdCS-2.0.0-nnnnn.tar.gz $cd FirebirdCS-2.0.0-nnnnn.i686 $./install.sh
What the Linux install scripts will do
The Linux install scripts will:
- Attempt to stop any currently running server.
- Add the user
firebird
and the groupfirebird
if they do not already exist. - Install the software into the directory
/opt/firebird
and create links for libraries in/usr/lib
and header files in/usr/include
. - Automatically add
gds_db
for port 3050 to/etc/services
if the entry does not already exist. - Automatically add
localhost.localdomain
andHOSTNAME
to/etc/gds_hosts.equiv
. - a. Superserver only installs a
/etc/rc.d/init.d/
firebird server start script.
/etc/xinetd.d/
firebird start script or, for older inetd systems, adds an entry to the /etc/inetd
file.
- Specific to SuSE, a new
rcfirebird
link is created in/usr/bin
for theinit.d
script and an/etc/rc.config
Firebird entry is created. - Starts the server/service. Firebird should start automatically in runlevel 2, 3 or 5.
- Generates and sets a new random SYSDBA password and stores it in the file
/opt/firebird/SYSDBA.password
. - Adds an entry to
aliases.conf
for the sample database,employee.fdb
.
Testing your Linux installation
Step 1 - Accessing a database
In a shell:
$cd /opt/firebird/bin $./isql -user sysdba -password <password> 1 SQL>connect localhost:employee.fdb /* this is an aliased path */ SQL>select * from sales; SQL>select rdb$relation_name from rdb$relations; SQL>help; SQL>quit;
Note: 1 A password has been generated for you on installation. It can be obtained from the /opt/firebird/SYSDBA.password
file, located in the Firebird root directory.
Step 2 - Creating a database
The Firebird server runs by default as the user 'firebird'. While this has always been the recommended configuration, the previous default was for the server to run as 'root' user. When running as root user, the server had quite wide-ranging ability to read, create and delete database files anywhere on the POSIX file system.
For security reasons, the service should have a more limited ability to read/delete and create files.
While the new configuration is better from a security perspective, it requires some special considerations to be taken into account for creating new databases:
- the user 'firebird' has to have write permission to the directory in which you want to create the database.
- the recommended value of the
DatabaseAccess
attribute in the/opt/firebird/firebird.conf
file should be set toNone
, to permit access only through entries in thealiases.conf
file. - use entries in
aliases.conf
to abstract users from the physical locations of databases.
Procedures for creating a new database can vary with different configurations but the following configuration and steps are recommended:
- If a directory that is owned by the user 'firebird' does not exist, then change to root user and create the directory:
$su - root $mkdir -p /var/firebird $chown firebird:firebird /var/firebird
- Create a new physical database and set up an alias entry to point to it. As root or firebird user, run the following script:
$cd /opt/firebird/bin $./createAliasDB.sh test.fdb /var/firebird/test.fdb
(Usage is: createAliasDB.sh <dbname> <pathtodb>
)
- As an alternative (for step 2) the steps in the
createAliasDB.sh
script can be performed manually by:
$vi /opt/firebird/aliases.conf
and add the line at the end of the file:
test.fdb /var/firebird/test.fdb
- Then create the database:
$/opt/firebird/bin/isql -u sysdba -p <password> SQL>create database 'localhost:test.fdb'; SQL>quit;
- If the
DatabaseAccess
value in/opt/firebird/firebird.conf
is set toFull
or a restricted path value (for example:DatabaseAccess=/var/firebird
) another alternative to step 2 is to create the physical database file directly, using the absolute path with the filename:
$/opt/firebird/bin/isql -u sysdba -p <password> SQL>create database '/var/firebird/test.fdb'; SQL>quit;
If you use this configuration, the database file can also be directly accessed without an entry in the aliases file:
$/opt/firebird/bin/isql -u sysdba -p <password> SQL>connect '/var/firebird/test.fdb'; SQL>quit;
Utility scripts
In addition to the standard install files the following scripts are provided in the bin directory of this release:
changeDBAPassword.sh
Change the Firebird SYSDBA user password. For Superserver, this script will change the init script /etc/rc.d/init.d/firebird
to use the new password as well.
createAliasDB.sh
Usage: createAliasDB.sh <dbname> <dbpath>
This script creates a new physical database and adds an entry in the aliases.conf
file.
fb_config
A script that can be used in makefiles
to generate the required include paths and lib include directives for the installed version of Firebird. fb_config -help
will give a complete list of options.
changeGdsLibraryCompatibleLink.sh
Classic only: Change the client library link for libgds.so
between the multithreaded libfbclient.so
and the single threaded libfbembed.so
library that allows an embedded direct open of the db file. For compatibility with previous installs, libgds.so
by default points to libfbembed.so
.
Linux server tips
"Embedded" or direct access to database files
The Classic install offers an "embedded" mode of access that allows programs to open database files directly. To operate in this mode, a database-enabled user requires privileged access to some of the Firebird configuration and status files.
Now that it is the 'firebird' user (not root) that is the default user to run the software, you need to know how to get a user into the firebird group to enable direct access to databases. It is documented in the readme notes, but the following steps should get you where you need to be.
To add a user (e.g. skywalker
) to the firebird group, the root user needs to do:
$ usermod -G firebird skywalker
Next time skywalker
logs on, he can start working with firebird databases.
To list the groups that a user belongs to, type the following at the command line:
$ groups
Warning: We have been informed of a “gotcha” with the usermod syntax in the Debian family of Linux platforms (including Ubuntu). The switches for this command are non-standard and the above usage will remove the user from all other groups.
Please study the online documentation for your distro to work out the syntax you need to add a user to a group in Debian.
Uninstalling on Linux
If you need to uninstall, do it as root user. The following examples use Classic server but the same holds true for Superserver by replacing the CS with SS.
Uninstalling an RPM package
For rpm
packages:
$rpm -e FirebirdCS-2.0.0
Uninstalling a tarball installation
for the .tar.gz
install:
$/opt/firebird/bin/uninstall.sh
Solaris
Install Firebird Classic & Superserver on Solaris 2.7 Sparc, not currently available. Please refer to older Release Notes as a reference to 2.0 installations.
MacOS X
Install Firebird Classic on MacOS X / Darwin, not currently available. Please refer to older Release Notes as a reference to 2.0 installations.
FreeBSD
Not currently available. Please refer to older Release Notes as a reference to 2.0 installations.
Debian
Not currently available. Please refer to the relevant pages at the Debian site for your Debian version and Firebird 2.0 build.
back to top of page
<< Known compatibility issues | Firebird 2.0.7 Release Notes | Bugs fixed >>