您的位置:首页 > 运维架构 > Linux

Linux配置本地yum源

2017-11-22 14:29 501 查看

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 sr
lrwxrwxrwx 1 root root           3 Nov 22 20:33 cdrom -> sr0
lrwxrwxrwx 1 root root           3 Nov 22 20:33 cdrom1 -> sr1
lrwxrwxrwx 1 root root           3 Nov 22 20:33 cdrw -> sr0
lrwxrwxrwx 1 root root           3 Nov 22 20:33 cdrw1 -> sr1
lrwxrwxrwx 1 root root           3 Nov 22 20:33 dvd -> sr0
lrwxrwxrwx 1 root root           3 Nov 22 20:33 dvd1 -> sr1
lrwxrwxrwx 1 root root           3 Nov 22 20:33 dvdrw -> sr0
lrwxrwxrwx 1 root root           3 Nov 22 20:33 dvdrw1 -> sr1
srw-rw-rw- 1 root root           0 Nov 22 20:33 log
lrwxrwxrwx 1 root root           3 Nov 22 20:33 scd0 -> sr0
lrwxrwxrwx 1 root root           3 Nov 22 20:33 scd1 -> sr1
brw-rw---- 1 root cdrom    11,   0 Nov 22 20:33 sr0 # sr0代表DVD1
brw-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]# ll
total 6
dr-xr-xr-x 7 root root 4096 Aug  5  2015 cdrom1
dr-xr-xr-x 3 root root 2048 Aug  5  2015 cdrom2
[root@repo mnt]# cd cdrom1
[root@repo cdrom1]# ll
total 558
-r--r--r-- 2 root root     14 Aug  5  2015 CentOS_BuildTag
dr-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 GPL
dr-xr-xr-x 3 root root   2048 Aug  5  2015 images
dr-xr-xr-x 2 root root   2048 Aug  5  2015 isolinux
dr-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.html
dr-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]# ll
total 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]# ll
total 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 httpd
Loaded plugins: fastestmirror, security
Setting up Install Process
file:///mnt/cdrom1/repodata/repomd.xml: [Errno 14] Could not open/read file:///mnt/cdrom1/repodata/repomd.xml
Trying 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
目录下创建
cdrom1
cdrom2
的软链接

[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]# ll
total 0
lrwxrwxrwx 1 root root 11 Nov 22 22:05 cdrom1 -> /mnt/cdrom1
lrwxrwxrwx 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=myrepo
baseurl=http://repo/CentOS-6.7/cdrom1/ http://repo/CentOS-6.7/cdrom2/ gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


(5) 测试

[root@repo CentOS-6.7]# yum install nc -y
Loaded plugins: fastestmirror, security
Setting up Install Process
Determining fastest mirrors
* myrepo: repo
Found"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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux yum