RHEL7利用iso镜像制作本地yum源

RHEL7利用iso镜像制作本地yum源


1.创建iso存放目录和挂载目录

[root@desktop ~]# cd /mnt/
[root@desktop mnt]# mkdir iso cdrom

2.将iso镜像文件上传到/mnt/iso文件夹下

(如果是虚拟机的话可以使用scp命令)

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

[root@desktop ~]# mount -o loop /mnt/iso/rhel-server-7.0-x86_64-dvd.iso /mnt/cdrom/
mount: /dev/loop0 写保护,将以只读方式挂载.

(mount命令 -o指定选项,loop用来把一个文件当成硬盘分区mount到目录)

4.编辑/etc/yum.repos.d/myself.repo,如果/etc/yum.repos.d/路径下有其他*.repo文件的话,先备份删除,然后再编辑myself.repo文件

[root@desktop ~]# cd /etc/yum.repos.d/
[root@desktop yum.repos.d]# vim myself.repo
[base]
name=RedHat
baseurl=file:///mnt/cdrom
enabled=1
gpgckeck=0
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

其中RPM-GPG-KEY-redhat-release可以在/mnt/cdrom/下找到复制粘贴到这里就可以了。

5.测试

清除yum缓存

[root@desktop yum.repos.d]# yum clean all

尝试安装httpd

[root@desktop yum.repos.d]# yum install httpd

到这里还不算完,由于上面使用的是手动挂载,所以每次重启之后都需要再次手动挂载,比较麻烦,所以有几种解决的方案。
第一种:把挂载的命令写到脚本里,每次开机后运行。(其实还是有点麻烦!)
第二种:把刚才的脚本修饰以下开机自启,具体做法是:

[root@server ~]# cd /etc/init.d/
[root@server init.d]# vim mtyum.sh  (名字随便起啦,不要冲突就好。)
#! /bin/bash
#add for chkconfig
#chkconfig: 2345 70 30
#description: mount yum        #简短描述
#processname: mtyum            #进程名
mount /mnt/iso/rhel-server-7.0-x86_64-dvd.iso /mnt/cdrom
说明:

*2345是指脚本的运行级别,即在2345这4种模式下都可以运行,234都是文本界面,5就是图形界面X
70是指脚本将来的启动顺序号,如果别的程序的启动顺序号比70小(比如44、45),则脚本需要等这些程序都启动以后才启动。
30是指系统关闭时,脚本的停止顺序号。*

给脚本添加执行权限:

[root@server init.d]# chmod +x mtyum.sh

利用chkconfig命令将脚本设置为自启动

[root@server init.d]# chkconfig --add mtyum.sh

最后重启测试

[root@server ~]# reboot

第三种:编辑/etc/fstab文件添加内容实现自动挂载,具体做法是:

[root@desktop ~]# vim /etc/fstab

在最后一行添加:

/mnt/iso/rhel-server-7.0-x86_64-dvd.iso   /mnt/cdrom   iso9660  defaults 0 0

保存退出即可。
然后重启检测就可以了。


至此,利用iso镜像制作本地yum源的方法与步骤就介绍完了,由于本人在这个东西上遇到很多问题,所以特地总结出来供大家参考,部分方法参考链接:
http://blog.csdn.net/houqd2012/article/details/8604083
http://blog.csdn.net/jiedushi/article/details/6767445
在此表示感谢!写这篇教程时使用了两个虚拟机,所以看到desktop和server两个主机名就请自行忽略。这篇教程理论上适用于rhel,centos,fedora,具体自测。


最后,转载请注明出处,谢谢!

猜你喜欢

转载自blog.csdn.net/yangxjsun/article/details/54709648