linux 7 下搭建本地yum源
什么是yum源
yum是(Yellow dog Updater, Modified)的缩写,是一个软件包管理器,yum从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载rpm包并且安装
yum源是的工作机制
服务器端:在服务器上面存放了所有的RPM软件包,以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的特定目录内。
客户端:如果需要安装软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP等方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。
yum源的配置工具
虚拟机:VM ware 12 por
系统:CentOS 7
镜像:CentOS-7-x86_64-DVD-1511
为什么需要本地yum源
优点:相比于rpm的安装方式yum安装方式比较简便,不需要管理员自行处理依赖包的安装。
缺点:本地yum源的安装的时人为无法干涉,源包里面有什么就只能安装什么,版本较低。
本地yum配置实例
这里将利用CentOS 7.2 作为配置实例
正式配置
1、进入/etc/yum.repos.d/下能看得到系统自带的yum配置
这些都是系统自带的配置文件,而我们配置的本地yum源文件也要放在/etc/yum.repos.d/这个目录下并且只能以xxxx.repo这种格式命名。
2、将系统自带的配置文件移动到别的目录下,/yum.repos.d/下我们将存放我们自己的本地yum配置文件。
[root@localhost ~]# mkdir /bak ##在/目录下创建一个名为bak的目录,用来存放系统自带的原配置。
[root@localhost ~]# mv /etc/yum.repos.d/* /bak/ ##使用mv命令将原有的yum配置文件移动至/bak下。
3、创建光盘挂载路径。
[root@localhost ~]# mkdir /mnt/cdrom ##在/mnt/下创建一个命名为cdrom的目录,用来挂载镜像。
4、虚拟机光驱连接需要使用的镜像。
注意:一定要勾选已连接。
5、在虚拟机上挂载镜像。
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/ ##linux外部设备放置于/dev目录下,将/dev/cdrom挂载到/mnt/cdrom
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# df -Th ##查看是否有iso9660文件,有说明挂在已经成功。
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 18G 855M 17G 5% /
devtmpfs devtmpfs 479M 0 479M 0% /dev
tmpfs tmpfs 489M 0 489M 0% /dev/shm
tmpfs tmpfs 489M 6.6M 483M 2% /run
tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 125M 373M 25% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
/dev/sr0 iso9660 4.1G 4.1G 0 100% /mnt/cdrom
[root@localhost ~]#
我们已经成功挂载镜像。
6、创建本地yum配置文件
[root@localhost ~]# vi /etc/yum.repos.d/centos.repo ##创建并编辑一个名为centso.repo的本地yum配置文件
[centos] ##这是yum源的标签
name=this is CentOS ##yum源的描述
baseurl=file:///mnt/cdrom ##指定yum源所使用的yum源配置的路径(也就是挂载点)
enable=1 ##启动本地yum源(1为启动,0为不启动)
gpgcheck=0 ##gpgcheck校验,(1为启动,0为不启动)若启动校验需使用官方的校验码
7、清除本地缓存,重建本地yum源数据库
[root@localhost ~]# yum clean all ##清除本地缓存,得到如下提示
已加载插件:fastestmirror
正在清理软件源: centos
Cleaning up everything
[root@localhost ~]# yum makecache ##重建本地yum源数据库(当提示元数据缓存已建立表示yum源搭建完成)
已加载插件:fastestmirror
centos | 3.6 kB 00:00:00
(1/4): centos/group_gz | 155 kB 00:00:00
(2/4): centos/primary_db | 2.8 MB 00:00:00
(3/4): centos/filelists_db | 2.9 MB 00:00:00
(4/4): centos/other_db | 1.2 MB 00:00:00
Determining fastest mirrors
元数据缓存已建立
[root@localhost ~]#
##利用本地yum源,安装vim
[root@localhost ~]# yum install -y vim
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 vim-enhanced.x86_64.2.7.4.160-1.el7 将被 安装
--> 正在处理依赖关系 vim-common = 2:7.4.160-1.el7,它被软件包 2:vim-enhanced-7.4.160-1.el7.x86_64 需要
--> 正在处理依赖关系 perl(:MODULE_COMPAT_5.16.3),它被软件包 2:vim-enhanced-7.4.160-1.el7.x86_64 需要
--> 正在处理依赖关系 libperl.so()(64bit),它被软件包 2:vim-enhanced-7.4.160-1.el7.x86_64 需要
--> 正在处理依赖关系 libgpm.so.2()(64bit),它被软件包 2:vim-enhanced-7.4.160-1.el7.x86_64 需要
--> 正在检查事务
.
.
.
.
事务概要
=========================================================================================================
安装 1 软件包 (+30 依赖软件包)
总下载量:18 M
安装大小:60 M
Downloading packages:
---------------------------------------------------------------------------------------------------------
总计 19 MB/s | 18 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 1:perl-parent-0.225-244.el7.noarch 1/31
正在安装 : perl-HTTP-Tiny-0.033-3.el7.noarch 2/31
正在安装 : perl-podlators-2.5.1-3.el7.noarch 3/31
正在安装 : perl-Pod-Perldoc-3.20-4.el7.noarch 4/31
正在安装 : 1:perl-Pod-Escapes-1.04-286.el7.noarch 5/31
正在安装 : perl-Text-ParseWords-3.29-4.el7.noarch 6/31
正在安装 : perl-Encode-2.51-7.el7.x86_64 7/31
正在安装 : perl-Pod-Usage-1.63-3.el7.noarch 8/31
正在安装 : 4:perl-libs-5.16.3-286.el7.x86_64 9/31
正在安装 : 4:perl-macros-5.16.3-286.el7.x86_64 10/31
正在安装 : perl-Storable-2.45-3.el7.x86_64 11/31
正在安装 : perl-Exporter-5.68-3.el7.noarch 12/31
正在安装 : perl-constant-1.27-2.el7.noarch 13/31
正在安装 : perl-Time-Local-1.2300-2.el7.noarch 14/31
正在安装 : perl-Socket-2.010-3.el7.x86_64 15/31
正在安装 : perl-Carp-1.26-244.el7.noarch 16/31
正在安装 : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 17/31
正在安装 : perl-PathTools-3.40-5.el7.x86_64 18/31
正在安装 : perl-Scalar-List-Utils-1.27-248.el7.x86_64 19/31
正在安装 : perl-File-Temp-0.23.01-3.el7.noarch 20/31
正在安装 : perl-File-Path-2.09-2.el7.noarch 21/31
正在安装 : perl-threads-shared-1.43-6.el7.x86_64 22/31
正在安装 : perl-threads-1.87-4.el7.x86_64 23/31
正在安装 : perl-Filter-1.49-3.el7.x86_64 24/31
正在安装 : 1:perl-Pod-Simple-3.28-4.el7.noarch 25/31
正在安装 : perl-Getopt-Long-2.40-2.el7.noarch 26/31
正在安装 : 4:perl-5.16.3-286.el7.x86_64 27/31
正在安装 : 2:vim-filesystem-7.4.160-1.el7.x86_64 28/31
正在安装 : 2:vim-common-7.4.160-1.el7.x86_64 29/31
正在安装 : gpm-libs-1.20.7-5.el7.x86_64 30/31
正在安装 : 2:vim-enhanced-7.4.160-1.el7.x86_64 31/31
验证中 : 2:vim-common-7.4.160-1.el7.x86_64 1/31
验证中 : perl-HTTP-Tiny-0.033-3.el7.noarch 2/31
验证中 : perl-threads-shared-1.43-6.el7.x86_64 3/31
验证中 : perl-Storable-2.45-3.el7.x86_64 4/31
验证中 : perl-Exporter-5.68-3.el7.noarch 5/31
验证中 : perl-constant-1.27-2.el7.noarch 6/31
验证中 : perl-PathTools-3.40-5.el7.x86_64 7/31
验证中 : 4:perl-libs-5.16.3-286.el7.x86_64 8/31
验证中 : 4:perl-macros-5.16.3-286.el7.x86_64 9/31
验证中 : 1:perl-parent-0.225-244.el7.noarch 10/31
验证中 : 4:perl-5.16.3-286.el7.x86_64 11/31
验证中 : perl-File-Temp-0.23.01-3.el7.noarch 12/31
验证中 : 1:perl-Pod-Simple-3.28-4.el7.noarch 13/31
验证中 : perl-Time-Local-1.2300-2.el7.noarch 14/31
验证中 : gpm-libs-1.20.7-5.el7.x86_64 15/31
验证中 : perl-Pod-Perldoc-3.20-4.el7.noarch 16/31
验证中 : perl-Socket-2.010-3.el7.x86_64 17/31
验证中 : 2:vim-filesystem-7.4.160-1.el7.x86_64 18/31
验证中 : perl-Carp-1.26-244.el7.noarch 19/31
验证中 : 2:vim-enhanced-7.4.160-1.el7.x86_64 20/31
验证中 : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 21/31
验证中 : perl-Scalar-List-Utils-1.27-248.el7.x86_64 22/31
验证中 : 1:perl-Pod-Escapes-1.04-286.el7.noarch 23/31
验证中 : perl-Pod-Usage-1.63-3.el7.noarch 24/31
验证中 : perl-Encode-2.51-7.el7.x86_64 25/31
验证中 : perl-podlators-2.5.1-3.el7.noarch 26/31
验证中 : perl-Getopt-Long-2.40-2.el7.noarch 27/31
验证中 : perl-File-Path-2.09-2.el7.noarch 28/31
验证中 : perl-threads-1.87-4.el7.x86_64 29/31
验证中 : perl-Filter-1.49-3.el7.x86_64 30/31
验证中 : perl-Text-ParseWords-3.29-4.el7.noarch 31/31
已安装:
vim-enhanced.x86_64 2:7.4.160-1.el7
作为依赖被安装:
gpm-libs.x86_64 0:1.20.7-5.el7 perl.x86_64 4:5.16.3-286.el7
perl-Carp.noarch 0:1.26-244.el7 perl-Encode.x86_64 0:2.51-7.el7
perl-Exporter.noarch 0:5.68-3.el7 perl-File-Path.noarch 0:2.09-2.el7
perl-File-Temp.noarch 0:0.23.01-3.el7 perl-Filter.x86_64 0:1.49-3.el7
perl-Getopt-Long.noarch 0:2.40-2.el7 perl-HTTP-Tiny.noarch 0:0.033-3.el7
perl-PathTools.x86_64 0:3.40-5.el7 perl-Pod-Escapes.noarch 1:1.04-286.el7
perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7
perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7
perl-Socket.x86_64 0:2.010-3.el7 perl-Storable.x86_64 0:2.45-3.el7
perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7
perl-Time-Local.noarch 0:1.2300-2.el7 perl-constant.noarch 0:1.27-2.el7
perl-libs.x86_64 4:5.16.3-286.el7 perl-macros.x86_64 4:5.16.3-286.el7
perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7
perl-threads.x86_64 0:1.87-4.el7 perl-threads-shared.x86_64 0:1.43-6.el7
vim-common.x86_64 2:7.4.160-1.el7 vim-filesystem.x86_64 2:7.4.160-1.el7
完毕!
[root@localhost ~]#
##提示完毕,系统自动安装了3多个依赖包,以及vim这个工具