Share on Social Media

Learn how to install Firebird Database Server on CentOS 8 with our step-by-step guide. Ensure a secure and efficient setup for your database needs on CentOS 8. #centlinux #linux #firebird

What is Firebird Database?

Firebird is an open source RDBMS (Relational Database Management System). Firebird is originally a fork of Borland’s open source edition of Interbase in 2000, but since then Firebird code has been changed a lot.

Furthermore, you should be aware that Firebird 3 won’t open databases that were created by older versions. So before taking down your existing setup, you should back up all your databases in order that you can restore them later under Firebird 3.

Firebird Database Features

Some of the notable features of FireBird database are:

  • Full support for stored procedures and triggers
  • Referential integrity
  • Full ACID compliant transactions
  • Support for External Functions
  • Careful writes – fast recovery, no need for transaction logs
  • Incremental backups
  • Full cursor implementation in PSQL
  • Third-party tools, including GUI administrative tools and replication tools

Recommended Online Training: Learn Bash Shell in Linux for Beginners

745772 0021

Linux Server Specification

We are using a KVM based CentOS 8 virtual machine with following specification.

  • CPU – 3.4 Ghz (2 cores)
  • Memory – 2 GB
  • Storage – 20 GB
  • Operating System – CentOS Linux 8.1
  • Hostname – firebird-02.centlinux.com
  • IP Address – 192.168.116.206 /24

Update Linux Software Packages

Connect with firebird-02.centlinux.com as root user by using a ssh tool.

Update Linux software packages by using the dnf command.

# dnf update -y

Install LibTomMath on CentOS 8

Firebird database requires LibTomMath library, a free open source portable number theoretic multiple-precision integer library.

LibTomMath package is not available in standard yum repositories. Therefore, we need to install the EPEL (Extra Packages for Enterprise Linux) first.

# dnf install epel-release -y

Build cache for EPEL and other yum repositories.

# dnf makecache
CentOS-8 - AppStream                            4.0 kB/s | 4.3 kB     00:01
CentOS-8 - Base                                 3.3 kB/s | 3.9 kB     00:01
CentOS-8 - Extras                               1.7 kB/s | 1.5 kB     00:00
Extra Packages for Enterprise Linux Modular 8 - 4.1 kB/s | 6.6 kB     00:01
Extra Packages for Enterprise Linux 8 - x86_64  5.5 kB/s | 6.7 kB     00:01
Metadata cache created.

We can now install LibTomMath library from EPEL repository by using dnf command.

# dnf install -y libtommath

Install Firebird Database Server on CentOS 8

Firebird 3.0.5 is the latest stable release that is available at the time of this writing. Downloads are available for various platforms in this page, so you can download Firebird for your respective operating system.

Firebird Database Server Downloads
Firebird Database Server Downloads

Copy the link of the Firebird compressed tarball and download it by using wget command.

# wget https://github.com/FirebirdSQL/firebird/releases/download/R3_0_5/Firebird-3.0.5.33220-0.amd64.tar.gz
--2020-05-11 01:55:07--  https://github-production-release-asset-2e65be.s3.amazonaws.com/54005538/16a06c80-331a-11ea-92da-1c925f600370?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20200510%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200510T205508Z&X-Amz-Expires=300&X-Amz-Signature=2a96bb0157c8e155b02158bedc67321caa798088b10c76497fdf998eb65f5d8d&X-Amz-SignedHeaders=host&actor_id=0&repo_id=54005538&response-content-disposition=attachment%3B%20filename%3DFirebird-3.0.5.33220-0.amd64.tar.gz&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.217.18.156
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.217.18.156|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8561290 (8.2M) [application/octet-stream]
Saving to: âFirebird-3.0.5.33220-0.amd64.tar.gzâ

Firebird-3.0.5.3322 100%[===================>]   8.16M   663KB/s    in 18s

2020-05-11 01:55:27 (466 KB/s) - âFirebird-3.0.5.33220-0.amd64.tar.gzâ saved [8561290/8561290]

Extract downloaded tarball using tar command to install Firebird on Linux..

# tar xf Firebird-3.0.5.33220-0.amd64.tar.gz

We can install Firebird database by using install.sh script. But during Firebird installation, we have encountered following errors.

/opt/firebird/bin/gsec: error while loading shared libraries: libtommath.so.0: cannot open shared object file: No such file or directory

and

/opt/firebird/bin/gsec: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

The reason behind the above errors is that the Firebird is looking for older versions of these libraries, while in CentOS 8 the new versions of these libraries has been installed.

To overcome these issues, we simply create the softlinks to the new version of these shared libraries.

# ln -s /usr/lib64/libtommath.so.1.1.0 /usr/lib64/libtommath.so.0
# ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5

Now, go to Firebird setup directory and start installation.

