Linux配置本地yum源

来源:互联网 发布:傣族 知乎 编辑:程序博客网 时间:2024/04/16 17:34

0. 软件说明

linux系统:CentOS-6.7
系统镜像:CentOS-6.7-x86_64-bin-DVD1.iso、CentOS-6.7-x86_64-bin-DVD2.iso

1. 设置虚拟机开启时,使用两个iso镜像

2. 挂载这两个设备

(1) 查看系统是否使用了这两个设备

[root@repo ~]# cd /dev[root@repo dev]# ll | grep srlrwxrwxrwx 1 root root           3 Nov 22 20:33 cdrom -> sr0lrwxrwxrwx 1 root root           3 Nov 22 20:33 cdrom1 -> sr1lrwxrwxrwx 1 root root           3 Nov 22 20:33 cdrw -> sr0lrwxrwxrwx 1 root root           3 Nov 22 20:33 cdrw1 -> sr1lrwxrwxrwx 1 root root           3 Nov 22 20:33 dvd -> sr0lrwxrwxrwx 1 root root           3 Nov 22 20:33 dvd1 -> sr1lrwxrwxrwx 1 root root           3 Nov 22 20:33 dvdrw -> sr0lrwxrwxrwx 1 root root           3 Nov 22 20:33 dvdrw1 -> sr1srw-rw-rw- 1 root root           0 Nov 22 20:33 loglrwxrwxrwx 1 root root           3 Nov 22 20:33 scd0 -> sr0lrwxrwxrwx 1 root root           3 Nov 22 20:33 scd1 -> sr1brw-rw---- 1 root cdrom    11,   0 Nov 22 20:33 sr0 # sr0代表DVD1brw-rw---- 1 root cdrom    11,   1 Nov 22 20:33 sr1 # sr1代表DVD2

(2) 挂载

什么是挂载?在Linux中,一切皆文件,所以用sr0来这个文件来表示DVD1这个设备,用sr1这个文件来表示DVD2这个设备,但是这两个代表设备的文件是不能直接打开来查看其中的内容的,需要挂载到指定的目录下,才能查看其中的内容,比如,把sr0这个设备挂载到/mnt/cdrom1下,代表着:打开sr0这个设备后,其中的文件就在/mnt/cdrom1中

[root@repo dev]# cd /mnt[root@repo mnt]# mkdir cdrom1[root@repo mnt]# mkdir cdrom2[root@repo mnt]# mount -t iso9660 /dev/sr0 ./cdrom1[root@repo mnt]# mount -t iso9660 /dev/sr1 ./cdrom2# 这个命令还有其他选项# mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom# -t:文件系统类型 iso9660 表示光盘或者镜像 # -o:挂载方式,ro 表示以只读方式(默认),loop表示把挂载的设备当做一个磁盘分区# 查看是否挂载成功[root@repo mnt]# lltotal 6dr-xr-xr-x 7 root root 4096 Aug  5  2015 cdrom1dr-xr-xr-x 3 root root 2048 Aug  5  2015 cdrom2[root@repo mnt]# cd cdrom1[root@repo cdrom1]# lltotal 558-r--r--r-- 2 root root     14 Aug  5  2015 CentOS_BuildTagdr-xr-xr-x 3 root root   2048 Aug  5  2015 EFI-r--r--r-- 2 root root    212 Nov 27  2013 EULA-r--r--r-- 2 root root  18009 Nov 27  2013 GPLdr-xr-xr-x 3 root root   2048 Aug  5  2015 imagesdr-xr-xr-x 2 root root   2048 Aug  5  2015 isolinuxdr-xr-xr-x 2 root root 528384 Aug  5  2015 Packages-r--r--r-- 2 root root   1354 Jul 25  2015 RELEASE-NOTES-en-US.htmldr-xr-xr-x 2 root root   4096 Aug  5  2015 repodata-r--r--r-- 2 root root   1706 Nov 27  2013 RPM-GPG-KEY-CentOS-6-r--r--r-- 2 root root   1730 Nov 27  2013 RPM-GPG-KEY-CentOS-Debug-6-r--r--r-- 2 root root   1730 Nov 27  2013 RPM-GPG-KEY-CentOS-Security-6-r--r--r-- 2 root root   1734 Nov 27  2013 RPM-GPG-KEY-CentOS-Testing-6-r--r--r-- 1 root root   3380 Aug  5  2015 TRANS.TBL# 这些就是DVD1.iso中的文件,方然cdrom2中的文件就是DVD2.iso中的文件,能看到这些说明挂载成功!

