Firebird для linux mint

Setting up Firebird on Ubuntu Linux

Rodney Gedda

Adrian Marius Popa

8 February 2013 – Document version 2.5

Table of Contents

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:

Apt’s dependency tracking will automatically propose all the packages required for a complete installation with the following output:

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:

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:

If all goes well, Firebird Superserver will be started:

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:

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:

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:

Fire up the interactive shell and at the SQL> prompt connect to the employee database using the connect statement:

(replacing SYSDBApassword with the correct password for SYSDBA !)

When you manage to successfully connect to the database you will see the message:

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:

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:

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:

If you’ve made it this far, your Firebird installation on Ubuntu has been a success. Have a nice day!

Источник

Установка Firebird 3 на современные версии Linux: CentOS8 и Ubuntu 19

В этой статье мы опишем минимальный набор действий, необходимых для оптимальной установки СУБД Firebird версии 3.0 на новые дистрибутивы Linux. Для примеров выбраны CentOS 8 и Ubuntu 19.

Для «доставки» дистрибутива Firebird на целевую систему, в этом руководстве, выбран вариант загрузки tar.gz архива по ссылке с официального сайта проекта (firebirdsql.org).

Для самых нетерпеливых — сразу в бой:

Читайте также:  Не запускается mysql сервер linux

Быстрая установка

Редактируем файл /etc/sysctl.conf , добавляя строку:

Сохраняем файл и применяем настройку:

Дальнейшие инструкции различаются для CentOS 8 и Ubuntu 19, но ССЫЛКА и КАТАЛОГ обозначают ссылку с официального сайта проекта Firebird для загрузки дистрибутива и каталог, в который будет распакован дистрибутив в процессе загрузки.
На текущий момент (март 2020) актуален релиз Firebird 3.0.5 (вот ссылка на 64-битную версию).

Собственно установка СУБД Firebird:

Если вы хотите лучше понимать, что чего служат эти действия – читайте дальше.

Основная часть

Предполагается, что уже ОС установлена в минимальном варианте и настроен доступ к публичным репозиториям или к их локальным копиям.

Предполагается, что у читателя есть базовые знания о Linux и, СУБД Firebird.

На сервере СУБД рекомендуется выделять отдельные разделы для временных файлов ( /tmp ), файлов баз данных и локальных бэкапов.

К временным относятся lock-файлы, файлы сортировок, файлы «материализации» глобальных временных таблиц (GTT) и таблиц мониторинга. Файлы сортировок и глобальных временных таблиц расположены в /tmp , файлы mon$-таблиц и lock-файлы – в /tmp/firebird .

Файлы сортировок «удаляются» ( unlink ) сразу после создания, поэтому их нельзя «увидеть» в листинге каталога – только в списке описателей (handles) процесса (помечены как deleted ):

В листинге псевдокаталога /proc/…/fd/ отображаются симлинки, а фактическую информацию о файле даёт:

где НОМЕР – описатель (дескриптор) интересующего файла.

Вместо вызова « pgrep исполняемый-файл » можно сразу подставить идентификатор интересующего процесса.

Временные файлы могут быть очень большими, поэтому для /tmp рекомендуется выделять не менее 20-30 ГБ. Следует учитывать, что размер файлов сортировок зависит только от объёма данных, явно или неявно сортируемых в запросе и один-единственный пользователь может «создать» гигабайты временных файлов.

Раздел для файлов баз данных должен вмещать файлы всех баз. плюс, как минимум, копию файла самой большой базы. Следует учитывать рост файлов баз в перспективе на несколько лет вперёд.

Раздел локальных бэкапов должен вмещать, как минимум, по одному архиву бэкапов всех баз плюс бэкап самой большой базы. Желательно, чтобы на этом разделе было и место для восстановления самой большой базы. Следует учитывать рост бэкапов и архивов бэкапов в перспективе на несколько лет вперёд.

Сервер СУБД Firebird 3.0 динамически выделяет и освобождает системную память, что может приводить к её фрагментации. Например, после единовременного отключения от суперсервера большого числа пользователей, могут возникают ошибки при новых подключениях.

