工具 & 效率8 分钟阅读
教你 Centos 如何离线安装 rlwrap 插件(内网环境)
@TOC目录 今天在一台数据库主机上想安装 rlwrap 插件(上下文切换,退格优化),方便运维操作,但是 rlwrap 需要前置安装 readline-devel,因为是内网环境,也不方便挂载镜像 ISO、没有 YUM 源的情况下,如何才能安装呢?
2025年9月2日阅读—点赞—收藏—
database
在知识库中专注阅读,并随时返回相关工具与课程
@TOC目录 今天在一台数据库主机上想安装 rlwrap 插件(上下文切换,退格优化),方便运维操作,但是 rlwrap 需要前置安装 readline-devel,因为是内网环境,也不方便挂载镜像 ISO、没有 YUM 源的情况下,如何才能安装呢?
本章目标:掌握本章核心知识点 前置要求:完成前序章节学习 预计时长:60 分钟
今天在一台数据库主机上想安装 rlwrap 插件(上下文切换,退格优化),方便运维操作,但是 rlwrap 需要前置安装 readline-devel,因为是内网环境,也不方便挂载镜像 ISO、没有 YUM 源的情况下,如何才能安装呢?

本文记录一下操作过程,便于以后查看。
有两种方式可以获取到 readline-devel 包,yum install --downloadonly 和在线镜像源下载。
找一台可以访问网络的主机,配置好在线镜像源,这里我选择的是清华大学的镜像源网站:https://mirrors.tuna.tsinghua.edu.cn/help/centos-vault/

支持一键配置在线软件源,十分方便,我这里主机系统是 centos 7.9.2009,所以这里小版本就填对应的版本号即可,将一键配置命令复制到主机上执行即可:
1sed -e "s|^mirrorlist=|#mirrorlist=|g" \2 -e "s|^#baseurl=http://mirror.centos.org/centos/\$releasever|baseurl=https://mirrors4.tuna.tsinghua.edu.cn/centos-vault/7.9.2009|g" \3 -e "s|^#baseurl=http://mirror.centos.org/\$contentdir/\$releasever|baseurl=https://mirrors4.tuna.tsinghua.edu.cn/centos-vault/7.9.2009|g" \4 -i.bak \5 /etc/yum.repos.d/CentOS-*.repo67yum makecache下载 readline-devel 包:
1## 下载到 /pkg 目录下2yum install --downloadonly --downloaddir=/pkg readline-devel下载完成后在 /pkg 目录下会生成 rpm 包:
下载之后,上传 rpm 包到需要安装的 centos7.9 主机上进行安装即可:
1rpm -ivh ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm2rpm -ivh readline-devel-6.2-11.el7.x86_64.rpm这个方式好的点在于可以把 readline-devel 所需的依赖包 ncurses-devel 给级联下载出来,适用于不了解 readline-devel 安装需要哪些依赖包。
如果知道 readline-devel 安装需要哪些依赖包,那就可以直接去在线镜像源下载即可,更加方便快捷。
以 centos7.9 为例,打开:https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/os/x86_64/Packages/,搜索需要下载的依赖包进行右键下载即可:


