最近在安装大数据平台,遇到了一些问题,解决了关于服务器主机不联网,如何离线安装rpm软件包的解决方案,曾困扰了一小段时间,网上没有找到完整的解决方案和详细说明,于是乎,借此记录下来,一方面自己总结分析,另一方面看看能不能帮助到别人。 前提简要说明:
- 主机10.45.151.151需要安装mysql软件包,奈何离线,无法下载安装
- 主机10.45.151.152可以联网,于是在152主机上部署离线仓库,然后挂在共享出来,方便主机151可以使用yum install mysql指令来离线安装。
首先,这两台主机都要关闭防火墙、关掉安全强化模式(两台主机都需要这样做)
systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
主机152可以联网,所以须要配备的环境是:createrepo、httpd、yum-utils
yum install yum-utils createrepo httpd
/bin/systemctl start httpd.service
systemctl enable httpd.service
接下来创建仓库: 用来做离线仓库,存储rpm软件包,方便别的离线主机下载安装
mkdir -p /var/www/html/WDP/centos7/develop/mysql
将提前准备好的mysql和依赖放到mysql里面去,可以本地上传,,也可以通过downloadonly的方式。我这类是提前准备好的,直接传上去了。 createrepo:生成yum源各软件之间的依赖索引(这里是mysql软件)
createrepo /var/www/html/WDP/centos7/develop/mysql
可以看出会在我们原来的仓库下产生一个repodata文件,这说明要安装的软件依赖索引已经建好。 接下来要挂载,方别其他主机或者通过网页可以直接访问得到。
mount -r /dev/sr0 /var/www/html/WDP/centos7/develop/mysql
如果出现如下错误,是因为没有连接,打开虚拟机VMware,找到相关的主机,设置: 把这里勾上,然后点击确认,再执行一遍挂载。就不会报错了。 到这里就可以去网页上打开看看,输入主机加地址,(主机号加"/var/www/html"之后的目录就行)我的是: 10.45.151.152/WDP/centos7/develop/mysql 接下来去不能联网的主机151上开始配置,建立元索引。 进入yum.repo.d目录
cd /etc/yum.repos.d/
可以在这里看到一些已经建立的repo文件,把之前的repo文件全部加了.bk后缀,使其失效,然后尝试安装mysql,发现安装失败,因为没有repo索引 接下来开始配置repo索引文件:
- 中括号里面是serverid,是用于区别各个不同的repository,必须有一个独一无二的名称,所以为了避免和别的重复,就写大写的repo文件名吧,
- name,是对repository的描述,内容可以写别的,但是最好和你的repo文件名一样,name后面跟小写repo文件名吧,
- baseurl后面跟你的资源地址,就是用网页可以打开的那个地址,是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。
- gpgcheck是安装时是否校验,设置0可以省去麻烦,
- enabled=[1 or 0]当某个软件仓库被配置成 enabled=0 时,yum 在安装或升级软件包时不会将该仓库做为软件包提供源。使用这个选项,可以启用或禁用软件仓库。
- priority 优先级
[LOCALISO]
name=localiso
baseurl=http://10.45.151.152/WDP/centos7/develop/mysql
gpgcheck=0
enabled=1
priority=1
设置好之后保存退出,使用命令:
yum repolist
可以看到已经能够识别到repo依赖了 这时尝试安装软件包:成功
yum install mysql
以上就是离线安装软件仓库的全部步骤!
|