SlideShare a Scribd company logo
1 of 19
Download to read offline
Firebird on Linux




           Firebird on Linux



 Author:   Philippe Makowski IBPhoenix
  Email:   pmakowski@ibphoenix.com
Licence:   Public Documentation License
   Date:   2011-11-22




               Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                               How to install



• Project packages
     • rpm
     • tar.gz
• Distributions packages
• Build from sources




                           Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                        Project packages - rpm
• pro
     •   easy ?
     •   secure (sysdba password)
     •   project build (no patch)
     •   project build easier to debug
• con
     •   too generic
     •   not support update (rpm )
     •   not always check dependencies
     •   all in /opt
     •   pre 2.5 builds with old libc
     •   old and not full icu



                             Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                       Project packages - tar.gz
• pro
     •   easy (extract, install)
     •   secure (sysdba password)
     •   project build (no patch)
     •   project build easier to debug
• con
     •   not support update
     •   not check dependencies
     •   pre 2.5 builds with old libc
     •   old and not full icu




                              Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                     Project packages - check list
• classic server
     • xinetd:

           yum install xinetd

• all
        • libc for pre 2.5 (libstdc++.so.5):

           urpmi libstdc++5
           yum install compat-glibc

        • problem ? support list




                               Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                        Distribution packages
• pro
     •   easy
     •   good integration
     •   dependencies correctly managed
     •   build with default distro libc
     •   full icu
• con
     •   can have wrong patch
     •   available later
     •   usualy one version at the same time
     •   full icu




                            Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                           Build from sources
   • pro
        • choice
   • con
        • time
   • what you need to build
        • g++, awk, sed, autoconf
        • lib headers
example under debian:

 apt-get install g++ autoconf automake libtool sed libncurses5-dev make




                            Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                      Build from sources - options



Building from source give you options :
       • with or without OS editline
       • with or without OS ICU
       • service name, port
       • files location options
Example:

 ./autogen.sh --prefix=/opt/firebird --enable-superserver --with-system-editline --with-system-icu




                                 Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux
Fine tuning of the installation directories:

 --with-fbbin executables DIR (PREFIX/bin)
 --with-fbsbin system admin executables DIR (PREFIX/bin)
 --with-fbconf config files DIR (PREFIX)
 --with-fblib object code libraries DIR (PREFIX/lib)
 --with-fbinclude C/C++ header files DIR (PREFIXinclude)
 --with-fbdoc documentation root DIR (PREFIX/doc)
 --with-fbudf UDF DIR (PREFIX/UDF)
 --with-fbsample examples DIR (PREFIX/examples)
 --with-fbsample-db examples database DIR (PREFIX/examples/empbuild)
 --with-fbhelp QLI help DIR (PREFIX/help)
 --with-fbintl international DIR (PREFIX/intl)
 --with-fbmisc misc DIR (PREFIX/misc)
 --with-fbsecure-db security database DIR (PREFIX)
 --with-fbmsg message files DIR (PREFIX)
 --with-fblog log files DIR (PREFIX)
 --with-fbglock guardian lock DIR (PREFIX)
 --with-fbplugins plugins DIR (PREFIX)




                             Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

After installation
Some points you have may have to check :
       • xinetd
       • max open files
       • file system




                           Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                             Classic and xinetd
Below is a sample /etc/xinetd.conf file:

 defaults
 {
        instances                  =   500
        log_type                   =   SYSLOG authpriv
        log_on_success             =   HOST PID
        log_on_failure             =   HOST
        cps                        =   5000 1000
        per_source                 =   200
 }
 includedir /etc/xinetd.d


instances — Sets the maximum number of requests xinetd can handle at once
cps — Configures xinetd to allow no more than 5000 connections per second to any
given service. If this limit is reached, the service is retired for 1000 seconds.
per_source — Defines the maximum number of instances for a service per source IP
address.
                              Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                             Firebird and Systemd
