前言
前面搭建了基础环境,在使用统信UOS系统的相关行业也是不能上网的,但是可以传递压缩包,为了很好的方便相关从业人员工作,特将此种方式流程分享出来。(与国产银河麒麟不同)
本篇文章的重点就是离线安装,包括了在线安装,提取离线安装包,离线安装并完成测试验证。
本文以sshpass工具为示例。
统信UOS系统版本
系统版本:
关键路径(yum安装档案缓存路径)
概述
系统在线安装的包,会在/var/cache/yum下存档缓存。(这是标注的,这个版本的uos实际上不是这个,后面会说)
cd /var/cache/apt/archives ls -l
但是我们的版本,麒麟服务器版本是没有这个存档的。
当前版本的 yum 在成功下载和安装软件包后,会把下载的文件删掉。这样可以减少yum占用的磁盘空间。可以打开缓存,这样yum将在缓存目录保留下载到的文件。
默认情况下,yum 在 /var/cache/yum/ 目录保存临时文件,每个仓库都有自己的子目录。仓库目录中packages/ 子目录包含了缓存的软件包。例如,目录/var/cache/yum/development/packages/包含从development仓库下载的软件包。
打开缓存
要配置 yum 保留已下载的文件而不是删除,设置/etc/yum.conf中的keepcache选项为 1:keepcache=1
sudo vi /etc/yum.conf
成功拿到安装包路径
然后卸载sshpass,再安装一次,还是没有yum,但是我们可以搜索到了。
测试了下git,又多了:
至此可以知道,本系统的安装包和依赖包缓存路径:
/cache/dnf/UnionTechOS-Server-20-everything-aff9b188377218e1/packages
在线安装
先清空一下:
然后使用命令行在线安装:
// 之前安装了不会再次安装,也不会下载,需要先卸载 sudo yum remove sshpass sudo yum install sshpass
查看命令:
查看缓存:
提取软件安装包
可以看到,就是多了sshpass这个.rpm的软件包,那么直接将它copy出来即可。
只下载安装包(包括依赖包方法)
sshpass
yum install sshpass --downloadonly --downloaddir=.
git
yum install git –downloadonly –downloaddir=.
目标机离线安装并测试
sshpass(没有依赖包)
另外起一太无法上网的机器,将该软件包存到那边去。
同样也是一样的系统(虚拟机恢复原始镜像)。
sshpass sudo rpm -U sshpass-1.06-8.uel20.x86_64.rpm sshpass
git(有依赖包:–nodeps)
sshpass sudo rpm -U sshpass-1.06-8.uel20.x86_64.rpm --nodeps sshpass
至此,整个流程完成。