[分享]在ubuntu linux上安装设置firebird

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
头像
百草谷居士
帖子: 3919
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

[分享]在ubuntu linux上安装设置firebird

#1

帖子 百草谷居士 » 2007-12-02 15:45

由于本人未能成功在ubuntu上安装firebird数据库,于是跑到firebird的主页上找答案,还真在firebrid的主页上找到了一个文档,虽然是针对ubuntu 6.10+firebird1.5的,我想对于ubuntu 7.10和firebird2.0也是一样的。我将这份文档翻译成了中文,本人英语底子薄,不对之处,还望指教。另外本人只是阅读了文档,还没有进行实验呢:oops:
特别提醒,安装源里的firebird2其实是firebird1.5并不是firebird2.0

在ubuntu linux上安装设置firebird

这份文档描述了在ubuntu linux上安装和运行firebird的过程。像在基于Debian GNU/Linux发行版一样,在ubuntu上安装软件是非常简单直接的,firebird也不例外。这份指南基于ubuntu 6.10 "Edgy Eft"。

Ubuntu "Edgy Eft"使用的Firebird包的版本是 1.5.3.4870-10,但是被称为firebirdsql2。从已开始,ubuntu严格的按照每6个月一个发行循环,所以这也许在2007年4月发行的代号为"Feisty Fawn"的版本中改变。(我在7.10版本看到,有不少叫做firebird的包,有1.5的,有2.0的,有2的就是1.5的,然后分为classic版和super版,仔细看一下描述就会明白的。)

在目标计算机上使用管理员权限执行下列命令:

# apt-get install firebird2-super-server

Apt的包依赖分析机制会自动请求完全安装需要的所有的需要的包,并且输出下列内容:

The following extra packages will be installed:
firebird2-common firebird2-server-common libfbclient1
Recommended packages:
firebird2-server
The following NEW packages will be installed
firebird2-common firebird2-server-common firebird2-super-server
libfbclient1
Need to get 2342kB of archives.
After unpacking 5976kB of additional disk space will be used.
Do you want to continue [Y/n]?

当询问你选择"Classic"或者"Super"服务器时,选择其中一个,忽略"firebird2-server"虚拟包。(其实在Ubuntu7.10的安装源里"classic"安装包和"Super"安装包是直接分开的。)原文如下,理解不太清楚:
Ignore the “firebird2-server” virtual package which will just ask you to select either the “Classic” or “Super” server.

这个软件包将下载并且安装到目标机器上,一个名为"firebird"的新用户被建立来运行服务,这个服务程序会立即启动:

Setting up firebird2-super-server (1.5.3.4870-10) ...
Created default security.fdb
Starting Firebird server: server has been successfully started

你将被询问为SYSDBA用户输入一个新口令,包括拼写错误:

Plase enter new password for SYSDBA user:

随着下面的输出你将返回到shell提示符下,就像这样!

GSEC> GSEC>

如果你是一个有经验的Unix用户,但是对Ubuntu是新人,你会对Firebird的文件被安置于很深的目录感到很惊奇。要使用Apt查看所有这些文件被安装到什么地方,直接这样:

# dpkg -L firebird2-super-server

/.
/usr
/usr/lib
/usr/lib/firebird2
/usr/lib/firebird2/bin
/usr/lib/firebird2/bin/fb_lock_print
/usr/lib/firebird2/bin/fbserver
/usr/lib/firebird2/bin/fbguard
/usr/lib/firebird2/bin/fbmgr.bin
/usr/lib/firebird2/UDF
/usr/lib/firebird2/UDF/fbudf.so
/usr/bin
/usr/bin/gsec
/usr/bin/fbmgr
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/firebird2-super-server
/usr/share/doc
/usr/share/doc/firebird2-super-server
/usr/share/doc/firebird2-super-server/README.Debian
/usr/share/doc/firebird2-super-server/TODO.Debian
/usr/share/doc/firebird2-super-server/copyright
/usr/share/doc/firebird2-super-server/NEWS.Debian.gz
/usr/share/doc/firebird2-super-server/changelog.gz
/usr/share/doc/firebird2-super-server/changelog.Debian.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/fbmgr.1.gz
/usr/share/man/man1/gsec.1.gz
/etc
/etc/init.d
/etc/init.d/firebird2
/usr/lib/firebird2/bin/fbmgr
/usr/lib/firebird2/bin/gsec

在这个时候,一个新用户"firebird"已经在目标机器上建立。使用管理员权限,为这个新用户设置一个口令:

# passwd firebird
Enter new UNIX password:
Retype new UNIX password:

如果需要,现在你可以使用su命令切换到firebird用户了。

如果你尝试使用init.d命令从运行状态停止服务,将会出现一个错误信息。

# /etc/init.d/firebird2 stop
/etc/init.d/firebird2: 28: source: not found
Stopping Firebird server: Your user name and password are not
defined. Ask your database administrator to set up a Firebird
login.
can not attach to server

如果你尝试启动服务会出现同样的信息。要解决这个问题需要对Debian和Ubuntu的Firebird软件包进行更深入的调查和讨论,但是现在可以这样停止服务:

# su -c "fbmgr -shut -password SYSDBApassword" firebird
Password:
server shutdown completed

这里SYSDBApassword是你在安装后立即输入的那个口令,第二个口令是firebird用户口令。要重新启动服务:

# su -c "fbmgr -start" firebird

在安装完成以后,你现在可以在Ubuntu Linux上使用Firebird了。这个基本软件包并不包括例子数据库,假如你喜欢,使用下面的命令安装一些:

# apt-get install firebird2-examples