systemd is a replacement for the System V init daemon for Linux. It is intended to
provide a better framework for expressing services' dependencies, allow more work to
be done in parallel at system startup, and to reduce shell overhead.
Website: http://www.freedesktop.org/wiki/Software/systemd/
With systemd Classic not use anymore xinetd, but a socket activation. For example in
Fedora, we have to files :
        • /lib/systemd/system/firebird-classic.socket
        • /lib/systemd/system/firebird-classic@.service

To start Firebird Classic:

 systemctl start firebird-classic.socket




                              Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                          Check max open files
You have to check :
         • file-max
         • ulimit
On Linux systems, there is a limit set in the kernel on how many open file descriptors
are allowed on the system
To check this value:

 # sysctl fs.file-max
 fs.file-max = 203786


usually this number is high enough, but if you need to change it:

 # sysctl -w fs.file-max=360000
 fs.file-max = 360000




                              Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux
Above commands let the system remember new settings until the next system restart.
If you want to make the change permanent you have to edit file: /etc/sysctl.conf:

 fs.file-max=360000


It will be automatically loaded next time you start the server. Command:

 # sysctl -p


Causes the /etc/systcl.conf to be reloaded which is useful when you added more
parameters to the file and don't want to restart the server.
There are also 2 types of system limits: soft limit which can be temporarily exceeded
by the user and hard limit which can not be exceeded. To see your hard limit execute
command:

 # ulimit -Hn




                             Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux
but to see the limit for the firebird user, you have to be logged in as firebird user.
To set up firebird limits, edit /etc/security/limits.conf:

 firebird soft nofile 4096
 firebird hard nofile 10240


For those changes to make an effect you have to logout from the modified account and
login again. New limits should be applied.




                               Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                                    File system
No obvious rules there
       • kernel dependant
       • choose the file system you trust
What can have performance influence :
       • mount option
            • sync / async : How the input and output to the filesystem should be
              done. sync means it's done synchronously (more secure)
            • atime / noatime : atime (update on access), noatime (do not update) last
              accessed time.
   you can check this in /etc/fstab
       • scheduler : often deadline scheduler perform better than cfq
    you can check the scheduler used with:

     # cat /sys/block/sda/queue/scheduler
     noop deadline [cfq]

                             Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux
About the scheduler, pass the option to your boot loader, /etc/grub.conf:

 title Red Hat Enterprise Linux Server (2.6.18-8.el5)
  root (hd0,0)
  kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/sda2 elevator=deadline
  initrd /initrd-2.6.18-8.el5.img


or change it for the hard disk you want:

 # echo deadline > /sys/block/sda/queue/scheduler
 or
 $ echo deadline | sudo tee /sys/block/queue/scheduler


If you want a permanent change, use sysfsutils:

 # apt-get install sysfsutils
 # grep scheduler /etc/sysfs.conf
 block/sdc/queue/scheduler = cfq
 # /etc/init.d/sysfsutils restart


                              Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux




Make your own tests, read




Article about Firebird and Linux File Systems :
http://www.ibphoenix.com/resources/documents/search/doc_26




                            Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

      Thank you !




Philippe Makowski - IBPhoenix - 2011-11-22

More Related Content

What's hot

Linux firmware for iRMC controller on Fujitsu Primergy servers
Linux firmware for iRMC controller on Fujitsu Primergy serversLinux firmware for iRMC controller on Fujitsu Primergy servers
Linux firmware for iRMC controller on Fujitsu Primergy serversVladimir Shakhov
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux BasicsMarc Leeman
 
Python on FreeBSD
Python on FreeBSDPython on FreeBSD
Python on FreeBSDpycontw
 
Fast boot
Fast bootFast boot
Fast bootSZ Lin
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini
 
Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Anne Nicolas
 
Linux field-update-2015
Linux field-update-2015Linux field-update-2015
Linux field-update-2015Chris Simmonds
 
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...
XPDS16:  Xenbedded: Xen-based client virtualization for phones and tablets - ...XPDS16:  Xenbedded: Xen-based client virtualization for phones and tablets - ...
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...The Linux Foundation
 
NeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD XNeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD XiXsystems
 
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Stefano Babic
 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionSherif Mousa
 
