Установка актуальной версии Firebird на Ubuntu
В официальных репозиториях Ubuntu можно найти пакеты Firebird не самой первой свежести. Например для моего текущего LTS-релиза 10.04.4 Lucid Lynx (да-да, я ретроград, надух не переваривающий Unity и Gnome3) это будет Firebird 2.5.0.26074. В то время как последний официальный релиз — 2.5.2.26540 Security Update 1. Если нужен последний релиз, нужно либо собирать птицу из исходников, либо подключить сторонний репозиторий. Далее рассматривается второй вариант.
Добавляем ppa:
sudo add-apt-repository ppa:mapopa
Далее производим установку сервера. В процессе у вас запросят пароль супер-пользователя (SYSDBA):
sudo apt-get install firebird2.5-super
Это архитектура супер-сервер. Если вы предпочитаете использовать альтернативные конфигурации классик или супер-классик, то команды на установку пакетов будут такие:
sudo apt-get install firebird2.5-classic
sudo apt-get install firebird2.5-superclassic
Если вы не знаете, какая из трех архитектур нужна вам, ознакомьтесь с документацией (если на русском, то из Quick Start Guide старой версии 1.5), либо сразу начните с архитектуры супер-сервер.
Запустим конфигуратор установленной версии (подправьте имя пакета, если вы остановились на классик или супер-классик архитектуре):
sudo dpkg-reconfigure firebird2.5-super
Устанавливаем dev-пакет и примеры:
sudo apt-get install firebird2.5-examples firebird2.5-dev
Эталонная (тестовая) база employee.fdb установится в виде архива в /usr/share/doc/firebird2.5-examples/examples/empbuild/
Распакуем и положим куда-нибудь поближе:
cd /usr/share/doc/firebird2.5-examples/examples/empbuild/ sudo gunzip employee.fdb.gz sudo chown firebird.firebird employee.fdb sudo mv employee.fdb /var/lib/firebird/2.5/data/
Подключимся к тестовой БД через консольную утилиту isql:
SQL> connect «localhost:/var/lib/firebird/2.5/data/employee.fdb» user ‘SYSDBA’ password ‘SYSDBApassword’;
Замените пароль на свой.
Не забываем оканчивать команды точкой с запятой.
Всегда добавляйте «localhost:» перед файловым путем к БД. В этом случае lock-файлы и сегменты разделяемой памяти будут во владении учетной записи ‘firebird’. Другой вариант — добавить себя к группе ‘firebird’
$ sudo adduser `id -un` firebird
Если всё прошло успешно, то вы увидите сообщение, что подключение установлено к такой-то базе под таким-то пользователем. Далее будет приглашение к вводу команды:
Database: «/var/lib/firebird/2.5/data/employee.fdb «, User: SYSDBA
SQL>
Вы можете запросить имеющиеся в базе таблицы:
SQL> show tables;
COUNTRY CUSTOMER
DEPARTMENT EMPLOYEE
EMPLOYEE_PROJECT JOB
PROJECT PROJ_DEPT_BUDGET
SALARY_HISTORY SALES
либо версию сервера:
SQL> show version;
ISQL Version: LI-V2.5.2.26508 Firebird 2.5
Server version:
Firebird/linux AMD64 (access method), version «LI-V2.5.2.26508 Firebird 2.5»
Firebird/linux AMD64 (remote server), version «LI-V2.5.2.26508 Firebird 2.5/tcp (arni-ubuntu)/P12»
Firebird/linux AMD64 (remote interface), version «LI-V2.5.0.26074 Firebird 2.5/tcp (arni-ubuntu)/P12»
on disk structure version 11.2
Создадим новую БД:
SQL> create database «/var/lib/firebird/2.5/data/first_database.fdb» user ‘SYSDBA’ password ‘SYSDBApassword’ default character set UTF8;
Commit current transaction (y/n)?y
Committing.
Удостоверимся, что мы подключены действительно к новой (пустой) БД:
SQL> show tables;
There are no tables in this database
Создадим таблицу и наполним её парой строк:
SQL> create table TEST(ID int not null primary key, NAME varchar(20));
SQL> show tables;
TEST
SQL> insert into TEST values (1, ‘Firebird’);
SQL> insert into TEST values (2, ‘Hallo,Habr’);
SQL> select * from TEST;
ID NAME
Hе секрет, что rollback надо делать пореже,
Лучше делать почаще commit!
Я программой своей скоро сервер повешу — У админа пускай голова поболит.
Под крики о кастрации,
В обкуренной прострации,
Как следствие мутации
Рождается в момент
Rollback segment для маленькой,
Для маленькой такой транзакции,
Для скромной такой транзакции
Огромный такой сегмент!
Hе секрет, что rollback — это язва и грыжа,
Геморрой и чуть-чуть гайморит.
Если ты программист, а не ослик бесстыжий — Лучше делай почаще commit!
Hе секрет, что друзьям тоже надо ресурсы,
Hадо память, процессор и диск…
Так что делай commit, а иначе… ты в курсе,
Что rollback — для тебя неоправданный риск.
Чтобы выйти из консольного инструмента:
SQL> quit;
либо более традиционно: ^D
Под конец установим GUI-инструмент для администрирования баз данных Firebird: FlameRobin
sudo apt-get install flamerobin
После установки ищите его в меню: Приложения => Программирование => FlameRobin.
Регистрируем нашу БД:
И используем:
Инструмент нельзя назвать продвинутым. Из windows (а также, говорят, из wine) можно подключаться и администрировать БД с помощью IBExpert. Это уже мощнейшая IDE, которая даст фору многим проприетарным продуктам для таких коммерческих СУБД как MsSQL или Oracle. Но самое главное — для exUSSR она бесплатна:
IB Expert — The Most Expert for InterBase, Firebird and Yaffil
Copyright © 2000-2012 IBExpert KG
All rights reserved.
Раз Вы читаете этот текст, значит на Вашем компьютере установлена
кодовая страница WIN1251. А это в свою очередь означает, что Вы вправе
использовать этот продукт совершенно бесплатно.
В любом случае, Вы всегда можете помочь нам своими советами
по улучшению продукта, баг-репортами и новыми идеями.
Setting up Firebird on Ubuntu Linux
This article describes the process of installing and running Firebird on Ubuntu Linux. It should also work without modification in the Debian GNU/Linux distribution (testing version named Wheezy and unstable version named Sid). Ubuntu is based on Debian core packages. Installing software with Ubuntu is very straightforward and Firebird is no exception. This guide is based on Ubuntu 12.04 LTS “ The Precise Pangolin ” but it can be used with a current supported stable release.
The version of Firebird packaged with Ubuntu “ Precise Pangolin ” is 2.5.1 and is included by default . For stable Ubuntu releases there is a Firebird stable ppa repository from where you can install the stable versions latest LTS and current stable .
With administrator privileges on the target machine, issue the following command:
$ sudo su # apt-get install firebird2.5-superclassic
Apt’s dependency tracking will automatically propose all the packages required for a complete installation with the following output:
Reading package lists. Done Building dependency tree Reading state information. Done The following extra packages will be installed: firebird2.5-classic-common firebird2.5-common firebird2.5-common-doc firebird2.5-server-common libfbclient2 libfbembed2.5 libib-util Suggested packages: firebird2.5-doc The following NEW packages will be installed: firebird2.5-classic-common firebird2.5-common firebird2.5-common-doc firebird2.5-server-common firebird2.5-superclassic libfbclient2 libfbembed2.5 libib-util 0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded. Need to get 3,370 kB of archives. After this operation, 14.9 MB of additional disk space will be used. Do you want to continue [Y/n]? Y
The packages will then download and install on the target machine. A new user “ firebird ” will be created to run the server, but the server will not yet be started by default:
Selecting previously unselected package firebird2.5-common-doc. Unpacking firebird2.5-common-doc (from . /firebird2.5-common-doc_2.5.2~svn+54698.ds4-1_all.deb) . Selecting previously unselected package firebird2.5-common. Unpacking firebird2.5-common (from . /firebird2.5-common_2.5.2~svn+54698.ds4-1_all.deb) . Selecting previously unselected package libfbclient2:amd64. Unpacking libfbclient2:amd64 (from . /libfbclient2_2.5.2~svn+54698.ds4-1_amd64.deb) . Selecting previously unselected package firebird2.5-server-common. Unpacking firebird2.5-server-common (from . /firebird2.5-server-common_2.5.2~svn+54698.ds4-1_amd64.deb) . Selecting previously unselected package libfbembed2.5. Unpacking libfbembed2.5 (from . /libfbembed2.5_2.5.2~svn+54698.ds4-1_amd64.deb) . Selecting previously unselected package libib-util:amd64. Unpacking libib-util:amd64 (from . /libib-util_2.5.2~svn+54698.ds4-1_amd64.deb) . Selecting previously unselected package firebird2.5-classic-common. Unpacking firebird2.5-classic-common (from . /firebird2.5-classic-common_2.5.2~svn+54698.ds4-1_amd64.deb) . Selecting previously unselected package firebird2.5-superclassic. Unpacking firebird2.5-superclassic (from . /firebird2.5-superclassic_2.5.2~svn+54698.ds4-1_amd64.deb) . Setting up firebird2.5-common-doc (2.5.2~svn+54698.ds4-1) . Setting up firebird2.5-common (2.5.2~svn+54698.ds4-1) . Setting up libfbclient2:amd64 (2.5.2~svn+54698.ds4-1) . Setting up firebird2.5-server-common (2.5.2~svn+54698.ds4-1) . Setting up libfbembed2.5 (2.5.2~svn+54698.ds4-1) . Setting up libib-util:amd64 (2.5.2~svn+54698.ds4-1) . Setting up firebird2.5-classic-common (2.5.2~svn+54698.ds4-1) . Setting up firebird2.5-superclassic (2.5.2~svn+54698.ds4-1) . Created default security2.fdb * Firebird 2.5 superclassic server not running * Not starting Firebird 2.5 superclassic server * Use `dpkg-reconfigure firebird2.5-superclassic' to enable
If you want Firebird to start automatically, run dpkg-reconfigure on the package and click the Yes button. Then you will be asked again for the SYSDBA password:
# dpkg-reconfigure firebird2.5-superclassic
If all goes well, Firebird Superserver will be started:
* Firebird 2.5 superclassic server not running * Starting Firebird 2.5 superclassic server. [ OK ] * Firebird 2.5 superclassic server already running
If you’re a seasoned Unix person but new to Ubuntu, you might be wondering where all the Firebird files are residing in the directory hierarchy. To see where all the files were installed by Apt, simply do:
# dpkg -L firebird2.5-classic-common /. /usr /usr/share /usr/share/doc /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/firebird2.5-classic-common /usr/lib /usr/lib/firebird /usr/lib/firebird/2.5 /usr/lib/firebird/2.5/UDF /usr/lib/firebird/2.5/UDF/fbudf.so /usr/lib/firebird/2.5/UDF/ib_udf.so /usr/sbin /usr/sbin/fb_lock_print /usr/bin /usr/bin/fbsvcmgr /usr/bin/gsec /usr/bin/gpre /usr/bin/gbak /usr/bin/gdef /usr/bin/fbstat /usr/bin/fbtracemgr /usr/bin/nbackup /usr/bin/isql-fb /usr/bin/qli /usr/bin/gfix /usr/share/doc/firebird2.5-classic-common
As mentioned, a new user “ firebird ” is created on the target machine.
Now you can switch to the firebird user with the su command if required.
Install the examples and dev files:
# apt-get install firebird2.5-examples firebird2.5-dev
The example databases will wind up in the directory tree /usr/share/doc/firebird2.5-examples/examples/empbuild/ .
Now you can test your Firebird installation by connecting to an example database. Decompress the employee.fdb example database:
# cd /usr/share/doc/firebird2.5-examples/examples/empbuild/ # gunzip employee.fdb.gz # sudo chown firebird.firebird employee.fdb # mv employee.fdb /var/lib/firebird/2.5/data/
Fire up the interactive shell and at the SQL> prompt connect to the employee database using the connect statement:
isql-fb SQL> connect "localhost:/var/lib/firebird/2.5/data/employee.fdb" user 'SYSDBA' password 'SYSDBApassword
';
(replacing SYSDBApassword with the correct password for SYSDBA !)
When you manage to successfully connect to the database you will see the message:
Database: "localhost:/var/lib/firebird/2.5/data/employee.fdb", User: SYSDBA SQL>
Now, from the SQL> prompt, feel free to browse around the employee database. For instance, you can list the tables and check the server version:
SQL> show tables; COUNTRY CUSTOMER DEPARTMENT EMPLOYEE EMPLOYEE_PROJECT JOB PROJECT PROJ_DEPT_BUDGET SALARY_HISTORY SALES SQL> show version; SQL Version: LI-V2.5.2.26508 Firebird 2.5 Server version: Firebird/linux AMD64 (access method), version "LI-V2.5.2.26508 Firebird 2.5" Firebird/linux AMD64 (remote server), version "LI-V2.5.2.26508 Firebird 2.5/tcp (Lorkstation64)/P12" Firebird/linux AMD64 (remote interface), version "LI-V2.5.2.26508 Firebird 2.5/tcp (Lorkstation64)/P12" on disk structure version 11.2 SQL> quit;
If you want a GUI admin tool, you might check FlameRobin, which is included in the Ubuntu repository. It can be installed with a simple:
# apt-get install flamerobin
If you get an error message like “ Statement failed, SQLCODE = -551 no permission for read-write access to database /var/lib/firebird/2.5/data/employee.fdb ”, then the server process doesn’t have read or write access to the database file. Change the ownership of the database to the user firebird with:
# cd /var/lib/firebird/2.5/data/ # chown firebird:firebird employee.fdb
If you’ve made it this far, your Firebird installation on Ubuntu has been a success. Have a nice day!