说明:使用mount命令挂载后,当系统重新启动后这些挂载的配置就不再生效,所以我们需要修改配置文件/etc/fstab来让挂载的配置永久生效

vim /etc/fstab# 在文件的末尾添加如下内容/dev/sr0    /mnt/cdrom1     iso9660     defaults    0   0/dev/sr1    /mnt/cdrom2     iso9660     defaults    0   0

第一列:/dev/sr0:挂载源, 要挂载的磁盘分区或者存储设备,或者文件系统
第二列:/mnt/cdrom1:挂载点,挂载位置
第三列:iso9660:文件系统类型 :extext4文件系统,swap表示交换分区,iso9660代表镜像文件……
第四列:defaults:挂载参数(defaults、ro、loop)
第五列:0:表示dump选项,dump工具通过这个选项位置上的数字来决定文件系统否需要备份。如果是0,dump就会被忽略,事实上大多数的dump设置都是0
第六列:0:读取文件系统时候的检查顺序,允许数字是0、1、2,根目录应当获得最高的优先权1,其它所有需要被检查的设备置为2,0表示不检查

重启系统检测配置是否生效,重启后查看/mnt/cdrom1和/mnt/cdrom2下的内容,如果有以上手动配置后查看到的内容,说明配置成功!

3. 修改yum源的配置文件

# 找到yum源的配置文件[root@repo cdrom2]# cd /etc/yum.repos.d/[root@repo yum.repos.d]# lltotal 24-rw-r--r--. 1 root root 1991 Aug  4  2015 CentOS-Base.repo-rw-r--r--. 1 root root  647 Aug  4  2015 CentOS-Debuginfo.repo-rw-r--r--. 1 root root  289 Aug  4  2015 CentOS-fasttrack.repo-rw-r--r--. 1 root root  630 Aug  4  2015 CentOS-Media.repo-rw-r--r--. 1 root root 6259 Aug  4  2015 CentOS-Vault.repo# 把原来系统的备份好[root@repo yum.repos.d]# rename .repo .repo.bak *[root@repo yum.repos.d]# lltotal 24-rw-r--r--. 1 root root 1991 Aug  4  2015 CentOS-Base.repo.bak-rw-r--r--. 1 root root  647 Aug  4  2015 CentOS-Debuginfo.repo.bak-rw-r--r--. 1 root root  289 Aug  4  2015 CentOS-fasttrack.repo.bak-rw-r--r--. 1 root root  630 Aug  4  2015 CentOS-Media.repo.bak-rw-r--r--. 1 root root 6259 Aug  4  2015 CentOS-Vault.repo.bak# 新建一个repo源[root@repo yum.repos.d]# vim myrepo.repo[myrepo] # id,自定义name=myrepo # name,自定义baseurl=file:///mnt/cdrom1/ # 你的挂载点        file:///mnt/cdrom2/gpgcheck=0 # 不检查enabled=1 # 启用,0是不启用gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

4. 测试:yum安装一个软件

[root@repo yum.repos.d]# yum install -y httpdLoaded plugins: fastestmirror, securitySetting up Install Processfile:///mnt/cdrom1/repodata/repomd.xml: [Errno 14] Could not open/read file:///mnt/cdrom1/repodata/repomd.xmlTrying other mirror.myrepo                                                                                         | 4.0 kB     00:00 ... myrepo/primary_db                                                                              | 4.6 MB     00:00 ... Resolving Dependencies--> Running transaction check......Complete!

看到系统开始安装软件,说明本地yum源配置成功!

5. 配置本地yum源的第二种方法

(1) 条件
系统中已经安装了httpd服务
启动httpd服务:service httpd start
设置httpd服务开机自启动:chkconfig httpd on
(2) 在/var/www/html目录下创建cdrom1cdrom2的软链接