4. open mano set up and usage
4. open mano set up and usage4. open mano set up and usage
4. open mano set up and usagevideos
 
BonFIRE: features, sites and tools
BonFIRE: features, sites and toolsBonFIRE: features, sites and tools
BonFIRE: features, sites and toolsBonFIRE
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchlinuxlab_conf
 
Software update for IoT: the current state of play
Software update for IoT: the current state of playSoftware update for IoT: the current state of play
Software update for IoT: the current state of playChris Simmonds
 
OSDC 2014: Nat Morris - Open Network Install Environment
OSDC 2014: Nat Morris - Open Network Install EnvironmentOSDC 2014: Nat Morris - Open Network Install Environment
OSDC 2014: Nat Morris - Open Network Install EnvironmentNETWAYS
 
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)iXsystems
 
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily JobLuca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Joblinuxlab_conf
 
Tutorial: Cross-compiling Linux Kernels on x86_64
Tutorial: Cross-compiling Linux Kernels on x86_64Tutorial: Cross-compiling Linux Kernels on x86_64
Tutorial: Cross-compiling Linux Kernels on x86_64Samsung Open Source Group
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphoneChris Simmonds
 

What's hot (20)

Linux firmware for iRMC controller on Fujitsu Primergy servers
Linux firmware for iRMC controller on Fujitsu Primergy serversLinux firmware for iRMC controller on Fujitsu Primergy servers
Linux firmware for iRMC controller on Fujitsu Primergy servers
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux Basics
 
Python on FreeBSD
Python on FreeBSDPython on FreeBSD
Python on FreeBSD
 
Fast boot
Fast bootFast boot
Fast boot
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
 
Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?
 
Linux field-update-2015
Linux field-update-2015Linux field-update-2015
Linux field-update-2015
 
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...
XPDS16:  Xenbedded: Xen-based client virtualization for phones and tablets - ...XPDS16:  Xenbedded: Xen-based client virtualization for phones and tablets - ...
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...
 
NeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD XNeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD X
 
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Software update for embedded systems - elce2014
Software update for embedded systems - elce2014
 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems Introduction
 
4. open mano set up and usage
4. open mano set up and usage4. open mano set up and usage
4. open mano set up and usage
 
BonFIRE: features, sites and tools
BonFIRE: features, sites and toolsBonFIRE: features, sites and tools
BonFIRE: features, sites and tools
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
 
Software update for IoT: the current state of play
Software update for IoT: the current state of playSoftware update for IoT: the current state of play
Software update for IoT: the current state of play
 
OSDC 2014: Nat Morris - Open Network Install Environment
OSDC 2014: Nat Morris - Open Network Install EnvironmentOSDC 2014: Nat Morris - Open Network Install Environment
OSDC 2014: Nat Morris - Open Network Install Environment
 
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
 
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily JobLuca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
 
Tutorial: Cross-compiling Linux Kernels on x86_64
Tutorial: Cross-compiling Linux Kernels on x86_64Tutorial: Cross-compiling Linux Kernels on x86_64
Tutorial: Cross-compiling Linux Kernels on x86_64
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphone
 

Similar to Firebird on Linux

CentOS Stream at Facebook
CentOS Stream at FacebookCentOS Stream at Facebook
CentOS Stream at FacebookDavide Cavalca
 
Building Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 ArchBuilding Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 ArchSherif Mousa
 
Moby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at Kiratech
Moby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at KiratechMoby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at Kiratech
Moby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at KiratechKiratech
 
Containerday17 Moby-linuxkit-DockerCon-2017-announcements
Containerday17 Moby-linuxkit-DockerCon-2017-announcementsContainerday17 Moby-linuxkit-DockerCon-2017-announcements
Containerday17 Moby-linuxkit-DockerCon-2017-announcementsKiratech
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMSherif Mousa
 
Running CentOS on the Facebook fleet
Running CentOS on the Facebook fleetRunning CentOS on the Facebook fleet
Running CentOS on the Facebook fleetDavide Cavalca
 
Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...Max Romanovsky
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovskyphp-user-group-minsk
 
