当前位置: 首页 > news >正文

教你 Centos 如何离线安装 rlwrap 插件(内网环境)

目录

  • 前言
  • 下载 rpm 包
    • downloadonly
    • 在线镜像源下载
  • 安装 rlwrap 插件
  • 写在最后

前言

今天在一台数据库主机上想安装 rlwrap 插件(上下文切换,退格优化),方便运维操作,但是 rlwrap 需要前置安装 readline-devel,因为是内网环境,也不方便挂载镜像 ISO、没有 YUM 源的情况下,如何才能安装呢?

本文记录一下操作过程,便于以后查看。

下载 rpm 包

有两种方式可以获取到 readline-devel 包,yum install --downloadonly在线镜像源下载

downloadonly

找一台可以访问网络的主机,配置好在线镜像源,这里我选择的是清华大学的镜像源网站:https://mirrors.tuna.tsinghua.edu.cn/help/centos-vault/

支持一键配置在线软件源,十分方便,我这里主机系统是 centos 7.9.2009,所以这里小版本就填对应的版本号即可,将一键配置命令复制到主机上执行即可:

sed -e "s|^mirrorlist=|#mirrorlist=|g" \-e "s|^#baseurl=http://mirror.centos.org/centos/\$releasever|baseurl=https://mirrors4.tuna.tsinghua.edu.cn/centos-vault/7.9.2009|g" \-e "s|^#baseurl=http://mirror.centos.org/\$contentdir/\$releasever|baseurl=https://mirrors4.tuna.tsinghua.edu.cn/centos-vault/7.9.2009|g" \-i.bak \/etc/yum.repos.d/CentOS-*.repoyum makecache

下载 readline-devel 包:

## 下载到 /pkg 目录下
yum install --downloadonly --downloaddir=/pkg readline-devel

下载完成后在 /pkg 目录下会生成 rpm 包:

  • ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm
  • readline-devel-6.2-11.el7.x86_64.rpm

下载之后,上传 rpm 包到需要安装的 centos7.9 主机上进行安装即可:

rpm -ivh ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm
rpm -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 主机上进行安装即可:

rpm -ivh ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm
rpm -ivh readline-devel-6.2-11.el7.x86_64.rpm

不同大版本的 rpm 包也不一样,需要根据主机版本进行下载,小版本通用,但是 redhat 和 centos 是通用的。

我这里列一下 centos6/7/8/9/10 的下载路径:

  • centos6:
    • https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.10/os/x86_64/Packages/ncurses-devel-5.7-4.20090207.el6.x86_64.rpm
    • https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.10/os/x86_64/Packages/readline-devel-6.0-4.el6.x86_64.rpm
  • centos7:
    • https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/os/x86_64/Packages/ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm
    • https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/os/x86_64/Packages/readline-devel-6.2-11.el7.x86_64.rpm
  • centos8:
    • https://mirrors.tuna.tsinghua.edu.cn/centos-vault/8.5.2111/BaseOS/x86_64/os/Packages/ncurses-devel-6.1-9.20180224.el8.x86_64.rpm
    • https://mirrors.tuna.tsinghua.edu.cn/centos-vault/8.5.2111/BaseOS/x86_64/os/Packages/readline-devel-7.0-10.el8.x86_64.rpm
  • centos9:
    • https://mirrors.tuna.tsinghua.edu.cn/centos-stream/9-stream/AppStream/x86_64/os/Packages/ncurses-devel-6.2-12.20210508.el9.x86_64.rpm
    • https://mirrors.tuna.tsinghua.edu.cn/centos-stream/9-stream/AppStream/x86_64/os/Packages/readline-devel-8.1-4.el9.x86_64.rpm
  • centos10:
    • https://mirrors.tuna.tsinghua.edu.cn/centos-stream/10-stream/AppStream/x86_64/os/Packages/ncurses-devel-6.4-14.20240127.el10.x86_64.rpm
    • https://mirrors.tuna.tsinghua.edu.cn/centos-stream/10-stream/AppStream/x86_64/os/Packages/readline-devel-8.2-11.el10.x86_64.rpm

建议手动下载这些 rpm 包后保存到本地,这样内网安装 rlwrap 也是轻轻松松了!

安装 rlwrap 插件

rlwrap 插件安装就很简单了,官网下载 https://github.com/hanslub42/rlwrap/releases,我比较喜欢 v0.46 版本,大家根据自己的喜好来!

下载后上传到主机上进行安装即可:

