По просьбам наших подписчиков решили записать видео про установку Firebird 5 на операционную систему macOS. Данная статья является текстовой расшифровкой.

Установка Firebird 5 на ОС macOS

В данный момент macOS используется на компьютерах с процессорами x86 от Intel и arm64 серии  Apple Silicon. Процесс установки не зависит от архитектуры процессора, разница только в источнике пакета установки. Для установки Firebird 5 на macOS Intel необходимо использовать пакет pkg с сайта firebirdsql.org. Переходим на сайт  firebirdsql.org, переходим в раздел Downloads — Firebird 5.0 — MacOS. Для процессоров Silicon пакет установки Firebird 5.0. находится по ссылке.

Это временное решение, в ближайшем времени все пакеты установки будут в одном месте. Скачиваем пакет и запускаем.

Firebird в macOS устанавливается в папку /Library/Frameworks/Firebird.framework, бинарные файлы и файлы конфигурации  находятся в папке /Library/Frameworks/Firebird.framework/Versions/A/Resources/bin, fbclient в папке /Library/Frameworks/Firebird.framework/Libraries

Проверяем процессы firebird командой ps aux | grep firebird:

результат вывода ps aux
результат вывода ps aux

Проверяем наличие службы Firebird в списке служб командой launchctl list | grep firebird:

результат вывода launchctl list
результат вывода launchctl list

Проверим подключение к базе данных employee.fdb. Запускаем утилиту isql

/Library/Frameworks/Firebird.framework/Versions/A/Resources/bin/isql

и подключаемся к базе командой

connect 'localhost:employee.fdb' user 'SYSDBA' password 'masterkey';:
подключение к базе с помощью утилитой isql
подключение к базе с помощью утилитой isql

Вводим команду show version для вывода информации о сервере СУБД:

вывод команды show version
вывод команды show version

Завершим службу Firebird командой launchctl stop org.firebird.gds и проверим процессы командой ps aux | grep firebird:

вывод команды ps aux
вывод команды ps aux

Это ещё одна особенность работы firebird в операционной системе macos – служба Firebird запускается только с помощью процесса Guardian fbguard, поэтому чтобы полностью завершить службу СУБД нужно использовать команду launchctl unload /Library/LaunchDaemons/org.firebird.gds.plist

Если открыть конфигурационный файл автозапуска службы /Library/LaunchDaemons/org.firebird.gds.plist , то можно увидеть, что запускается служба fbguard:

вывод команды cat
вывод команды cat

Запустить службу Firebird можно командой launchctl load -w /Library/LaunchDaemons/org.firebird.gds.plist

Установка двух инстансов Firebird 5 на ОС macOS

Штатный инсталлятор Firebird для macos не позволяет установить дополнительный инстанс, при попытке установить будет просто перезаписан текущий каталог инстанса. Поэтому для установки более одного инстанса потребуется один установить штатным инсталлятором, а потом используя файлы из установленного инстанса установить второй. Есть более сложный путь с распаковкой штатного инсталлятора, но мы его рассматривать не будем.  Один инстанс уже установлен. Для установки второго инстанса будем использовать каталог первого инстанса.

Создадим каталог для нового инстанса командой

mkdir /Library/Frameworks/Firebird.framework/Versions/B

Затем скопируем содержимое каталога A в каталог B

cp -r /Library/Frameworks/Firebird.framework/Versions/A/ /Library/Frameworks/Firebird.framework/Versions/B

Теперь нужно поменять порт по умолчанию у второго инстанса, чтобы не возникало конфликтов:

nano /Library/Frameworks/Firebird.framework/Versions/B/Resources/firebird.conf

Создадим копию файла настройки автозапуска launchd cp /Library/LaunchDaemons/org.firebird.gds.plist org.firebird3060.gds.plist

Изменим файл org.firebird_3060.gds.plist

nano /Library/LaunchDaemons/org.firebird3060.gds.plist и заменить путь к fbguard с учетом пути к второму инстансу

<string>/Library/Frameworks/Firebird.framework/Version/B/Resources/bin/fbguard</string>

<string>org.firebird3060.gds</string>

Последний этап – регистрация службы второго инстанса в launchd

launchctl load -w /Library/LaunchDaemons/org.firebird.gds.plist

Теперь в выводе команды launchctl list | grep firebird и ps aux | grep firebird две службы.

Внимание – данный способ официально не документирован, поэтому мы не гарантируем на 100% работу без сбоев.

Удаление Firebird 5 на ОС macOS

Штатный инсталлятор не добавляет скрипт для удаления Firebird. Есть два способа удалить Firebird на macos.

Первый способ – удалить автозапуск службы из launchd и удалить папку инстанса. Продемонстрируем его на втором инстансе.

launchctl unload -w /Library/LaunchDaemons/org.firebird3060.gds.plist

rm /Library/Frameworks/Firebird.framework/Versions/B/Resources

rm /Library/LaunchDaemons/org.firebird3060.gds.plist

Второй способ – воспользоваться скриптом с сайта.

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

Видеоверсия на канале Теплый Ламповый SQL

Комментарии (0)