本地和局域网 YUM 源制作详解
环境介绍
[root@LeeMumu ~]# uname -r
3.10.0-957.el7.x86_64
[root@LeeMumu ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
一:制作本地 YUM 源
1、ISO YUM 源(光盘镜像源)
1.1 添加光盘
在 VMware 添加光盘。光盘名称为:CentOS-7-x86_64-Everything-1810.iso
1.2 挂载光盘
光盘在Linux上的标识一般为:
# /dev/sr0
# /dev/cdrom
[root@LeeMumu ~]# mkdir /media/cdrom
[root@LeeMumu ~]# mount /dev/cdrom /media/cdrom
mount: /dev/sr0 is write-protected, mounting read-only
[root@LeeMumu ~]# ls /media/cdrom/
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
1.3 复制光盘文件
把光盘内容复制在 /yum/cdrom/
目录内。通过查看以 wire 开头的 rpm 包,确认是否复制成功。
[root@LeeMumu ~]# mkdir /yum
[root@LeeMumu ~]# cp -a /media/cdrom/ /yum
[root@LeeMumu ~]# ls /yum/cdrom/
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
[root@LeeMumu ~]# ls /yum/cdrom/Packages/wire*
/yum/cdrom/Packages/wireshark-1.10.14-16.el7.i686.rpm
/yum/cdrom/Packages/wireshark-1.10.14-16.el7.x86_64.rpm
/yum/cdrom/Packages/wireshark-devel-1.10.14-16.el7.i686.rpm
/yum/cdrom/Packages/wireshark-devel-1.10.14-16.el7.x86_64.rpm
/yum/cdrom/Packages/wireshark-gnome-1.10.14-16.el7.x86_64.rpm
2、备份归档本地repo
2.1 备份本地repo
[root@LeeMumu ~]# cd /etc/yum.repos.d/
[root@LeeMumu yum.repos.d]# ll
total 40
-rw-r--r--. 1 root root 1664 Nov 23 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Nov 23 2018 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Nov 23 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Nov 23 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Nov 23 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Nov 23 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 5701 Nov 23 2018 CentOS-Vault.repo
-rw-r--r--. 1 root root 951 Oct 2 2017 epel.repo
-rw-r--r--. 1 root root 1050 Oct 2 2017 epel-testing.repo
[root@LeeMumu yum.repos.d]# tar -Jcf repo.tar.xz CentOS*
[root@LeeMumu yum.repos.d]# ll
total 44
-rw-r--r--. 1 root root 1664 Nov 23 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Nov 23 2018 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Nov 23 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Nov 23 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Nov 23 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Nov 23 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 5701 Nov 23 2018 CentOS-Vault.repo
-rw-r--r--. 1 root root 951 Oct 2 2017 epel.repo
-rw-r--r--. 1 root root 1050 Oct 2 2017 epel-testing.repo
-rw-r--r--. 1 root root 2208 Jul 27 23:56 repo.tar.xz
2.2 删除无用文件
[root@LeeMumu yum.repos.d]# rm -f CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo
[root@LeeMumu yum.repos.d]# rm -rf epel.repo CentOS-Sources.repo CentOS-Vault.repo
[root@LeeMumu yum.repos.d]# rm -rf epel-testing.repo CentOS-fasttrack.repo
[root@LeeMumu yum.repos.d]# ll
total 16
-rw-r--r--. 1 root root 630 Nov 23 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 2208 Jul 27 23:56 repo.tar.xz
3、配置本地 repo
[root@LeeMumu yum.repos.d]# vi CentOS-Media.repo # 编辑 Media.repo 文件
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///yum/cdrom/ # 配置 repo 路径
gpgcheck=0 # 关闭 gpg 校验
enabled=1 # 启用此 repo
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
4、制作 cache
清理本地缓存:
[root@LeeMumu yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: c7-media epel
Cleaning up list of fastest mirrors
Other repos take up 78 M of disk space (use --verbose for details)
构建缓存:
[root@LeeMumu yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
c7-media | 3.6 kB 00:00:00
(1/4): c7-media/group_gz | 166 kB 00:00:00
(2/4): c7-media/primary_db | 6.0 MB 00:00:00
(3/4): c7-media/filelists_db | 7.1 MB 00:00:00
(4/4): c7-media/other_db | 2.6 MB 00:00:00
Metadata Cache Created
5、本地 YUM 源制作完成,可以进行程序安装
至此,本地 YUM 源制作完成,可是安装相应程序。
5.1 查看本地的 YUM 源
[root@LeeMumu yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo name status
c7-media CentOS-7 - Media 10,019
repolist: 10,019
5.2 安装 wget
[root@LeeMumu yum.repos.d]# rpm -ql wget # 确保 wget 没有安装
package wget is not installed
[root@LeeMumu yum.repos.d]# yum install wget # 安装 wget
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package wget.x86_64 0:1.14-18.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
Install 1 Packag