Unfortunately, I couldn’t find an official Firebird 2.5 image. Probably because it’s no longer a supported version, but I still need this version due to the old software and mandatory data provision for a few years.
Why can’t the two versions be installed side by side? What is the reason for this exclusion? I don’t understand this at all…
The volume and service file can be modified… I’ll have to look into it, but I remember testing this thoroughly and installing the 2.5-ss version with the settings made for 3.0.11 for testing.
Forgive me, but haven’t you misunderstood something about the Firebird libraries?
Since Firebird has been available for Linux, database files have always been installed in the /var/lib/firebird/data directory. Personally, I need version 3.0.11 and 2.5.x (no 1.5.6-ss).
Version 3.0.11 --volume looks like this:
-v ./data:/var/lib/firebird/data
Version 2.5-ss --volume looks like this:
-v /somehostdir/firebird/data/:/data/
The latter defines the directory flexibly, but “somehostdir” can be equal to the /var/lib directory. Are these the same thing, just spelled differently, or am I wrong? If I’m wrong, that’s a big deal…
Meanwhile, it seems that version 3.0.11 has disappeared from the firebirdsql website… By the time the Firebird module is ready, will the Firebird 3 image no longer be available?
I haven’t tried it because, as far as I know, 2.5 and 3.x are very different from each other and my old databases can’t be converted.
@mrmarkuz Thank you very much for the explanation, I understand the problem now.
This is bad news for me, because then I really have to look for another solution, because I can’t find another Firebird 2.5.x image.
But if I understand you correctly, if it is not possible to create a module to install both Firebird (3.x and 2.x) versions, it could be solved with two separate modules. However, if this were the solution, the two different versions would have to be named in a way that makes them distinguishable, e.g. ns8-firebird2.x and ns8-firebird3.x, but this is not possible due to module naming rules.
The other, perhaps more serious problem is that even under Firebird 2.x, the database directory must be under /var/lib/firebird due to the client program, but this is contradicted by the image settings, which you also noted. Could this be modified?
If so, just copy-paste and the other Firebird module is ready, you just need to give it a name… Am I wrong?
@LayLow thank you, but I need the ss (super server) version and the problem is with mladenp87’s image because he set the wrong volume when creating the image.
I looked all over github but couldn’t find another one.
I’m wondering if it would be understandable for others if I named them e.g. ns8-firebird3x and ns8-firebird2x. So there is a letter (x) at the end and this could indicate that they are versions 3.x and 2.x.
What do you think?
Then I need to somehow create an image from 2.5-ss with the same settings as 3.0.11, so that the database directory is under /var/lib/firebird for the client. Although if the new image is created, a firebird module could be enough?
I hadn’t thought about this before, because he created the image quite a while ago, 2 years ago. It’s worth a try.
In the meantime, I figured it might be worth trying to convert the 2.5 databases to 3.0.11, although it’s not certain that it will be successful, according to the developer, for other reasons. If it succeeds, then things will be simpler.
@mrmarkuz I managed to convert the old Firebird 2.x databases to Firebird 3.x databases. I had to solve a lot of problems, but in the end I succeeded and now the Firebird 3.0.11 database manager runs the databases of the old program as well.
This way, it will be enough to install only one Firebird, which will be version the 3.0.11. The Firebird module needs to be reworked and finalized a bit, then it would be good to publish it…
The module maintenance still needs to be solved somehow, do you have any ideas for this?
I see that I managed to fix another problem before switching from NS7 to NS8, so I need to take stock again of what tasks and problems still remain.
I haven’t written about maintenance yet. I’m thinking that once the Firebird module is published, it may be necessary to update or modify the module for some unforeseen reason. I don’t know if I can take on the maintenance process in the long term.
I was thinking maybe you or someone else has an idea for this.
I’ll review what we have so far and try to finalize the module, if you have any suggestions on this I’d be happy to hear them. Then the question is how to display it in the official NS8 repository. How should this be done?
@mrmarkuz Before I could test and publish the module I encountered a problem.
I managed to convert the Firebird 2 databases to Firebird 3 databases on my Nethserver 7 server and it works there.
Yesterday I did the same test on the NS8 server but I get an error message. Now the databases of both programs are accessible on the Firebird 3.0.11 server.
The Firebird module and the Firebird 3.0.11 server are running. The database owner and permissions are correct, I have configured them. I can connect to the Firebird server with Telnet. One of the programs (which worked before) works fine, the databases are accessible.
The other program whose databases I have just converted gives an error message when I test the connection:
Unable to complete network request to host. Failed to establish a connection.
SQL Error Code -902 IB Error Code 335544721
Since the other program works, is accessible via Telnet, etc. I don’t understand what the problem is under NS8, while everything is fine on NS7. Do you have any ideas?
I managed to find the cause of the problem. I changed the Firebird server port to the default 3050 TCP and the old client program was able to connect to the databases.
Unfortunately, as it turned out, there is a bug in the old client program that the developer will no longer fix, so I will only be able to use it on the default 3050 TCP port.