Tribal Nova Docker feedback
Tribal Nova Docker feedbackTribal Nova Docker feedback
Tribal Nova Docker feedbackNicolas Degardin
 
Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5Carlos Eduardo
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2Qualcomm Developer Network
 
Navigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas SaariMetosin Oy
 
linux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrixlinux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrixSherif Mousa
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkBenjamin Zores
 
Introduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systemsIntroduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systemsNaohiko Shimizu
 
Building community with CentOS Stream
Building community with CentOS StreamBuilding community with CentOS Stream
Building community with CentOS StreamDavide Cavalca
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetDavide Cavalca
 
Developing an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureChristian Charreyre
 

Similar to Firebird on Linux (20)

CentOS Stream at Facebook
CentOS Stream at FacebookCentOS Stream at Facebook
CentOS Stream at Facebook
 
Building Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 ArchBuilding Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 Arch
 
Moby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at Kiratech
Moby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at KiratechMoby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at Kiratech
Moby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at Kiratech
 
Containerday17 Moby-linuxkit-DockerCon-2017-announcements
Containerday17 Moby-linuxkit-DockerCon-2017-announcementsContainerday17 Moby-linuxkit-DockerCon-2017-announcements
Containerday17 Moby-linuxkit-DockerCon-2017-announcements
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
 
Running CentOS on the Facebook fleet
Running CentOS on the Facebook fleetRunning CentOS on the Facebook fleet
Running CentOS on the Facebook fleet
 
Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovsky
 
Tribal Nova Docker feedback
Tribal Nova Docker feedbackTribal Nova Docker feedback
Tribal Nova Docker feedback
 
Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
 
Rac on NFS
Rac on NFSRac on NFS
Rac on NFS
 
Navigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
linux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrixlinux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrix
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux Framework
 
Introduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systemsIntroduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systems
 
Building community with CentOS Stream
Building community with CentOS StreamBuilding community with CentOS Stream
Building community with CentOS Stream
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleet
 
Developing an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architecture
 

More from Mind The Firebird

Tips for using Firebird system tables
Tips for using Firebird system tablesTips for using Firebird system tables
Tips for using Firebird system tablesMind The Firebird
 
Using Azure cloud and Firebird to develop applications easily
Using Azure cloud and Firebird to develop applications easilyUsing Azure cloud and Firebird to develop applications easily
Using Azure cloud and Firebird to develop applications easilyMind The Firebird
 
A year in the life of Firebird .Net provider
A year in the life of Firebird .Net providerA year in the life of Firebird .Net provider
A year in the life of Firebird .Net providerMind The Firebird
 
How Firebird transactions work
How Firebird transactions workHow Firebird transactions work
How Firebird transactions workMind The Firebird
 
Using ТРСС to study Firebird performance
Using ТРСС to study Firebird performanceUsing ТРСС to study Firebird performance
Using ТРСС to study Firebird performanceMind The Firebird
 
Creating logs for data auditing in FirebirdSQL
Creating logs for data auditing in FirebirdSQLCreating logs for data auditing in FirebirdSQL
Creating logs for data auditing in FirebirdSQLMind The Firebird
 
Firebird Performance counters in details
Firebird Performance counters in detailsFirebird Performance counters in details
Firebird Performance counters in detailsMind The Firebird
 
Understanding Numbers in Firebird SQL
Understanding Numbers in Firebird SQLUnderstanding Numbers in Firebird SQL
Understanding Numbers in Firebird SQLMind The Firebird
 
Threading through InterBase, Firebird, and beyond
Threading through InterBase, Firebird, and beyondThreading through InterBase, Firebird, and beyond
Threading through InterBase, Firebird, and beyondMind The Firebird
 
New SQL Features in Firebird 3, by Vlad Khorsun
New SQL Features in Firebird 3, by Vlad KhorsunNew SQL Features in Firebird 3, by Vlad Khorsun
New SQL Features in Firebird 3, by Vlad KhorsunMind The Firebird
 
