Redhat搭建本地Yum源

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xin917480852/article/details/78134889

1.实际的问题

由于工作中遇到需要在服务器上部署Kettle,但是Kettle需要图形化操作,这个时候需要安装vncserver服务,通过vnc客户端连接服务器,进行可视化的操作,但是在安装vncserver的时候由于为了安全考虑,机房的服务器是不能上网的,通过本地下载rpm包上传到服务器,又会遇到rpm包的各种依赖(树形依赖A-B-C,环形依赖A-B-C-A【同时安装能解决】,模块依赖一般是.so.2结尾的,需要去http://rpm.pbone.net/这个网站查询对应的rpm,安装这个模块),在这个过程中遇到了很多太多rpm的依赖,还有一些版本的冲突,且服务器不能也不允许上网,导致Kettle部署不成功。

总结:服务器不能上网导致不能使用Yum,安装软件rpm方式太多依赖。

2.解决办法:

部署本地yum源,通过yum -install 解决

3.具体步骤

1.用本地文件创建本地Yum

mkdir /mnt/iso

mkdir/mnt/cdrom

2.将下载好的centosXXXiso镜像上传到/mnt/iso

3./mnt/iso/下的iso文件挂载到/mnt/cdrom

mount -o loop /mnt/iso/XXXX.iso /mnt/cdrom

有时候会报错,需要umount解开挂载

查看是否挂载成功df-h

4.修改/etc/yum.repos.d/下面的所有以*.repo的文件,创建一个文件夹,将 *.repo的文件移动到这个文件夹中

mkdir /etc/yum.repos.d/bak

mv /etc/yum.repos.d/*.repo  /etc/yum.repos.d/bak

5.新建自己的.repo文件

vi myself.repo

内容如下

[Mybase]

name=RedHat

#注:这里的baseurl就是你挂载的目录,在这里是/mnt/cdrom

baseurl=file:///mnt/cdrom    

#注:这里的值enabled一定要为1  

enabled=1                    

#gpgckeck的值无所谓,为1,进行安装包的校验,是否被篡改,gpgkey这一个提供的是rpm包的公钥

gpgckeck=0

#不提供秘钥检验所以没有key

#注:这个你cd /mnt/cdrom/可以看到这个key,这里仅仅是个例子

#gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

6.测试

yum clean all

yum install vim

7.成功

有一个特别坑的地方:myself.repo中我们设置的gpgckeck=0是不需要进行公钥校验的,但是在实际的过程中安装一些软件必须公钥验证的,这个时候就会报公钥不存在的错误,导致你的包无法安装!

解决办法:完成以上步骤6之后,我们需要在/mnt/cdrom下进行

rpm --ivh/mnt/cdrom/*GPG*,安装好之后会在cdrom下面生成很多文件,然后能看到RPM-GPG-KEY-redhat-release这个,复制,然后修改myself.repo,需要改两个地方

gpgckeck=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release 去掉注释

内容如下

[Mybase]

name=RedHat

#注:这里的baseurl就是你挂载的目录,在这里是/mnt/cdrom

baseurl=file:///mnt/cdrom    

#注:这里的值enabled一定要为1  

enabled=1                    

#gpgckeck的值无所谓,为1,进行安装包的校验,是否被篡改,gpgkey这一个提供的是rpm包的公钥

gpgckeck=1

#不提供秘钥检验所以没有key

#注:这个你cd /mnt/cdrom/可以看到这个key,这里仅仅是个例子

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

这样就大功告成

猜你喜欢

转载自blog.csdn.net/xin917480852/article/details/78134889