下载之后,上传 rpm 包到需要安装的 centos7.9 主机上进行安装即可:
1rpm -ivh ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm2rpm -ivh readline-devel-6.2-11.el7.x86_64.rpm不同大版本的 rpm 包也不一样,需要根据主机版本进行下载,小版本通用,但是 redhat 和 centos 是通用的。
我这里列一下 centos6/7/8/9/10 的下载路径:
建议手动下载这些 rpm 包后保存到本地,这样内网安装 rlwrap 也是轻轻松松了!
rlwrap 插件安装就很简单了,官网下载 https://github.com/hanslub42/rlwrap/releases,我比较喜欢 v0.46 版本,大家根据自己的喜好来!
下载后上传到主机上进行安装即可:
1tar -xf rlwrap-0.46.tar.gz2cd rlwrap-0.463./configure -q && make -s && make install -s安装完成之后,配置一下 rlwrap,比如 Oracle 数据库配置:
1cat<<-EOF>>/home/oracle/.bash_profile2alias sqlplus='rlwrap sqlplus'3alias rman='rlwrap rman'4alias adrci='rlwrap adrci'5EOF67source /home/oracle/.bash_profile然后就可以打开 sqlplus 愉快的切换上下文翻页了!
现在 AI 开发很方便,完全可以把这些提升数据库运维效率的优化写成一个一键脚本,进行一键优化:
1[root@lucifer ~]# sh lo.sh 2[2025-09-02 15:54:51] 开始Oracle数据库主机优化...3[2025-09-02 15:54:51] 开始配置root用户的.bash_profile...4[2025-09-02 15:54:51] 已备份 /root/.bash_profile5[2025-09-02 15:54:51] root用户.bash_profile配置完成6[2025-09-02 15:54:51] 开始配置oracle用户的.bash_profile...7[2025-09-02 15:54:51] 已备份 /home/oracle/.bash_profile8[2025-09-02 15:54:51] oracle用户.bash_profile配置完成9[2025-09-02 15:54:51] 开始安装lrzsz...10[2025-09-02 15:54:51] lrzsz已经安装,跳过安装步骤11[2025-09-02 15:54:51] 开始检查rlwrap安装状态...12[2025-09-02 15:54:51] rlwrap未安装,开始安装流程...13[2025-09-02 15:54:51] 检查系统信息...14[2025-09-02 15:54:51] 当前系统版本: Red Hat Enterprise Linux Server release 6.9 (Santiago)15[2025-09-02 15:54:51] 检查rlwrap编译依赖...16[2025-09-02 15:54:51] ncurses-devel未安装,检查/tmp目录下的rpm包...17[2025-09-02 15:54:51] 找到ncurses-devel rpm包: ncurses-devel-5.7-4.20090207.el6.x86_64.rpm18[2025-09-02 15:54:51] readline-devel未安装,检查/tmp目录下的rpm包...19[2025-09-02 15:54:51] 找到readline-devel rpm包: readline-devel-6.0-4.el6.x86_64.rpm20[2025-09-02 15:54:51] 开始安装依赖rpm包...21[2025-09-02 15:54:51] 安装: ncurses-devel-5.7-4.20090207.el6.x86_64.rpm22[2025-09-02 15:54:52] ncurses-devel-5.7-4.20090207.el6.x86_64.rpm 安装成功23[2025-09-02 15:54:52] 安装: readline-devel-6.0-4.el6.x86_64.rpm24[2025-09-02 15:54:52] readline-devel-6.0-4.el6.x86_64.rpm 安装成功25[2025-09-02 15:54:52] rlwrap编译依赖检查通过26[2025-09-02 15:54:52] 检查rlwrap安装文件...27[2025-09-02 15:54:52] rlwrap源码包检查完成28[2025-09-02 15:54:52] 解压rlwrap源码...29[2025-09-02 15:54:52] 编译和安装rlwrap...30[2025-09-02 15:54:58] rlwrap安装成功31[2025-09-02 15:54:58] 创建rlwrap软链接...32[2025-09-02 15:54:58] rlwrap软链接创建成功33[2025-09-02 15:54:58] rlwrap安装验证成功34[2025-09-02 15:54:58] 检查oracle用户的rlwrap别名配置...35[2025-09-02 15:54:58] 需要添加rlwrap别名: sqlplus36[2025-09-02 15:54:58] 需要添加rlwrap别名: rman37[2025-09-02 15:54:58] 需要添加rlwrap别名: adrci38[2025-09-02 15:54:58] 已备份 /home/oracle/.bash_profile39[2025-09-02 15:54:58] 已添加: alias sqlplus='rlwrap sqlplus'40[2025-09-02 15:54:58] 已添加: alias rman='rlwrap rman'41[2025-09-02 15:54:58] 已添加: alias adrci='rlwrap adrci'42[2025-09-02 15:54:58] oracle用户rlwrap别名配置完成43[2025-09-02 15:54:58] ===== Oracle数据库主机优化完成 =====4445配置已完成,包含以下优化:4647Root用户别名:48 so - 切换到oracle用户49 sg - 切换到grid用户5051Oracle用户别名:52 sas - 以sysdba身份连接数据库53 awr - 运行AWR报告54 ash - 运行ASH报告55 alert - 编辑alert日志56 bdf - 显示磁盘使用情况57 acd - 切换到trace目录58 dblog - 实时查看alert日志5960Oracle用户rlwrap别名:61 sqlplus - 带历史记录的sqlplus62 rman - 带历史记录的rman63 adrci - 带历史记录的adrci6465请执行以下命令使配置生效:66 source /root/.bash_profile67 su - oracle -c 'source ~/.bash_profile'6869已安装的工具:70 lrzsz - 支持rz/sz文件传输功能71 rlwrap - 支持命令行历史和编辑功能7273rlwrap功能说明:74 - 支持命令历史记录(上下方向键)75 - 支持命令行编辑功能76 - oracle用户可直接使用: sqlplus, rman, adrci77 - 手动使用示例: rlwrap sqlplus / as sysdba7879[2025-09-02 15:54:58] 优化脚本执行完成!大家感兴趣的也可以用 AI 写一个最适合自己的一键优化工具,提升运维幸福感!