Orphans, Corruption, Careful Write, and Logging
Orphans, Corruption, Careful Write, and LoggingOrphans, Corruption, Careful Write, and Logging
Orphans, Corruption, Careful Write, and LoggingMind The Firebird
 
Firebird release strategy and roadmap for 2015/2016
Firebird release strategy and roadmap for 2015/2016Firebird release strategy and roadmap for 2015/2016
Firebird release strategy and roadmap for 2015/2016Mind The Firebird
 
Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...
Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...
Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...Mind The Firebird
 
Working with Large Firebird databases
Working with Large Firebird databasesWorking with Large Firebird databases
Working with Large Firebird databasesMind The Firebird
 
Stored procedures in Firebird
Stored procedures in FirebirdStored procedures in Firebird
Stored procedures in FirebirdMind The Firebird
 
Superchaging big production systems on Firebird: transactions, garbage, maint...
Superchaging big production systems on Firebird: transactions, garbage, maint...Superchaging big production systems on Firebird: transactions, garbage, maint...
Superchaging big production systems on Firebird: transactions, garbage, maint...Mind The Firebird
 

More from Mind The Firebird (20)

Tips for using Firebird system tables
Tips for using Firebird system tablesTips for using Firebird system tables
Tips for using Firebird system tables
 
Using Azure cloud and Firebird to develop applications easily
Using Azure cloud and Firebird to develop applications easilyUsing Azure cloud and Firebird to develop applications easily
Using Azure cloud and Firebird to develop applications easily
 
A year in the life of Firebird .Net provider
A year in the life of Firebird .Net providerA year in the life of Firebird .Net provider
A year in the life of Firebird .Net provider
 
How Firebird transactions work
How Firebird transactions workHow Firebird transactions work
How Firebird transactions work
 
SuperServer in Firebird 3
SuperServer in Firebird 3SuperServer in Firebird 3
SuperServer in Firebird 3
 
Copycat presentation
Copycat presentationCopycat presentation
Copycat presentation
 
Using ТРСС to study Firebird performance
Using ТРСС to study Firebird performanceUsing ТРСС to study Firebird performance
Using ТРСС to study Firebird performance
 
Overview of RedDatabase 2.5
Overview of RedDatabase 2.5Overview of RedDatabase 2.5
Overview of RedDatabase 2.5
 
Creating logs for data auditing in FirebirdSQL
Creating logs for data auditing in FirebirdSQLCreating logs for data auditing in FirebirdSQL
Creating logs for data auditing in FirebirdSQL
 
Firebird Performance counters in details
Firebird Performance counters in detailsFirebird Performance counters in details
Firebird Performance counters in details
 
Understanding Numbers in Firebird SQL
Understanding Numbers in Firebird SQLUnderstanding Numbers in Firebird SQL
Understanding Numbers in Firebird SQL
 
Threading through InterBase, Firebird, and beyond
Threading through InterBase, Firebird, and beyondThreading through InterBase, Firebird, and beyond
Threading through InterBase, Firebird, and beyond
 
New SQL Features in Firebird 3, by Vlad Khorsun
New SQL Features in Firebird 3, by Vlad KhorsunNew SQL Features in Firebird 3, by Vlad Khorsun
New SQL Features in Firebird 3, by Vlad Khorsun
 
Orphans, Corruption, Careful Write, and Logging
Orphans, Corruption, Careful Write, and LoggingOrphans, Corruption, Careful Write, and Logging
Orphans, Corruption, Careful Write, and Logging
 
Firebird release strategy and roadmap for 2015/2016
Firebird release strategy and roadmap for 2015/2016Firebird release strategy and roadmap for 2015/2016
Firebird release strategy and roadmap for 2015/2016
 
Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...
Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...
Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...
 
Working with Large Firebird databases
Working with Large Firebird databasesWorking with Large Firebird databases
Working with Large Firebird databases
 
Stored procedures in Firebird
Stored procedures in FirebirdStored procedures in Firebird
Stored procedures in Firebird
 
