INSTALLATION NOTES

<< Known compatibility issues | Firebird 2.0.7 Release Notes | Bugs fixed >>

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 The FIREBIRD 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 old security.fdb (or, for a previous Firebird 1.0 installation, isc4.gdb) security database. You can restore it later as security2.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 new firebird.conf. When you use the Windows control panel applet Add/Remove Programs to uninstall Firebird 1.5.x (recommended!), the uninstaller should preserve your existing firebird.conf and aliases.conf. However, it won't hurt to take the precaution of backing up these files to your home directory. The Firebird 1.0.x ibconfig 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:
    1. you understand how your network works.
    2. you understand why a client/server system needs both a server and clients.
    3. 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.
    4. you know to go to the firebird-support list if you get stuck. Join at http://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/or gds32.dll if you have applications that rely on finding those libraries there. You might want to name the backup gds32.dll.fb15 or gds32.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.
The installer will try to detect if an existing version of Firebird or InterBase® is installed and/or running. In a non-installer install, you are on your own!
  • Provided you do not have a FIREBIRD environment variable defined, the default root location of Firebird 2.0 will be C:\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: http://firebird.cvs.sourceforge.net/firebird/firebird2/doc/README.instsvc.

back to top of page

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.

back to top of page

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.

back to top of page

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.

back to top of page

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:

preserves security2.fdb or renames it to security2.fbnnnn
preserves firebird.log
preserves firebird.conf or renames it to firebird.confnnnn
preserves 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.

back to top of page

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
It causes the installation path of the directory above to be written into the registry (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 copy fbclient.dll or a specially-generated clone as gds32.dll to the OS system directory.

back to top of page

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 and gds32.dll from the OS system directory.

back to top of page

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.

back to top of page

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.

back to top of page

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

back to top of page

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 than glibc-2.2.5 and a libstdc++.so equal to or greater than libstdc++-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.

back to top of page

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

back to top of page

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:

  1. Attempt to stop any currently running server.
  2. Add the user firebird and the group firebird if they do not already exist.
  3. Install the software into the directory /opt/firebird and create links for libraries in /usr/lib and header files in /usr/include.
  4. Automatically add gds_db for port 3050 to /etc/services if the entry does not already exist.
  5. Automatically add localhost.localdomain and HOSTNAME to /etc/gds_hosts.equiv.
  6. a. Superserver only installs a /etc/rc.d/init.d/firebird server start script.
b. Classic server installs a /etc/xinetd.d/firebird start script or, for older inetd systems, adds an entry to the /etc/inetd file.
  1. Specific to SuSE, a new rcfirebird link is created in /usr/bin for the init.d script and an /etc/rc.config Firebird entry is created.
  2. Starts the server/service. Firebird should start automatically in runlevel 2, 3 or 5.
  3. Generates and sets a new random SYSDBA password and stores it in the file /opt/firebird/SYSDBA.password.
  4. Adds an entry to aliases.conf for the sample database, employee.fdb.

back to top of page

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:

  1. the user 'firebird' has to have write permission to the directory in which you want to create the database.
  2. the recommended value of the DatabaseAccess attribute in the /opt/firebird/firebird.conf file should be set to None, to permit access only through entries in the aliases.conf file.
  3. 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:

  1. 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


  1. 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>)

  1. 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


  1. Then create the database:


 $/opt/firebird/bin/isql -u sysdba -p <password>
 SQL>create database 'localhost:test.fdb';
 SQL>quit;


  1. If the DatabaseAccess value in /opt/firebird/firebird.conf is set to Full 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;

back to top of page

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.

back to top of page

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.

back to top of page

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 >>