这些例子将安装在/usr/share/doc/firebird2-examples/。当你需要,可以安装工具软件包。

# sudo apt-get install firebird2-utils-super

他们之中将给你提供一个交互式shell环境,一个备份和报表工具。现在你可以使用连接到例子数据库来测试你的Firebird安装。解压缩"employee.fdb"数据库:

# gunzip
# /usr/share/doc/firebird2-examples/examples/employee.fdb.gz

启动交互式shell环境。

# isql-fb

在SQL>提示符下,使用下列命令连接到数据库:

SQL> connect "employee.fdb" user 'SYSDBA' password 'SYSDBApassword';

如果你得到一个像“Statement failed, SQLCODE = -551 no permission for read-write access to database /usr/share/doc/firebird2-examples/examples/employee.fdb”类似的错误信息,那么是服务进程没有读写数据库文件的权限。使用下面的命令改变数据库的所有权到用户firebrid:

# chown firebird:firebird employee.fdb

当你成功的连接到数据库时你将看到这样的信息:

Database: "employee.fdb", User: SYSDBA

现在,从SQL>提示符,自由的浏览employee数据库:

SQL> show tables;
COUNTRY CUSTOMER
DEPARTMENT EMPLOYEE
EMPLOYEE_PROJECT JOB
PHONE_LIST PROJECT
PROJ_DEPT_BUDGET SALARY_HISTORY
SALES

如果你如此成功地在ubuntu上安装了Firebird。祝你玩的愉快。
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
百草谷居士
帖子: 3919
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

#2

帖子 百草谷居士 » 2007-12-09 13:33

在ubuntu7.10上安装firebird2.0并不像上面记述的那样简单,我在实际安装的时候还是遇到了不少麻烦。

使用下面的命令安装firebird2.0-super服务器:

代码: 全选

sudo apt-get install firebird2.0-super 
出现下面的错误提示:
Setting up firebird2.0-super (2.0.3.12981.ds1-1ubuntu2) ...
find: /var/run/firebird: No such file or directory
dpkg: error processing firebird2.0-super (--configure):
subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
firebird2.0-super
E: Sub-process /usr/bin/dpkg returned an error code (1)
意思是无法找到/var/run/firebird文件夹。
使用下面的命令手工建立这个文件夹,随后还会出现无法找到/var/run/firebird/2.0文件夹的错误。所以一并建立.

代码: 全选

sudo mkdir /var/run/firebrid
sudo mkdir /var/run/firebird/2.0 
然后重新执行

代码: 全选

sudo apt-get install firebird2.0-super
提示安装成功,但是firebrid 服务管理器没有启动。使用

代码: 全选

sudo dpkg-reconfigure firebird2.0-super
重新安装并启动firebird服务管理器。提示:
* Firebird 2.0 server manager not running.
* Firebird 2.0 server manager not running.
* Starting Firebird 2.0 server manager... [ OK ]
安装成功!输入下面的命令进行测试:

代码: 全选

ps -A |grep fb      
6338 ? 00:00:00 fbguard
6339 ? 00:00:00 fbserver
为了方便期间,在home文件夹下建立一个fb文件夹,并将所有者改为firebrid。运行firebird2.0的SQL命令行工具:

代码: 全选

isql-fb-2.0
输入下列的SQL指令建立一个数据库:
SQL>create database 'localhost:/home/fb/mytest.fdb' user 'SYSDBA' password 'password';
可以开始数据库操作了,怎么在为firebird添加数据库用户和访问口令,我还要试试。都是被gui工具害的!
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
百草谷居士
帖子: 3919
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

#3

帖子 百草谷居士 » 2007-12-09 13:52

使用firebird命令行用户管理工具gsec可以进行用户管理,输入下面指令进入gsec环境:

代码: 全选

gsec-2.0 -user SYSDBA -password password
在GSEC>提示符下输入help或者?命令可以获取gsec的帮助,使用add <usr> -pw <password>可以增加一个用户并指定口令,使用display命令可以列出当前的所有数据库用户。
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
百草谷居士
帖子: 3919
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

#4

帖子 百草谷居士 » 2007-12-13 11:21

事情好像很麻烦,当我重新启动系统以后,在/var/run目录下创建的文件夹没有了,firebird还是无法启动。
即使手工再次重新建立firebird,firebird/2.0文件夹,firebird还是无法运行,必须重新运行dpkg-reconfigure firebird2.0-super指令后firebird才能运行。

/var目录下的文件是系统动态创建的,现在的问题是,firebird无法在系统重新启动后重新创建自己需要的文件。
怎么处理呢?
我愁……
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
xygz
帖子: 61
注册时间: 2007-09-09 20:08

#5

帖子 xygz » 2008-01-02 10:05

/var下的目录是不是每次系统启动时才创建的?那你就不该把FIREBIRD安装到这样的目录下去呀
数据库服务的需要的文件怎么可以在启动后才创建呢?
头像
百草谷居士
帖子: 3919
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

#6

帖子 百草谷居士 » 2008-01-02 10:59

哥们,不是我要这样安装,是它自己跑到那里的。 :roll:
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
百草谷居士
帖子: 3919
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

#7

帖子 百草谷居士 » 2008-03-02 10:54

还是旧事重提吧,没有办法我从firebird官方网站上下载了安装包,解压缩,sudo运行安装程序,完成。

不知道for ubuntu的deb包制作后是在什么环境下测试的,反正我在4台实体机,5台虚拟机上均无法完成安装。
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
xygz
帖子: 61
注册时间: 2007-09-09 20:08

#8

帖子 xygz » 2008-04-04 10:43

不大用DEB来安装东西,主要是不熟悉
回复