Superchaging big production systems on Firebird: transactions, garbage, maint...
Superchaging big production systems on Firebird: transactions, garbage, maint...Superchaging big production systems on Firebird: transactions, garbage, maint...
Superchaging big production systems on Firebird: transactions, garbage, maint...
 
Firebird meets NoSQL
Firebird meets NoSQLFirebird meets NoSQL
Firebird meets NoSQL
 

Recently uploaded

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 

Firebird on Linux

  • 1. Firebird on Linux Firebird on Linux Author: Philippe Makowski IBPhoenix Email: pmakowski@ibphoenix.com Licence: Public Documentation License Date: 2011-11-22 Philippe Makowski - IBPhoenix - 2011-11-22
  • 2. Firebird on Linux How to install • Project packages • rpm • tar.gz • Distributions packages • Build from sources Philippe Makowski - IBPhoenix - 2011-11-22
  • 3. Firebird on Linux Project packages - rpm • pro • easy ? • secure (sysdba password) • project build (no patch) • project build easier to debug • con • too generic • not support update (rpm ) • not always check dependencies • all in /opt • pre 2.5 builds with old libc • old and not full icu Philippe Makowski - IBPhoenix - 2011-11-22
  • 4. Firebird on Linux Project packages - tar.gz • pro • easy (extract, install) • secure (sysdba password) • project build (no patch) • project build easier to debug • con • not support update • not check dependencies • pre 2.5 builds with old libc • old and not full icu Philippe Makowski - IBPhoenix - 2011-11-22
  • 5. Firebird on Linux Project packages - check list • classic server • xinetd: yum install xinetd • all • libc for pre 2.5 (libstdc++.so.5): urpmi libstdc++5 yum install compat-glibc • problem ? support list Philippe Makowski - IBPhoenix - 2011-11-22
  • 6. Firebird on Linux Distribution packages • pro • easy • good integration • dependencies correctly managed • build with default distro libc • full icu • con • can have wrong patch • available later • usualy one version at the same time • full icu Philippe Makowski - IBPhoenix - 2011-11-22
  • 7. Firebird on Linux Build from sources • pro • choice • con • time • what you need to build • g++, awk, sed, autoconf • lib headers example under debian: apt-get install g++ autoconf automake libtool sed libncurses5-dev make Philippe Makowski - IBPhoenix - 2011-11-22
  • 8. Firebird on Linux Build from sources - options Building from source give you options : • with or without OS editline • with or without OS ICU • service name, port • files location options Example: ./autogen.sh --prefix=/opt/firebird --enable-superserver --with-system-editline --with-system-icu Philippe Makowski - IBPhoenix - 2011-11-22
  • 9. Firebird on Linux Fine tuning of the installation directories: --with-fbbin executables DIR (PREFIX/bin) --with-fbsbin system admin executables DIR (PREFIX/bin) --with-fbconf config files DIR (PREFIX) --with-fblib object code libraries DIR (PREFIX/lib) --with-fbinclude C/C++ header files DIR (PREFIXinclude) --with-fbdoc documentation root DIR (PREFIX/doc) --with-fbudf UDF DIR (PREFIX/UDF) --with-fbsample examples DIR (PREFIX/examples) --with-fbsample-db examples database DIR (PREFIX/examples/empbuild) --with-fbhelp QLI help DIR (PREFIX/help) --with-fbintl international DIR (PREFIX/intl) --with-fbmisc misc DIR (PREFIX/misc) --with-fbsecure-db security database DIR (PREFIX) --with-fbmsg message files DIR (PREFIX) --with-fblog log files DIR (PREFIX) --with-fbglock guardian lock DIR (PREFIX) --with-fbplugins plugins DIR (PREFIX) Philippe Makowski - IBPhoenix - 2011-11-22
  • 10. Firebird on Linux After installation Some points you have may have to check : • xinetd • max open files • file system Philippe Makowski - IBPhoenix - 2011-11-22
  • 11. Firebird on Linux Classic and xinetd Below is a sample /etc/xinetd.conf file: defaults { instances = 500 log_type = SYSLOG authpriv log_on_success = HOST PID log_on_failure = HOST cps = 5000 1000 per_source = 200 } includedir /etc/xinetd.d instances — Sets the maximum number of requests xinetd can handle at once cps — Configures xinetd to allow no more than 5000 connections per second to any given service. If this limit is reached, the service is retired for 1000 seconds. per_source — Defines the maximum number of instances for a service per source IP address. Philippe Makowski - IBPhoenix - 2011-11-22
  • 12. Firebird on Linux Firebird and Systemd systemd is a replacement for the System V init daemon for Linux. It is intended to provide a better framework for expressing services' dependencies, allow more work to be done in parallel at system startup, and to reduce shell overhead. Website: http://www.freedesktop.org/wiki/Software/systemd/ With systemd Classic not use anymore xinetd, but a socket activation. For example in Fedora, we have to files : • /lib/systemd/system/firebird-classic.socket • /lib/systemd/system/firebird-classic@.service To start Firebird Classic: systemctl start firebird-classic.socket Philippe Makowski - IBPhoenix - 2011-11-22
  • 13. Firebird on Linux Check max open files You have to check : • file-max • ulimit On Linux systems, there is a limit set in the kernel on how many open file descriptors are allowed on the system To check this value: # sysctl fs.file-max fs.file-max = 203786 usually this number is high enough, but if you need to change it: # sysctl -w fs.file-max=360000 fs.file-max = 360000 Philippe Makowski - IBPhoenix - 2011-11-22
  • 14. Firebird on Linux Above commands let the system remember new settings until the next system restart. If you want to make the change permanent you have to edit file: /etc/sysctl.conf: fs.file-max=360000 It will be automatically loaded next time you start the server. Command: # sysctl -p Causes the /etc/systcl.conf to be reloaded which is useful when you added more parameters to the file and don't want to restart the server. There are also 2 types of system limits: soft limit which can be temporarily exceeded by the user and hard limit which can not be exceeded. To see your hard limit execute command: # ulimit -Hn Philippe Makowski - IBPhoenix - 2011-11-22
  • 15. Firebird on Linux but to see the limit for the firebird user, you have to be logged in as firebird user. To set up firebird limits, edit /etc/security/limits.conf: firebird soft nofile 4096 firebird hard nofile 10240 For those changes to make an effect you have to logout from the modified account and login again. New limits should be applied. Philippe Makowski - IBPhoenix - 2011-11-22
  • 16. Firebird on Linux File system No obvious rules there • kernel dependant • choose the file system you trust What can have performance influence : • mount option • sync / async : How the input and output to the filesystem should be done. sync means it's done synchronously (more secure) • atime / noatime : atime (update on access), noatime (do not update) last accessed time. you can check this in /etc/fstab • scheduler : often deadline scheduler perform better than cfq you can check the scheduler used with: # cat /sys/block/sda/queue/scheduler noop deadline [cfq] Philippe Makowski - IBPhoenix - 2011-11-22
  • 17. Firebird on Linux About the scheduler, pass the option to your boot loader, /etc/grub.conf: title Red Hat Enterprise Linux Server (2.6.18-8.el5) root (hd0,0) kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/sda2 elevator=deadline initrd /initrd-2.6.18-8.el5.img or change it for the hard disk you want: # echo deadline > /sys/block/sda/queue/scheduler or $ echo deadline | sudo tee /sys/block/queue/scheduler If you want a permanent change, use sysfsutils: # apt-get install sysfsutils # grep scheduler /etc/sysfs.conf block/sdc/queue/scheduler = cfq # /etc/init.d/sysfsutils restart Philippe Makowski - IBPhoenix - 2011-11-22
  • 18. Firebird on Linux Make your own tests, read Article about Firebird and Linux File Systems : http://www.ibphoenix.com/resources/documents/search/doc_26 Philippe Makowski - IBPhoenix - 2011-11-22
  • 19. Firebird on Linux Thank you ! Philippe Makowski - IBPhoenix - 2011-11-22