Firebird 4.0 Beta 1 unter Linux Mint 19.3 Cinnamon 4.4.8

Forum für neue Firebird-Anwender.

Moderator: thorben.braun

Benutzeravatar
martin.koeditz
Beiträge: 443
Registriert: Sa 31. Mär 2018, 14:35

Hallo Gerd,

schön, dass die Installation nun geklappt hat.

Das ISQL-Tool befindet sich nicht im Suchpfad. Wechsel über die Konsole in /opt/firebird/bin. Dann starte ISQL mittels

Code: Alles auswählen

sh isql
Bitte beachte, dass die Datei nur isql und nicht isql-fb heißt. Dann sollte sich was tun.

Gruß
Martin
Martin Köditz
it & synergy GmbH
Gerd
Beiträge: 234
Registriert: Di 1. Okt 2019, 17:13

Hallo Martin.

Da passiert das bei mir:
sh isql.png
sh isql.png (35.98 KiB) 16565 mal betrachtet

Viele Grüße
Gerd
Linux Mint 21.3 Virginia Cinnamon 6.0.4
Firebird 5.0.0., Embedded, ISQL: LI-V5.0.0.1306
Lazarus 3.0.0 - FPC 3.2.2
Gerd
Beiträge: 234
Registriert: Di 1. Okt 2019, 17:13

Oooh - ich denke ich habe es.

Das wäre demnach der Aufruf unter Linux Mint:

Code: Alles auswählen

gerd@gerd-MS-7641:~$ cd /opt/firebird/bin
gerd@gerd-MS-7641:/opt/firebird/bin$ ./isql
Use CONNECT or CREATE DATABASE to specify a database
SQL> 
DANKE!

Viele Grüße
Gerd
Linux Mint 21.3 Virginia Cinnamon 6.0.4
Firebird 5.0.0., Embedded, ISQL: LI-V5.0.0.1306
Lazarus 3.0.0 - FPC 3.2.2
Gerd
Beiträge: 234
Registriert: Di 1. Okt 2019, 17:13

Und hier ist sie. Die erste Datenbank. Erzeugt mit Firebird 4.0 Beta 1 unter Linux Mint v19.3 Cinnamon 4.4.8
Die erste DB mit FB 4_0 Beta 1 unter Linux Mint 19_3.png
Die erste DB mit FB 4_0 Beta 1 unter Linux Mint 19_3.png (21.71 KiB) 16558 mal betrachtet
Ich werde übers Wochenende ein Zusammenfassung schreiben.

Dann kann es losgehen mit den Beta-Tests.

Vielen Dank.


Viele Grüße
Gerd
Linux Mint 21.3 Virginia Cinnamon 6.0.4
Firebird 5.0.0., Embedded, ISQL: LI-V5.0.0.1306
Lazarus 3.0.0 - FPC 3.2.2
Gerd
Beiträge: 234
Registriert: Di 1. Okt 2019, 17:13

Hallo.

Ich würde gerne in die Zusammenfassung noch reinformulieren wollen, wie am professionellsten geklärt werden kann, ob der Firebird- Service läuft - oder eben nicht. Das Habe ich dazu gefunden:

Die Prozess-ID ermitteln.

Code: Alles auswählen

