首先感谢三位前辈的文章指引:
一. .获得离线rpm安装包的方式: 内网环境centos7 yum离线安装软件包_cl2010abc的专栏-CSDN博客_yum 离线安装
二. .yum更新失败解决方案(中间因为断网发生了一次)
.【已解决】yum更新失败:rpmdb: BDB0113 Thread/process 2673/140126198814528 failed: BDB1507 Thread died..._haohaoxuexiyai的博客-CSDN博客3
三. .expect脚本提供
因为这个问题纠缠了很久,再翻历史记录找不到了,特别遗憾,但由衷的表示感谢
#1.安装插件 # 首先找一台有网的机器, 安装一个下载离线安装包的插件 yum install -y yum-plugin-downloadonly #2.下载expect依赖的安装包(我这里下载到当前文件夹) yum install -y --downloadonly --downloaddir=. expect
下载完成(通过各种媒介转移到内网机上):
开始离线安装:
# 需要先安装TCL插件 yum localinstall tcl-8.6.8-2.el8.x86_64.rpm # 再安装expect yum localinstall expect-5.45.4-5.el8.x86_64.rpm
制作调用脚本(这个脚本是下载文件夹的)
#!/usr/bin/expect
set timeout 10
set host [lindex $argv 0]
set username [lindex $argv 1]
set password [lindex $argv 2]
set src_file [lindex $argv 3]
set dest_file [lindex $argv 4]
spawn scp -r $username@$host:$src_file $dest_file
expect {
"(yes/no)?"
{
send "yesn"
expect "*assword:" { send "$passwordn"}
}
"*assword:"
{
send "$passwordn"
}
}
expect "100%"
expect eof
调用(下载文件夹):
./expectTest.sh [IP] [USERNAME] [PASSWORD] [远程目录] [本地目录]
调用(下载文件):修改脚本中的 "spawn scp -r $username@$host:$src_file $dest_file", "spawn"后边是scp命令, 关键参数都是用的变量, 按照需求做修改。
抛砖引玉, 欢迎大家批评指正。
最后, 有一些分享者, 表面上做分享, 背地里把不是自己开发的关键资源做成有偿下载, 这种行为很让人不齿!