tar -xf rlwrap-0.46.tar.gz
cd rlwrap-0.46
./configure -q && make -s && make install -s

安装完成之后,配置一下 rlwrap,比如 Oracle 数据库配置:

cat<<-EOF>>/home/oracle/.bash_profile
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias adrci='rlwrap adrci'
EOFsource /home/oracle/.bash_profile

然后就可以打开 sqlplus 愉快的切换上下文翻页了!

写在最后

现在 AI 开发很方便,完全可以把这些提升数据库运维效率的优化写成一个一键脚本,进行一键优化:

[root@lucifer ~]# sh lo.sh 
[2025-09-02 15:54:51] 开始Oracle数据库主机优化...
[2025-09-02 15:54:51] 开始配置root用户的.bash_profile...
[2025-09-02 15:54:51] 已备份 /root/.bash_profile
[2025-09-02 15:54:51] root用户.bash_profile配置完成
[2025-09-02 15:54:51] 开始配置oracle用户的.bash_profile...
[2025-09-02 15:54:51] 已备份 /home/oracle/.bash_profile
[2025-09-02 15:54:51] oracle用户.bash_profile配置完成
[2025-09-02 15:54:51] 开始安装lrzsz...
[2025-09-02 15:54:51] lrzsz已经安装,跳过安装步骤
[2025-09-02 15:54:51] 开始检查rlwrap安装状态...
[2025-09-02 15:54:51] rlwrap未安装,开始安装流程...
[2025-09-02 15:54:51] 检查系统信息...
[2025-09-02 15:54:51] 当前系统版本: Red Hat Enterprise Linux Server release 6.9 (Santiago)
[2025-09-02 15:54:51] 检查rlwrap编译依赖...
[2025-09-02 15:54:51] ncurses-devel未安装,检查/tmp目录下的rpm包...
[2025-09-02 15:54:51] 找到ncurses-devel rpm包: ncurses-devel-5.7-4.20090207.el6.x86_64.rpm
[2025-09-02 15:54:51] readline-devel未安装,检查/tmp目录下的rpm包...
[2025-09-02 15:54:51] 找到readline-devel rpm包: readline-devel-6.0-4.el6.x86_64.rpm
[2025-09-02 15:54:51] 开始安装依赖rpm包...
[2025-09-02 15:54:51] 安装: ncurses-devel-5.7-4.20090207.el6.x86_64.rpm
[2025-09-02 15:54:52] ncurses-devel-5.7-4.20090207.el6.x86_64.rpm 安装成功
[2025-09-02 15:54:52] 安装: readline-devel-6.0-4.el6.x86_64.rpm
[2025-09-02 15:54:52] readline-devel-6.0-4.el6.x86_64.rpm 安装成功
[2025-09-02 15:54:52] rlwrap编译依赖检查通过
[2025-09-02 15:54:52] 检查rlwrap安装文件...
[2025-09-02 15:54:52] rlwrap源码包检查完成
[2025-09-02 15:54:52] 解压rlwrap源码...
[2025-09-02 15:54:52] 编译和安装rlwrap...
[2025-09-02 15:54:58] rlwrap安装成功
[2025-09-02 15:54:58] 创建rlwrap软链接...
[2025-09-02 15:54:58] rlwrap软链接创建成功
[2025-09-02 15:54:58] rlwrap安装验证成功
[2025-09-02 15:54:58] 检查oracle用户的rlwrap别名配置...
[2025-09-02 15:54:58] 需要添加rlwrap别名: sqlplus
[2025-09-02 15:54:58] 需要添加rlwrap别名: rman
[2025-09-02 15:54:58] 需要添加rlwrap别名: adrci
[2025-09-02 15:54:58] 已备份 /home/oracle/.bash_profile
[2025-09-02 15:54:58] 已添加: alias sqlplus='rlwrap sqlplus'
[2025-09-02 15:54:58] 已添加: alias rman='rlwrap rman'
[2025-09-02 15:54:58] 已添加: alias adrci='rlwrap adrci'
[2025-09-02 15:54:58] oracle用户rlwrap别名配置完成
[2025-09-02 15:54:58] ===== Oracle数据库主机优化完成 =====配置已完成,包含以下优化:Root用户别名:so  - 切换到oracle用户sg  - 切换到grid用户Oracle用户别名:sas   - 以sysdba身份连接数据库awr   - 运行AWR报告ash   - 运行ASH报告alert - 编辑alert日志bdf   - 显示磁盘使用情况acd   - 切换到trace目录dblog - 实时查看alert日志Oracle用户rlwrap别名:sqlplus - 带历史记录的sqlplusrman    - 带历史记录的rmanadrci   - 带历史记录的adrci请执行以下命令使配置生效:source /root/.bash_profilesu - oracle -c 'source ~/.bash_profile'已安装的工具:lrzsz - 支持rz/sz文件传输功能rlwrap - 支持命令行历史和编辑功能rlwrap功能说明:- 支持命令历史记录(上下方向键)- 支持命令行编辑功能- oracle用户可直接使用: sqlplus, rman, adrci- 手动使用示例: rlwrap sqlplus / as sysdba[2025-09-02 15:54:58] 优化脚本执行完成!

