1. 创建原因
如果开发环境只有局域网,且无法联网下载网上的yum源,那么创建本地yum源就能很好的解决这个问题了。
2. 创建环境
[root@centos7 ~]# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
3. 安装
准备RPM包
挂载U盘上的CentOS-7-x86_64-Everything-1708.iso文件,把里面所有文件都拷贝到本地目录/yum/yum-iso
[root@centos7 ~]# fdisk -l(查看当前磁盘)
磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 83886079 40893440 8e Linux LVM
磁盘 /dev/mapper/centos-root:39.7 GB, 39720058880 字节,77578240 个扇区
磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
磁盘 /dev/sdb:4027 MB, 4027580416 字节,7866368 个扇区
设备 Boot Start End Blocks Id System
/dev/sdb1(sdb1为读出来的U盘,光盘一般为cdrom或sr0) * 1142528 15866367 3361920 7 HPFS/NTFS/exFAT
[root@centos7 ~]# mkdir /mnt/yum-iso(创建被挂载目录)
[root@centos7 ~]# mount /dev/sdb1 /mnt/yum-iso/(将U盘挂载到此目录)
mount: /dev/sdb1 写保护,将以只读方式挂载
[root@centos7 ~]# ll /mnt/yum-iso/(确认是否挂载成功)
[root@centos7 ~]# mkdir /yum/(我选择的是全部复制,也可以即插即用)
[root@centos7 ~]# cp -avf /mnt/yum-iso/ /yum/(复制)
[root@centos7 ~]# ll /yum/yum-iso/(查看)
总用量 496
-rw-rw-r-- 1 root root 14 9月 5 2017 CentOS_BuildTag
drwxr-xr-x 3 root root 35 9月 5 2017 EFI
-rw-rw-r-- 1 root root 227 8月 30 2017 EULA
-rw-rw-r-- 1 root root 18009 12月 10 2015 GPL
drwxr-xr-x 3 root root 57 9月 5 2017 images
drwxr-xr-x 2 root root 198 9月 5 2017 isolinux
drwxr-xr-x 2 root root 43 9月 5 2017 LiveOS
drwxrwxr-x 2 root root 385024 9月 5 2017 Packages
drwxr-xr-x 2 root root 4096 9月 5 2017 repodata
-rw-rw-r-- 1 root root 1690 12月 10 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r-- 1 root root 1690 12月 10 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r-- 1 root root 2883 9月 6 2017 TRANS.TBL
备份,移除其他repo
[root@centos7 ~]# cd /etc/yum.repos.d/
[root@centos7 yum.repos.d]# ll
总用量 44
-rw-r--r--. 1 root root 2006 12月 1 2016 CentOS-Base.repo
-rw-r--r--. 1 root root 1664 8月 30 2017 CentOS-Base.repo.bak
-rw-r--r--. 1 root root 1309 8月 30 2017 CentOS-CR.repo
-rw-r--r--. 1 root root 649 8月 30 2017 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 8月 30 2017 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 8月 30 2017 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 8月 30 2017 CentOS-Sources.repo
-rw-r--r--. 1 root root 3830 8月 30 2017 CentOS-Vault.repo
-rw-r--r--. 1 root root 951 10月 3 01:44 epel.repo
-rw-r--r--. 1 root root 1050 10月 3 01:44 epel-testing.repo
-rw-r--r--. 1 root root 410 8月 28 2017 zabbix.repo
[root@centos7 yum.repos.d]# tar zcvf repo-bk.tar.gz CentOS-*
CentOS-Base.repo
CentOS-Base.repo.bak
CentOS-CR.repo
CentOS-Debuginfo.repo
CentOS-fasttrack.repo
CentOS-Media.repo
CentOS-Sources.repo
CentOS-Vault.repo
[root@centos7 yum.repos.d]# rm -f CentOS-*
[root@centos7 yum.repos.d]# ll(如果有其他的,同样操作)
总用量 16
-rw-r--r-- 1 root root 145 3月 29 16:18 CentOS-Media.repo
-rw-r--r-- 1 root root 496 3月 29 16:22 repo-bk2.tar.gz
-rw-r--r-- 1 root root 2346 3月 29 16:16 repo-bk.tar.gz
-rw-r--r-- 1 root root 310 3月 29 16:23 zabbix-repo-bk.tar.gz
配置本地repo
[root@centos7 yum.repos.d]# vim CentOS-Media.repo
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///yum/yum-iso/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
注释:配置repo路径、关闭gpg校验、启用这个repo
制作cache
[root@centos7 yum.repos.d]# yum clean all
已加载插件:fastestmirror
正在清理软件源: c7-media
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@centos7 yum.repos.d]# yum makecache
已加载插件:fastestmirror
c7-media | 3.6 kB 00:00:00
(1/4): c7-media/group_gz | 156 kB 00:00:00
(2/4): c7-media/primary_db | 3.1 MB 00:00:00
(3/4): c7-media/filelists_db | 3.1 MB 00:00:00
(4/4): c7-media/other_db | 1.2 MB 00:00:00
Determining fastest mirrors
元数据缓存已建立
[root@centos7 yum.repos.d]#
结束,可以使用本地源yum安装软件了。
4. 测试
[root@centos7 yum.repos.d]# yum install tree
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 tree.x86_64.0.1.6.0-10.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
===============================================================================================================
Package 架构 版本 源 大小
===============================================================================================================
正在安装:
tree x86_64 1.6.0-10.el7 c7-media(是我们本地的yum源,成功) 46 k
事务概要
===============================================================================================================
安装 1 软件包
总下载量:46 k
安装大小:87 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : tree-1.6.0-10.el7.x86_64 1/1
验证中 : tree-1.6.0-10.el7.x86_64 1/1
已安装:
tree.x86_64 0:1.6.0-10.el7
完毕!