gerd@gerd-MS-7641:~$ pgrep firebird
883
Ich gehe mal davon aus, dass, wenn er mir diese Prozess-ID mitteilt, dann auch der FB-Service tatsächlich läuft (wovon ich hier (unbestätigt) ausgehe.
Das könnte man sich auch gut merken. Aber ist das (883) wirklich verlässlich?

Oder mit der so ermittelten Prozess-ID noch etwas mehr Information erhalten - so:

Code: Alles auswählen

gerd@gerd-MS-7641:~$ ps 883
  PID TTY      STAT   TIME COMMAND
  883 ?        Sl     0:00 /opt/firebird/bin/firebird
Oder so:

Code: Alles auswählen

gerd@gerd-MS-7641:~$ pgrep -l firebird
883 firebird
gerd@gerd-MS-7641:~$
Ich hätte gern mit geringster Eingabe ein verlässliche Antwort: Ja, alles gut - er läuft.

Gibt es noch was anderes? Wie macht Ihr das bitte?

Viele Grüße
Gerd
Linux Mint 21.3 Virginia Cinnamon 6.0.4
Firebird 5.0.0., Embedded, ISQL: LI-V5.0.0.1306
Lazarus 3.0.0 - FPC 3.2.2
Benutzeravatar
martin.koeditz
Beiträge: 443
Registriert: Sa 31. Mär 2018, 14:35

Hallo Gerd,

sofern Firebird mit dem Service-Befehl gestartet wurde, kann man den Status auch so abfragen. Sieht z.B. so aus:

Code: Alles auswählen

SRV-DB02:/srv/firebird # service firebird status
* firebird.service - LSB: Firebird SQL server
   Loaded: loaded (/etc/init.d/firebird; bad; vendor preset: disabled)
   Active: active (running) since Tue 2019-11-26 17:39:49 CET; 2 months 5 days ago
     Docs: man:systemd-sysv-generator(8)
  Process: 10359 ExecStop=/etc/init.d/firebird stop (code=exited, status=0/SUCCESS)
  Process: 10489 ExecStart=/etc/init.d/firebird start (code=exited, status=0/SUCCESS)
    Tasks: 17 (limit: 512)
   CGroup: /system.slice/firebird.service
           |-10500 /usr/sbin/fbguard -forever -pidfile /var/run/firebird/default.pid -gpidfile /var/run/firebird/default-guard.pid
           `-10501 /usr/sbin/firebird

Nov 26 17:39:49 SLGH04-DB02 systemd[1]: Starting LSB: Firebird SQL server...
Nov 26 17:39:49 SLGH04-DB02 firebird[10489]: Starting Firebird..done
Nov 26 17:39:49 SLGH04-DB02 systemd[1]: Started LSB: Firebird SQL server.
Gruß
Martin
Martin Köditz
it & synergy GmbH
Gerd
Beiträge: 234
Registriert: Di 1. Okt 2019, 17:13

Hallo Martin.

Danke. Werde ich mit verwenden. Man sieht u. a. auch den Start-Zeitpunkt ...


Viele Grüße
Gerd
Linux Mint 21.3 Virginia Cinnamon 6.0.4
Firebird 5.0.0., Embedded, ISQL: LI-V5.0.0.1306
Lazarus 3.0.0 - FPC 3.2.2
Gerd
Beiträge: 234
Registriert: Di 1. Okt 2019, 17:13

Zusammenfassung
Firebird 4.0 Beta 1 (unstable) unter Linux Mint 19.3 64 Bit Cinnamon 4.4.8 erfolgreich installieren

1. Beschaffung von Firebird 4.0 Beta 1 (unstable)
2. Umgang mit dem Download-Archiv "Firebird-4.0.0.1436-Beta1.amd64.tar.gz"
3. libtommath: Suchen - Schauen - Installation - symbolische Verknüpfung (Symlink)
4. Installation: 'install.sh' ausführen
5. Hinzufügen des Benutzers ihr_name zur Gruppe firebird
6. Hilfreiche Linux-Terminalbefehle für das Danach
7. ISQL-Tool: Aufruf
8. ISQL-Tool: Erzeuge Firebird-Datenbank

Zu 1. Beschaffung von Firebird 4.0 Beta 1 (unstable)
'firebirdsql.org' bietet zurzeit (31.01.2020) unter "Downloads" - "Firebird 4.0 Beta 1 (unstable)" den Firebird für verschiedene Systeme bzw. Distributionen an. Hier wird bspw. der Download für

Linux AMD64 - 64-bit Kits - February 20, 2019 - Firebird-4.0.0.1436-Beta1.amd64.tar.gz - (10 MB) - Compressed tarball

besprochen. Nach dem erfolgreichen Download befindet sich im Linux Mint Systemordner "Downloads" das Archiv:
Firebird-4.0.0.1436-Beta1.amd64.tar.gz

Zu 2. Umgang mit dem Download-Archiv "Firebird-4.0.0.1436-Beta1.amd64.tar.gz"
Man erstellt sich im Home-Verzeichnis (z. B. /home/NAME) einen neuen Ordner und nennt ihn z. B. Firebird.
Im Systemordner "Downloads" wird das Archiv kopiert, um es im Order Firebird einzufügen.
Rechtsklick auf das Archiv Firebird-4.0.0.1436-Beta1.amd64.tar.gz
Auswahl des Kontextmenübefehls "Hier entpacken".
Jetzt befinden sich im Ordner Firebird das Archiv Firebird-4.0.0.1436-Beta1.amd64.tar.gz und der entpackte Ordner Firebird-4.0.0.1436-Beta1.amd64.
Im geöffneten Ordner sieht man, dass er die folgenden drei Objekte enthält:
+ buildroot.tar.gz
+ install.sh
+ manifest.txt
Rechtsklick auf das Archiv buildroot.tar.gz
Auswahl des Kontextmenübefehls "Hier entpacken".
Nun befinden sich noch die entpackten Ordner opt und usr im Ordner Firebird.
Den Ordner Firebird schließen.

Zu 3. libtommath: Suchen - Schauen - Installation - symbolische Verknüpfung (Symlink)
Schön, dass Sie bis hierher durchgehalten haben. Weiter geht's ...
Nun erfahren Sie, dass eine durchgängiges Ausführen des Skripts install.sh eine 'Abhängigkeit' voraussetzt, die wohl auf den allermeisten PCs mit Distri Linux Mint v19.1, v19.2 oder v19.3 nicht gegeben ist.

Die erkannte Abhängigkeit verweist auf 'libtommath'.
libtommath ist eine Bibliothek. Dies sind in Linux Shared Objects (.so) und in Windows Dynamic Link Libraries (.dll).
Ein gestartetes install.sh-Skript würde nämlich eine Bibliothek mit der Bezeichnung libtommath (genauer: libtommath.so.0) erwarten und deswegen nach ihr auch hingebungsvoll suchen - sie aber nicht finden! Folge: ... fatal error ... Das Script würde von Ihnen verlangen zunächst libtommath zu installieren. Danach soll der Installationsvorgang von Firebird 4.0 Beta 1 wiederholt werden. Wenn man also - wie hier - im Vorfeld bereits weiß, dass eine bestimmte 'Abhängigkeit' besteht und man gewillt ist, sich darüber weitere Klarheit zu verschaffen, ist folgender Ansatz empfehlenswert:

Suchen
Zunächst eine Suche mit dem Dateimanager Nemo unmittelbar nach Installation von Linux Mint v19.1, v19.2 und v19.3 durchführen. Zu erwartendes Ergebnis: die Bibliothek libtommath* wird nicht gefunden.

apt-cache search durchsucht den Paketcache in den Namen und Beschreibungsfeldern nach dem Suchbegriff und gibt die entsprechenden Paketnamen aus. Abkürzungen sind erlaubt. Also bspw. so:

Code: Alles auswählen

gerd@gerd-MS-7641:~$ apt-cache search tomm
libtfm1 - Fast multiple-precision integer library [runtime]
libtommath-dev - multiple-precision integer library [development files]
libtommath-docs - multiple-precision integer library [documentation]
libtommath1 - multiple-precision integer library [runtime]
libmono-custommarshalers4.0-cil - Mono CustomMarshalers library (for CLI 4.0)
gerd@gerd-MS-7641:~$
Ihr Augenmerk richten Sie bitte auf diese Terminal-Zeile:
libtommath1 - multiple-precision integer library [runtime]

Schauen
apt-cache show zeigt detaillierte Informationen zu einem oder mehreren Paketen an.

Installation (Simulation)
Zuerst mit apt-get install -s libtommath1 ein Simulation durchführen. Das Gute daran - am System wird wegen des Schalters -s nichts verändert. Man kann sich in aller Ruhe die Terminal-Inhalte anschauen.

Code: Alles auswählen

gerd@gerd-MS-7641:~$ apt-get install -s libtommath1
Installation
Die Installation der Bibliothek libtommath1 wird mit Root-Rechten durchgeführt. So:

Code: Alles auswählen

gerd@gerd-MS-7641:~$ sudo apt-get install libtommath1
Die Installation läuft rasant ab.

Bitte durchhalten - Sie haben es gleich geschafft! :)

Symbolische Verknüpfung (Symlink)
Die Bibliothek libtommath1 (genauer: libtommath.so.1) wurde also nach /usr/lib/x86_64-linux-gnu erfolgreich installiert. Hingegen das Skript install.sh sucht nach einer Bibliothek libtommath.so.0

Lösung:
Es muss eine symbolische Verknüpfung (ein Symlink) im Suchordner (/usr/lib/x86_64-linux-gnu) erzeugt werden. Und das ist mit Linux Mint schnell gemacht. So:

Code: Alles auswählen

sudo ln -s /usr/lib/x86_64-linux-gnu/libtommath.so.1.0.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0
Zu 4. Installation: 'install.sh' ausführen

Die Ausführung des Skripts install.sh hat die Installation von Firebird 4.0 Beta 1 zur Folge.
Die Installation (das Setup) geht sehr zügig von statten.
Der Firebird-Dienst wird dabei gestartet.

Geben Sie im Terminal folgendes ein:
cd /home/ihr_name/Firebird/Firebird-4.0.0.1436-Beta1.amd64
--> Drücken Sie die Enter-Taste

sudo ./install.sh
--> Drücken Sie die Enter-Taste

Passwort für ihr_name: ******
--> Geben Sie ihr Root-Passwort ein.
--> Drücken Sie die Enter-Taste
...
Firebird 4.0.0.1436-Beta1.amd64 Installation
...
Press Enter to start installation or ^C to abort
--> Drücken Sie die Enter-Taste
...
Done.
Deleting...
Done.
Extracting install data
Please enter new password for SYSDBA user: masterkey
Install completed

Nur an der folgenden Stelle des Skriptverlaufs wird eine Eingabe von Ihnen erwartet:
Please enter new password for SYSDBA user:

Geben Sie masterkey ein. Also so:
Please enter new password for SYSDBA user: masterkey

Das Skript beendet seine Arbeit mit der Meldung: Install completed

Glückwunsch!
Sie haben nun unter Linux Mint v19.3 das freie Datenbankmanagementsystem (DBMS) Firebird in seiner zurzeit aktuellsten Version 4.0 Beta 1 (unstable) zur Verfügung.

Zu 5. Hinzufügen des Benutzers ihr_name zur Gruppe firebird
Während der Installation wird eine neue Gruppe mit der Bezeichnung firebird erstellt.
Fügen Sie nun den Benutzer ihr_name der Gruppe firebird hinzu. So:

Code: Alles auswählen

sudo usermod -aG firebird ihr_name
Zu 6. Hilfreiche Linux-Terminalbefehle

pgrep -l firebird
--> die Prozeß-ID (PID) für Firebird ermitteln

service firebird status
--> Status abfragen. (Sofern Firebird mit dem Service-Befehl gestartet wurde.)

Das Diagnosewerkzeug netstat

Code: Alles auswählen

gerd@gerd-MS-7641:~$ sudo netstat -taupen
[sudo] Passwort für gerd:        
Aktive Internetverbindungen (Server und stehende Verbindungen)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       Benutzer   Inode      PID/Program name    
...        
tcp6       0      0 :::3050                 :::*                    LISTEN      84         27137      883/firebird        
...
gerd@gerd-MS-7641:~$ 

Zu 7. ISQL-Tool: Aufruf
Das ISQL ist ein Kommandozeilentool für den interaktiven SQL-Zugriff auf Firebird-Datenbanken. Es gehört zum Lieferumfang von Firebird und befindet sich im Verzeichnis /opt/firebird/bin
Anders, als es bei Anwendern, die sich Firebird (zurzeit 3.0) über die 'Anwendungsverwaltung' geholt haben, der Fall ist, kann das ISQL-Tool beim Stand der Dinge im Terminal nicht einfach nur mit isql-fb aufgerufen werden. Auch die Eingabe: isql würde nichts bewirken.
Beide Eingaben würden ins Leere laufen, da bisher Linux Mint der Pfad /opt/firebird/bin hin zum Kommandozeilenwerkzeug nicht bekannt gemacht wurde. Da gibt es aber die Möglichkeit die infragekommende Umgebungs-Variable PATH entsprechend zu erweitern. Wie Sie vorgehen könnten lesen Sie hier.

Zu 8. ISQL-Tool: Erzeuge Firebird-Datenbank
Abschließend soll das ISQL-Tool aufgerufen werden, um testweise eine Firebird Datenbank mit der Bezeichnung adressen anzulegen.
Das geschieht als sysdba und unter Verwendung des gerade vergebenen Passworts masterkey
(Hinweis: Lesen und beachten Sie bezüglich der Erstellung von Datenbanken als SYSDBA mit (unveränderten) Passwort masterkey die FB-Dokumentation!)

cd /opt/firebird/bin
./isql
create database '/home/ihr_name/Firebird/Datenbanken/adressen.fdb' user 'sysdba' password 'masterkey';

Und nun sich (später - erneut) mit dieser Firebird-Datenbank verbinden:
cd /opt/firebird/bin
./isql
connect '/home/ihr_name/Firebird/Datenbanken/adressen.fdb' user 'sysdba' password 'masterkey';


Abschließend:
Möchten Sie dieses Vorgehen nicht nachvollziehen, um damit an Firebird 4.0 Beta 1 (unstable) zu gelangen, jedoch Bedarf haben an Firebird 3.0, dann finden Sie hier eine Beschreibung, wie Firebird 3.0 über die "Anwendungsverwaltung" von Linux Mint v19.2 installiert wird (bitte dort ggfls. bis ganz nach unten zur Zusammenfassung scrollen): viewtopic.php?f=4&t=81&start=20


Herzlichen Dank an:
@jhoehne (Durch seine gezielten Hinweise, die unter 3. libtommath: Suchen - Schauen - Installation aufgeführt sind, bekommt der Anwender benötigte Informationen, mehr Übersicht und ein besseres Feeling.
@Martin.Koeditz (Er gab wieder einmal den entscheidenden Hinweis. Dieses Mal war es die Benutzung von Symlink. Und er 'erhellte das Dunkel' mit seinen Darlegungen bezüglich Linux Shared Objects (.so).)


Viele Grüße
Gerd
Linux Mint 21.3 Virginia Cinnamon 6.0.4
Firebird 5.0.0., Embedded, ISQL: LI-V5.0.0.1306
Lazarus 3.0.0 - FPC 3.2.2
Antworten