很多小伙伴都会在想这个问题,为什么我拿着centos8直接yum安装不行了呢?为什么我安装官方文档的方式也不行呢?为什么我centos7直接yum就行?这到底是为什么呢?
经过本人多次的尝试,总结出来的一个问题,是因为库太新了所导致的,在新的epel库里边貌似就没有ansible,我们需要使用版本比较老一点的epel库就能解决这个问题了
先设置一个库,我这里使用的为阿里的,当然,还有更简单的办法,直接挂上本地的yum库,这样也是可以实现的.
先清除yum.rpos.d下的相关的库的配置文件,使用rm-rf 进行清除
然后拉取新的库文件
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
运行 yum makecache 生成缓存
在阿里的epel的源可以发现,是版本比较新的epel源,需要使用
yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm进行拉取,
再使用sed语句对文件内的一些内容进行修改
sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
这样替换后的epel库之中进行拉取ansible会显示没有文件或者其他的报错,这是因为epel新的entos的库之中没有ansible的相关的文件的,我们可以使用老一点的epel文件使用sed语句进行修改,这里为了方便一点,我这边直接修改了sed的相关的语句,直接使用下边的语句
sed -i 's|^#baseurl=https://download.example/pub/epel|baseurl=https://mirrors.aliyun.com/epel-archive|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
修改一下变成epel-archive|老存储库
这样替换完之后,再次生成一下缓存,生成缓存完毕之后,直接dnf install -y ansible就可以了。
ps:安装好之后使用ansible -version查看一下版本,然后查看一下etc/ansible,查看有没有这个配置文件