Linux设置本地yum源

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目录下创建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]# 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

阿里:

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏优启梦

修改注册表降低bluestacks内存大小

2.    在注册表中按路径HKEY_LOCAL_MACHINE\SOFTWARE\BlueStacks\Guests\Android

48270
来自专栏小李刀刀的专栏

Nginx泛解析到子目录,自动判断有无public目录

在配置本地 PHP 开发环境时,除非是在 Windows 下,否则我都是偏向于 Nginx + PHP-FPM, 即使 Mac 下已经有了自带的 Apache+...

53440
来自专栏实战docker

Docker下kafka学习,三部曲之三:java开发

在前两章《Docker下kafka学习,三部曲之一:极速体验kafka》和《Docker下kafka学习,三部曲之二:本地环境搭建》中,我们通过命令行体验了ka...

33450
来自专栏Android相关

Gradle For Android(3)--管理依赖关系

依赖关系管理是Gradle的闪光点。在这个脚本中最好的一点,就是你所需要的只是添加一行到你的build.gradle中,然后Gradle就会从一个远程仓库中下载...

12530
来自专栏用户3030674的专栏

Android sdk配置 常见问题及处理方法

Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml Fetched ...

24420
来自专栏PPV课数据科学社区

【聚焦】企业数据收集网页采集解决方案 附PDF下载

原文:http://www.ppvke.com/Answer/file/download/file_name-5LyB5Lia5pWw5o2u5pS26ZuG6...

38450
来自专栏Java帮帮-微信公众号-技术文章全总结

springboot入门(4)_web开发

springboot入门(4)_web开发 摘要: 前几篇大概介绍了demo的搭建运行,Thymeleaf模板引擎的整合还有运行原理(主要是自动默认配置star...

46390
来自专栏SpringBoot 核心技术

SpringCloud组件:将微服务提供者注册到Eureka服务中心

Eureka提供了Server当然也提供了Client,如果你对Eureka Server不了解,点击SpringCloud组件:搭建Eureka服务注册中心阅...

46040
来自专栏实战docker

Docker下kafka学习,三部曲之三:java开发

在前两章《Docker下kafka学习,三部曲之一:极速体验kafka》和《Docker下kafka学习,三部曲之二:本地环境搭建》中,我们通过命令行体验了ka...

37970
来自专栏finleyMa

docker学习系列1 使用docker 快速实现多版本PHP

多谢此文:https://blog.eriksen.com.br/en/docker-image-multi-version-php-development

44830

扫码关注云+社区

领取腾讯云代金券