大家感兴趣的也可以用 AI 写一个最适合自己的一键优化工具,提升运维幸福感!


文章转载自:

http://79GtuAcn.cLzLy.cn
http://q79o6pYD.cLzLy.cn
http://1vvE5rPw.cLzLy.cn
http://lOYMXOOR.cLzLy.cn
http://S35hAS28.cLzLy.cn
http://JTDLsAnn.cLzLy.cn
http://jrpeVLRT.cLzLy.cn
http://WztEtCjR.cLzLy.cn
http://y5k7tL78.cLzLy.cn
http://1SftoUth.cLzLy.cn
http://AKW4eobL.cLzLy.cn
http://fhpgdqpd.cLzLy.cn
http://OcQWG28N.cLzLy.cn
http://mbhnG83U.cLzLy.cn
http://7vvvAZrn.cLzLy.cn
http://t9sfXJKP.cLzLy.cn
http://G46g7izN.cLzLy.cn
http://qPrzXtjx.cLzLy.cn
http://D4C30ofK.cLzLy.cn
http://aJg3ziXW.cLzLy.cn
http://aCkZrm1C.cLzLy.cn
http://kXoX6kLe.cLzLy.cn
http://zeDD6gHx.cLzLy.cn
http://a118FST0.cLzLy.cn
http://sQCdCoID.cLzLy.cn
http://SRR0MzTh.cLzLy.cn
http://Lcjne4Nw.cLzLy.cn
http://f2sx2ce3.cLzLy.cn
http://J7Q8T7gX.cLzLy.cn
http://yPUvY4Qt.cLzLy.cn
http://www.dtcms.com/a/363689.html

相关文章:

  • MATLAB矩阵及其运算(三)矩阵的创建
  • 一文搞懂:0-1整数规划与蒙特卡罗模拟(附MATLAB代码详解)
  • 命令行文本处理小工具:cut、sort、uniq、tr 详解与应用
  • 从零开始的python学习——函数(2)
  • shell复习(2)
  • Flutter环境搭建全攻略之-windows环境搭建
  • 毫米波雷达信号处理步骤顺序
  • 树莓派网页监控
  • [嵌入式embed][Qt]Qt5.12+Opencv4.x+Cmake4.x_用Qt编译Windows-Opencv库
  • LangGraph 重要注意事项和常见问题
  • MTK Linux DRM分析(二十六)- MTK mtk_drm_ddp_xxx.c
  • 如何创建逻辑卷
  • Shell脚本入门:从零到精通
  • 容器设备映射配置在海外云服务器GPU加速环境的实施规范
  • QML的focus与activeFocus
  • C++ 左值引用与右值引用介绍
  • MySQL数据库精研之旅第十五期:索引的 “潜规则”(下)
  • OpenCV Python
  • 0825-0829 | 大模型方向周报:多模态模型研究、训练与优化策略、安全与对齐等方向
  • SQL Server--提取性能最差的查询
  • 阿里云国际代理商:如何重置阿里云服务器密码?
  • 阿里云日志服务之WebTracking 小程序端 JavaScript SDK (阿里SDK埋点和原生uni.request请求冲突问题)
  • 现代CPU设计哲学——加载/存储(Load-Store)架构
  • 作为软件专业学生,我眼中新架构实践的‘稳’与‘进’
  • NLP学习系列 | Transformer代码简单实现
  • MySQL 事务隔离与 MVCC
  • 鸿蒙权限崩溃?一招解决闪退难题
  • 自建局域网gitlab如何修改提交时间
  • 365 天技术创作手记:从一行代码到四万同行者的相遇
  • 基本IP保护 Swagger UI 的中间件