Фрагментацию памяти контролирует системный параметр vm.max_map_count , по умолчанию – 64K. Рекомендуется увеличить его значение вчетверо:

Чтобы новое значение устанавливалось при перезагрузке системы, добавляем в файл /etc/sysctl.conf строчку:

Желательно сделать комментарий, чтобы была понятна причина изменения этого параметра. Можно сначала отредактировать файл, а затем применить сохранённые в нём установки:

Установка необходимых пакетов

Исполняемые файлы СУБД Firebird 3.0 Linux зависят от библиотек ncurses ( libncurses.so.5 ), ICU (без привязки к версии и без отображения в выводе ldd ) и tommath ( libtommath.so.0 ). Для загрузки и распаковки архива сборки потребуются утилиты gzip , tar и curl или wget . Версии ICU, gzip , tar и curl / wget – несущественны.

Работа с пакетами зависит от системы и от используемого в системе пакетного менеджера, поэтому рассмотрим их поочерёдно.

CentOS 8 использует новый пакетный менеджер – dnf и он же «прозрачно» вызывается по команде yum . Поскольку для наших целей между ними нет разницы – в примерах будет yum .

Обновляем кэш метаданных: sudo yum makecache

Пакет libtomath находится в отдельном E(xtra)P(ackages for)E(nterprise)L(inux) репозитории, поэтому проверяем, что он уже подключен:

Опция «только из кэша» ( -C или —cache-only ) используется, чтобы исключить ненужные проверки и загрузки, ускорив работу yum. Если в списке нет epel-репозитория – устанавливаем его и обновляем кэш метаданных:

Подтверждаем запросы, при необходимости сверяя значения pgp-ключей с уже известными из доверенного источника.

Если возникли проблемы при загрузке метаинформации репозитория с https-ресурсов, то редактируем файл /etc/yum.repos.d/epel.repo , заменяя https:// на http:// и повторяем команду обновления кэша.

Читайте также:  Команда для проверки открытых портов windows

Проверяем статус нужных пакетов (команда сложена, в примере вывода отфильтрован 32-разрядный пакет):

Видим, что curl , gzip и ncurses размещены в псевдорепозитории установщика ( anaconda ), а tar – исключён из минимальной установки системы. Мажорные версии libncurses и libtommath больше, чем требуется: 6 и 1 вместо 5 и 0, соответственно. Если один и тот же пакет и установлен и доступен – для него выпущено обновление. Устанавливаем недостающие пакеты:

Для управления пакетами предназначены утилиты apt , apt‑get и apt‑cache . Первая рассчитана на интерактивную работу, а две последние – на использование в скриптах. Имена пакетов немного другие и включают версию.

Проверяем статус нужных пакетов (команда сложена, пример вывода сокращён и отфильтрованы 32-разрядные пакеты):

Пакеты, для которых в квадратных скобках указано installed / upgradable – установлены. Доступен, но не установлен ncurses5 , вместо curl установлен wget . Устанавливаем недостающие пакеты:

Поскольку libtommath.so.1 и libncurses.so.6 обратно совместимы с libtommath.so.0 и libncurses.so.5 , то для Firebird достаточно создать симлинки на имеющиеся версии библиотек.

Находим libtommath.so.1 ( libncurses.so.? расположены в этом же каталоге ):

Проверяем результат (команда сложена, примеры вывода сокращены):

Загрузка дистрибутива СУБД Firebird.

На официальном сайте проекта Firebird (firebirdsql.org) публикуются ссылки на дистрибутивы «официальных» выпусков (releases) и «ежедневных» сборок (snapshot build).

Официальные выпуски для линукса доступны в виде архивов (tar.gz) и пакетов deb/rpm, а сборки – только в виде архивов. Мы будем рассматривать «общий установщик» (generic installer из tar.gz).

Архив сборки требуется загрузить и распаковать, но мы совместим оба этих процесса. Распаковка делается в /tmp , URL обозначает ссылку на загружаемый архив.