# cd Firebird-3.0.5.33220-0.amd64/
# ./install.sh

Firebird 3.0.5.33220-0.amd64 Installation

Press Enter to start installation or ^C to abort
Extracting install data
Updated /etc/services
Please enter new password for SYSDBA user: Str0ngPa55word
Install completed

Installer creates a systemd service for Firebird database.  The Firebird database engine is run in Superserver mode by default. However, you can customize it by using /etc/firebird/firebird.conf configuration file.  For more basic information about Firebird database, we recommend you to read The Firebird Book Second Edition: Volume 1: Firebird Fundamentals (PAID LINK) by Helen Borrie.

Check the status of the Firebird database service.

# cd
# systemctl status firebird-superserver.service
â firebird-superserver.service - Firebird Database Server ( SuperServer )
   Loaded: loaded (/usr/lib/systemd/system/firebird-superserver.service; enabl>
   Active: active (running) since Mon 2020-05-11 02:07:57 PKT; 2min 21s ago
  Process: 27710 ExecStart=/opt/firebird/bin/fbguard -pidfile /var/run/firebir>
 Main PID: 27712 (firebird)
    Tasks: 4 (limit: 5916)
   Memory: 2.0M
   CGroup: /system.slice/firebird-superserver.service
           ââ27711 /opt/firebird/bin/fbguard -pidfile /var/run/firebird/firebi>
           ââ27712 /opt/firebird/bin/firebird

May 11 02:07:57 firebird-02.centlinux.com systemd[1]: Starting Firebird Databa>
May 11 02:07:57 firebird-02.centlinux.com systemd[1]: firebird-superserver.ser>
May 11 02:07:57 firebird-02.centlinux.com systemd[1]: firebird-superserver.ser>
May 11 02:07:57 firebird-02.centlinux.com systemd[1]: Started Firebird Databas>

Installer does not include the Firebird binaries directory in the PATH environmental variable. We need to do it by ourselves.

Edit .bash_profile of root user.

# vi ~/.bash_profile

Locate PATH variable and update it as follows.

PATH=$PATH:$HOME/bin:/opt/firebird/bin/

Save and exit.

We need to execute .bash_profile once, to update PATH environment variable for current session.

# source ~/.bash_profile

Check version of Firebird database.

# firebird -z
Firebird TCP/IP server version LI-V3.0.5.33220 Firebird 3.0

If you are planning to access your FireBird database server across the network, then you have to enable the FireBird default service port in Linux firewall.

# firewall-cmd --permanent --add-port=3050/tcp
success
# firewall-cmd --reload
success

We have successfully install Firebird on Linux server.

Basic Firebird SQL Commands

Connect to sample Firebird database i.e. employee by using isql command as sysdba user.

# isql -u sysdba -p Str0ngPa55word employee
Database: employee, User: SYSDBA
SQL>

We can list database users by using following command.

SQL> show users;
Users in the database
  1 #SYSDBA

Currently, we have only one user in the database, that is why the command provided a single user list.

Check the version of iSQL and Firebird database.

SQL> show version;
ISQL Version: LI-V3.0.5.33220 Firebird 3.0
Server version:
Firebird/Linux/AMD/Intel/x64 (access method), version "LI-V3.0.5.33220 Firebird 3.0"
on disk structure version 12.0

List down the tables in the employee database.

SQL> show tables;
       COUNTRY                                CUSTOMER
       DEPARTMENT                             EMPLOYEE
       EMPLOYEE_PROJECT                       JOB
       PROJECT                                PROJ_DEPT_BUDGET
       SALARY_HISTORY                         SALES

Query data from COUNTRY table by using SELECT statement.

SQL> select * from country;

COUNTRY         CURRENCY
=============== ==========
USA             Dollar
England         Pound
Canada          CdnDlr
Switzerland     SFranc
Japan           Yen
Italy           Euro
France          Euro
Germany         Euro
Australia       ADollar
Hong Kong       HKDollar
Netherlands     Euro
Belgium         Euro
Austria         Euro
Fiji            FDollar
Russia          Ruble
Romania         RLeu

Our CentOS 8 based Firebird database server is working fine.

Final Thoughts

In conclusion, installing Firebird Database Server on CentOS 8 can greatly enhance your data management capabilities with its robust performance and flexibility. Whether you’re setting up a new database or migrating an existing one, Firebird offers the features and reliability you need for your applications.

If you need expert guidance on this process, I offer a detailed service on “How to Install Firebird Database Server on CentOS 8.” With my assistance, you can ensure a smooth and efficient installation, tailored to your specific requirements.

Visit my Fiverr profile to learn more and book my service: Red Hat Certified Engineer

Thank you for considering my service, and I look forward to helping you achieve a seamless database setup!