作为一个运维人员,有时候公司的服务器外网权限控制的很死,安装系统离线源之外的工具,会感到非常头疼,因为离线rpm安装的话,有很多依赖需要下载安装。今天以离线安装ansible为例,与大家分享下离线安装centos7一些开源工具的方法。
系统:centos7
服务器:一台能联网的、一台离线的。系统版本相同即可
工具:yumdownloader
Yumdownloader是一款简单,但是却十分有用的命令行工具,它可以一次性下载任何 RPM 软件包及其所有依赖包。yum install yum-utils。一旦安装完成,运行如下命令去下载一个软件包,例如 httpd。yumdownloader httpd,为了根据所有依赖性下载软件包,我们使用 --resolve参数:yumdownloader --resolve httpd默认情况下,Yumdownloader 将会下载软件包到当前工作目录下。
为了将软件下载到一个特定的目录下,我们使用 --destdir 参数:yumdownloader --resolve --destdir=/root/mypackages/ httpd
或者,yumdownloader --resolve --destdir /root/mypackages/ httpd
在能联网的服务器上
1、安装yumdownloader
yumdownloader是什么:yumdownloader is a program for downloading RPMs from Yum repositories
安装:yum install yum-utils -y
2、获取ansible安装包及依赖
注意/tmp/local-yum/Packages之间是有空格的哦
[root@localhost local-yum]# tar -zcf ansible.tar.gz Packages --到local-yum目录下打包Packages该目录
3、上传将ansible.tar.gz上传到离线服务器上/tmp/local-yum目录下
在离线服务器上
1、解压压缩包
[root@localhost local-yum]# mkdir -p /tmp/local-yum
[root@localhost local-yum]#tar zxf ansible.tar.gz
[root@localhost local-yum]# cd /tmp/local-yum/Packages/
2、制作离线源
[root@localhost local-yum]# pwd
/tmp/local-yum
[root@localhost local-yum]# ls
ansible.tar.gz Packages repodata
yum源中是不认识这些包的,需要做下处理,比如重新创建repodata,这个命令就是createrepo
3、编辑yum文件
vim /etc/yum.repos.d/ansible.repo
4、安装ansible(yum install 可以安装ansible的包了,并且会自己解决依赖问题)
yum install ansible -y