Redhat enterprise linux下安装rlwrap

来源:互联网 发布:淘宝禁止返现规定 编辑:程序博客网 时间:2024/06/05 15:32

Linux平台下,想在Oracle数据库的SQL*PLUS的命令行提示符下,利用键盘上的上下箭头,调出历史执行的SQL命令,可以考虑采用rlwrap这一开源工具

现,简单记录一下安装过程(Red Hat Enterprise Linux as 5.4环境)。以前在4版本的操作系统上安装时很顺利,就不再记录。

①解压并安装rlwrap工具:

01[root@server1 ~]# tar -zxvf rlwrap-0.30.tar.gz02 03.......04 05.......06 07[root@server1 ~]# cd rlwrap-0.30 && ll08 09total 46410 11-rw-rw-r-- 1 hekan hekan  32266 Jan  8  2008 aclocal.m412 13-rw-r--r-- 1 hekan hekan    638 Aug 15  2006 AUTHORS14 15-rw-r--r-- 1 hekan hekan   4740 Nov 10  2007 BUGS16 17-rw-r--r-- 1 hekan hekan    105 Aug 10  2003 ChangeLog18 19drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 completions20 21-rw-rw-r-- 1 hekan hekan   5489 Jan  8  2008 config.h.in22 23-rwxr-xr-x 1 hekan hekan 217282 Jan  8  2008 configure24 25-rw-r--r-- 1 hekan hekan   9860 Jan  8  2008 configure.ac26 27-rw-r--r-- 1 hekan hekan  17992 Aug  8  2006 COPYING28 29drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 distribution30 31drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 doc32 33-rw-r--r-- 1 hekan hekan   1927 Nov 10  2007 INSTALL34 35-rw-r--r-- 1 hekan hekan    436 Nov 10  2007 Makefile.am36 37-rw-rw-r-- 1 hekan hekan  22987 Jan  8  2008 Makefile.in38 39-rw-r--r-- 1 hekan hekan  11187 Jan  3  2008 NEWS40 41-rw-r--r-- 1 hekan hekan   2745 Nov 10  2007 README42 43drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 src44 45drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 test46 47-rw-r--r-- 1 hekan hekan    480 Nov 10  2007 TODO48 49drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 tools50 51[root@server1 rlwrap-0.30]# ./configure52 53......54 55checking for tgetent... no56 57checking for tgetent in -lcurses... no58 59checking for tgetent in -lncurses... no60 61checking for tgetent in -ltermcap... no62 63configure: WARNING: No termcap nor curses library found64 65checking for readline in -lreadline... no66 67configure: error:68 69You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build70 71this program!72 73[root@server1 rlwrap-0.30]#

报错!提示需要安装readline-devel-5.1-1.1.i386.rpm包。
② 安装readline-devel-5.1-1.1.i386.rpm 包:

 

1[root@server1 ~]# rpm -ivh readline-devel-5.1-1.1.i386.rpm2 3warning: readline-devel-5.1-1.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 370171864 5error: Failed dependencies:6 7libtermcap-devel is needed by readline-devel-5.1-1.1.i3868 9[root@server1 ~]#

又报错提示缺失libtermcap-devel包!

继续安装:

01[root@server1 ~]# rpm -ivh libtermcap-devel-2.0.8-46.1.i386.rpm02 03warning: libtermcap-devel-2.0.8-46.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 3701718604 05Preparing...                ########################################### [100%]06 071:libtermcap-devel      ########################################### [100%]08 09[root@server1 ~]# rpm -ivh readline-devel-5.1-1.1.i386.rpm10 11warning: readline-devel-5.1-1.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 3701718612 13Preparing...                ########################################### [100%]14 151:readline-devel        ########################################### [100%]16 17[root@server1 ~]# cd rlwrap-0.3018 19[root@server1 rlwrap-0.30]# ./configure20 21checking build system type... i686-pc-linux-gnu22 23checking host system type... i686-pc-linux-gnu24 25checking for a BSD-compatible install... /usr/bin/install-c26 27checking whether build environment is sane... yes28 29checking for a thread-safe mkdir -p... /bin/mkdir -p30 31checking for gawk... gawk32 33checking whether make sets $(MAKE)... yes34 35............36 37............38 39configure: creating ./config.status40 41config.status: creating Makefile42 43config.status: creating doc/Makefile44 45config.status: creating src/Makefile46 47config.status: creating doc/rlwrap.man48 49config.status: creating distribution/rlwrap.spec50 51config.status: creating config.h52 53config.status: executing depfiles commands54 55Now do:56 57make (or gmake)  to build rlwrap58 59make check       for instructions how to test it60 61make install     to install it62 63[root@server1 rlwrap-0.30]#

③ 根据执行执行,make,make install:

01[root@server1 rlwrap-0.30]# make02 03make  all-recursive04 05......06 07[root@server1 rlwrap-0.30]# make install08 09Making install in doc10 11......12 13make[2]: Leaving directory `/root/rlwrap-0.30'14 15make[1]: Leaving directory `/root/rlwrap-0.30'16 17[root@server1 rlwrap-0.30]#

④ 修改oracle 用户的配置文件,

1[oracle@server1 ~]$ pwd2 3/home/oracle4 5[oracle@server1 ~]$ vi .bash_profile

在其中,添加类似配置信息:

1alias sqlplus='rlwrap sqlplus /nolog'

⑤至此,oracle在SHELL提示符下,只需要执行sqlplus就可以进入SQL*PLUS的命令行提示符,并且可以利用键盘的上下箭头调出之前执行过的历史命令。

这是在RHEL 5.4版本的操作系统上安装时的简单记录,而之前没遇到过类似的问题,故简单记录之。

即先安装libtermcap-devel-2.0.8-46.1.i386.rpm

然后安装 readline-devel-5.1-1.1.i386.rpm

最后安装rlwrap工具包。