[root@repo yum.repos.d]# cd /var/www/html[root@repo html]# mkdir CentOS-6.7[root@repo html]# ln -s /mnt/cdrom1 ./CentOS-6.7/[root@repo html]# ln -s /mnt/cdrom2 ./CentOS-6.7/[root@repo html]# cd CentOS-6.7/[root@repo CentOS-6.7]# lltotal 0lrwxrwxrwx 1 root root 11 Nov 22 22:05 cdrom1 -> /mnt/cdrom1lrwxrwxrwx 1 root root 11 Nov 22 22:05 cdrom2 -> /mnt/cdrom2

(3) 访问80端口检查httpd服务是否正常

(4) 修改yum源的配置文件

[root@repo CentOS-6.7]# vim /etc/yum.repos.d/myrepo.repo[myrepo]name=myrepobaseurl=http://repo/CentOS-6.7/cdrom1/        http://repo/CentOS-6.7/cdrom2/gpgcheck=0enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

(5) 测试

[root@repo CentOS-6.7]# yum install nc -yLoaded plugins: fastestmirror, securitySetting up Install ProcessDetermining fastest mirrors * myrepo: repoFound"Trying other mirror.myrepo                                 | 4.0 kB     00:00     Resolving Dependencies--> Running transaction check---> Package nc.x86_64 0:1.84-24.el6 will be installed--> Finished Dependency Resolution...... Installed:  nc.x86_64 0:1.84-24.el6                                     Complete!

配置成功!

(6) 两种方式的对比
第一种方式,只能在本机使用,第二种方式的iso镜像文件可以在其他服务器上

6. 其他说明

本地yum源使用iso镜像,其中有6575个常用的软件安装包,用yum repolist命令可以查看,但是还是会出现我们要安装的软件在该yum源中找不到的情况,这时候可以在/etc/yum.repos.d/下存放别的yum源配置文件,多个yum源配置文件会轮询使用,即在一个中找不到软件就去别的中找,可以在再放一个国内的yum源配置文件。

国内有名的 Yum 源:
网易:

CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo

CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo

CentOS7 :http://mirrors.163.com/.help/CentOS7-Base-163.repo

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩哭脸后喝水呛着了怎么办 摔跤引起的脸部半边儿僵硬怎么办 老人受了刺激大笑不止是怎么办 想让父母陪着玩 没时间怎么办 开过光的百家锁东西别人碰了怎么办 兔兔助手描述文件变了存档怎么办 扣扣没有绑手机被盗了怎么办 我的扣扣被盗了好友也被删了怎么办 小孩不胖但脖子黑怎么办呢 小孩喜欢歪头斜眼看东西怎么办 苹果x屏幕截图发送后成文字怎么办 小朋友照相照出老太脸是怎么办 照相把脸照的很长怎么办 小猫咪下半身不能动不吃不喝怎么办 画个火柴人2主页面进不了怎么办? 火柴人联盟2的衣厨怎么办 偶尔犯了一次错误很自责怎么办 房间已经装修好但想加线条怎么办 自己的房间特别乱却不想收拾怎么办 素描中当阴影面正对着自己怎么办 相爱的俩个人却不能在一起怎么办 苹果手机爱思助手下不了东西怎么办 苹果手机在爱思助手刷坏了怎么办 美团外卖摔坏我的奶茶怎么办 米兔定位电话头像突然调换了怎么办 还在气头上时孩子就来撒娇了怎么办 老公把老婆微信屏蔽了老婆该怎么办 魅族手机有质量问题不给退款怎么办 屏幕点不动锁屏密码无法点怎么办 在嘴巴和鼻翼周围长痘该怎么办 小孩嘴巴被蚊虫咬的红肿怎么办 每次洗头都掉好多头发该怎么办 关于宝宝脾不好胃口却很好怎么办 高中生掉发严重怎么办该看什么科 脱头发如何治疗 掉头发厉害怎么办 头发上突然秃了一小块怎么办 全秃过后长出来白色头发怎么办 高三学生喜欢打球影响学习怎么办 高三学生受同学搔挠学习怎么办 烫完头发掉头发很厉害怎么办 烫头发后掉头发很厉害怎么办