前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux设置本地yum源

Linux设置本地yum源

作者头像
CoderJed
发布2018-09-13 10:27:02
17.1K0
发布2018-09-13 10:27:02
举报
文章被收录于专栏:Jed的技术阶梯Jed的技术阶梯

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) 查看系统是否使用了这两个设备

代码语言:javascript
复制
[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中

代码语言:javascript
复制
[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来让挂载的配置永久生效

代码语言:javascript
复制
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源的配置文件

代码语言:javascript
复制
# 找到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安装一个软件

代码语言:javascript
复制
[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目录下创建cdrom1cdrom2的软链接

代码语言:javascript
复制
[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源的配置文件

代码语言:javascript
复制
[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) 测试

代码语言:javascript
复制
[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源文件的下载地址:

网易:

代码语言:javascript
复制
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

阿里:

代码语言:javascript
复制
CentOS5 :  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS6 :  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS7 :  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.08.13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0. 软件说明
  • 1. 设置虚拟机开启时,使用两个iso镜像
  • 2. 挂载这两个设备
    • (1) 查看系统是否使用了这两个设备
      • (2) 挂载
      • 3. 修改yum源的配置文件
      • 4. 测试:yum安装一个软件
      • 5. 配置本地yum源的第二种方法
      • 6. 其他说明
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档