По умолчанию curl посылает загружаемые данные на стандартный вывод, но не обрабатывает перенаправления и мы добавляем « ‑L », а wget , наоборот: обрабатывает перенаправления, но записывает данные в файл и мы ставим « ‑O‑ ». Для tar указываем использование gzip -фильтра и каталог, в который будет выполнена распаковка. По завершении процесса появится каталог вида Firebird‑3.0.5.33220‑0.amd64 с тремя файлами: install.sh , buildroot.tar.gz и manifest.txt .

В ходе предварительной подготовки мы отрегулировали значение системного параметра vm.max_map_count , проверили наличие и установили библиотеки ICU, ncurses и tommath. Убедились в правильности версий ncurses и tommath ( libncures.so.5 и libtommath.so.0 ) и создали необходимые симлинки.

Собственно установка делается очень просто. Переходим в каталог, куда был распакован архив дистрибутива Firebird, проверяем и, при необходимости, устанавливаем флаг «исполняемый» скрипту install.sh :

запускаем инсталяционный скрипт:

нажатием клавиши Enter подтверждаем начало установки, а по получении запроса – вводим пароль sysdba.

Скрипт установки автоматически запускает systemd -юнит firebird-superserver (умалчиваемая архитектура Firebird 3.0). Сервис Firebird будет работать с параметрами по умолчанию для суперсервера: страничный кэш в 2048 страниц (на базу), буфер сортировок в 64 МБ (общий) и подключение только клиентов третьей версии. Просмотр параметров firebird.conf :

Следует учитывать, что новые значения из firebird.conf будут активированы только после перезапуска сервиса Firebird.

При подборе значений параметров следует учитывать, что есть три основных «потребителя»: страничный кэш (для базы), буфер сортировок (общий) и память, выделенная сервером для клиентских подключений. Управлять можно только первыми двумя – объём памяти клиентских подключений зависит от количества и текста кэшированных запросов, их планов и задействованных в запросах объектов базы. Оценка памяти клиентских подключений делается только эмпирически и может меняться при изменении клиентских приложений и/или объектов базы.

Для суперсервера на хостах с малым объёмом памяти (до 12-16 ГБ) не следует выделять для страничного кэша и буфера сортировки более трети-четверти от общего объёма ОЗУ.

Если количество баз не фиксировано и может меняться – общий объём памяти страничного кэша следует делить на максимальное количество баз, которые могут быть на сервере. Размер страничного кэша задаётся в страницах и его надо отдельно пересчитывать в байты.

Для переключения на архитектуру классика требуется, как минимум, явно указать ServerMode в firebird.conf , уменьшить там же страничный кэш (не более 2K), уменьшить буфер сортировок (суммарный допустимый объём всех сортировок, поделённый на максимальное количество подключений), запретить и остановить юнит firebird-superserver , разрешить и запустить юнит firebird-classic.socket .

Читайте также:  Run windows settings windows 10

Использование архитектуры суперклассик в Firebird 3.0 не имеет особого смысла: «надёжность» – как у суперсервера и такой же общий буфер сортировок. Нет общего страничного кэша и «потери» на синхронизацию разных подключений между собой такие же, как у классика.

Источник

Установка Firebird на Ubuntu Linux

Просмотр перевода статьи на документах Goggle.
В данной статье описывается процесс установки и запуска Firebird на Ubuntu Linux. Он также должен работать без изменений в дистрибутивах Debian GNU / Linux (стабильной версии Squeeze и нестабильной Sid версии). Ubuntu базируется на пакетах ядра Debian. Установка программного обеспечения с Ubuntu (или Kubuntu) очень проста и Firebird не является исключением. Это руководство основано на Ubuntu 10.04 LTS “Lucid Lynx”.
(прим. перев. — при составлении перевода использовалась версия Ubuntu 11.04, далее в статье также для установки будет использована версия FireBird 2.5.0 Stable).

С правами администратора на целевой машине, введите следующую команду:

$ sudo su
# apt-get install firebird2.5-super

Система отслеживания зависимостей Apt будет автоматически предлагать все пакеты, необходимые для полной установки со следующим выводом:

Нажмите клавишу “Ввод” и необходимые пакеты будут загружены и установлены на целевую систему. Также будет создан новый пользователь “firebird” для запуска сервера, но сервер пока не будет запускаться автоматически:

Если вы хотите чтобы сервер Firebird запускался автоматически при старте системы, запустите настройку dpkg-reconfigure на данном пакете и нажмите “Да” при соответствующем вопросе. Затем вам будет предложено ввести пароль SYSDBA:

# dpkg-reconfigure firebird2.5-super

После кажатия кнопки “Ок” сервер FireBird будет запущен.

Вы опытный пользователь Unix, но новичек в Ubuntu, тогда вы удивитесь, как удобно расположились все файлы Firebird в иерархии каталогов. Чтобы увидеть, где все файлы были установлены при помощи Apt, выполните следующую команду:

# dpkg -L firebird2.5-super
/.
/etc
/etc/init.d
/etc/init.d/firebird2.5-super
/etc/default
/etc/default/firebird2.5-super
/usr
/usr/share
/usr/share/doc
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/firebird2.5-super
/usr/bin
/usr/bin/nbackup
/usr/bin/qli
/usr/bin/gbak
/usr/bin/gfix
/usr/bin/gpre
/usr/bin/isql-fb
/usr/bin/gsec
/usr/bin/fbstat
/usr/bin/gdef
/usr/lib
/usr/lib/firebird
/usr/lib/firebird/2.5
/usr/lib/firebird/2.5/bin
/usr/lib/firebird/2.5/bin/fbmgr
/usr/lib/firebird/2.5/bin/fbmgr.bin
/usr/lib/firebird/2.5/bin/fb_lock_print
/usr/lib/firebird/2.5/bin/fbguard
/usr/lib/firebird/2.5/bin/fbserver
/usr/lib/firebird/2.5/UDF
/usr/lib/firebird/2.5/UDF/fbudf.so
/usr/lib/firebird/2.5/UDF/ib_udf.so
/usr/share/doc/firebird2.5-super

Как уже упоминалось, для запуска сервера создается новый пользователь «firebird». Обязательно установите пароль для данного пользователя (воспользовавшись правами администратора):

# passwd firebird
Введите новый пароль UNIX:
Повторите ввод нового пароля UNIX:

Сейчас вы можете переключится на пользователя “firebird”, используя команду su, если потребуется.

Установка примеров и файлов для разработчика:

# apt-get install firebird2.5-examples firebird2.5-dev

Примеры баз данных появятся в следующем дереве каталогов
/usr/share/doc/firebird2.5-examples/examples/.
Теперь вы можете проверить свой установленный сервер Firebird, подключившись к примеру базы данных. Распакуйте пример базы данных — employee.fdb:

# cd /usr/share/doc/firebird2.5-examples/examples/empbuild/
gunzip employee.fdb.gz
chown firebird.firebird employee.fdb
mv employee.fdb /var/lib/firebird/2.5/data/

Запустите интерактивную оболочку isql-fb и в SQL> строке запроса введите команду подключения к созданной базе данных employee:

(замените SYSDBApassword на свой пароль для SYSDBA!)
Если Вы успешно подключились к базе данных, вы увидите следующее сообщение:

Теперь из SQL> строки запроса, вы можете просматривать базу данных employee. Например, вы можете получить список таблиц и проверить версию сервера:

Если вы хотите использовать GUI (графический) инструмент администрирования, вы можете попробовать FlameRobin, который включен в репозиторий Ubuntu. Он может быть установлен очень просто:

# apt-get install flamerobin

Если вы получаете сообщение об ошибке, такое как «Statement failed, SQLCODE = -551 no permission for read-write access to database /var/lib/firebird/2.5/data/employee.fdb», это означает, что серверный процесс не может прочитать или получить доступ на запись в файл базы данных. Измените владельца базы данных для пользователей firebird:

# cd /var/lib/firebird/2.5/data/
# chown firebird:firebird employee.fdb

Если вы дошли до этого пункта и сделали все правильно, ваш Firebird сервер успешно установлен на Ubuntu. Успехов вам!

Данный перевод был составлен при помощи Google Documents и веб-браузера FireFox
Для тестирования установки сервера использовалась виртуальная машина Ubuntu 11.04 на VirtualBox.

Источник

Оцените статью