目录
挂载光盘
[root@CentOS8 ~]# mkdir -p /mnt/dvd
[root@CentOS8 ~]# mount /dev/cdrom /mnt/dvd
清除原仓库配置文件
[root@CentOS8 ~]# cd /etc/yum.repos.d
[root@CentOS8 yum.repos.d]# mkdir bak
[root@CentOS8 yum.repos.d]# mv *.* bak
配置本地仓库配置文件
[root@ftp yum.repos.d]# vim Local.repo
[LocalAppStream]
name=LA
baseurl=file:///mnt/dvd/AppStream
gpgcheck=0
enabled=1
[LocalBaseOS]
name=LB
baseurl=file:///mnt/dvd/BaseOS
gpgcheck=0
enabled=1
查询本地已启用的仓库
[root@CentOS8 yum.repos.d]# yum repolist enabled
仓库 id 仓库名称
LocalAppStream LA
LocalBaseOS LB
尝试安装服务(此处以bind服务为例)
[root@CentOS8 yum.repos.d]# yum -y install bind
上次元数据过期检查:0:39:11 前,执行于 2021年11月13日 星期六 19时45分12秒。
依赖关系解决。
================================================================================
软件包 架构 版本 仓库 大小
================================================================================
安装:
bind x86_64 32:9.11.26-3.el8 LocalAppStream 2.1 M
降级:
bind-libs x86_64 32:9.11.26-3.el8 LocalAppStream 173 k
bind-libs-lite x86_64 32:9.11.26-3.el8 LocalAppStream 1.2 M
bind-license noarch 32:9.11.26-3.el8 LocalAppStream 102 k
bind-utils x86_64 32:9.11.26-3.el8 LocalAppStream 450 k
python3-bind noarch 32:9.11.26-3.el8 LocalAppStream 149 k
事务概要
================================================================================
安装 1 软件包
降级 5 软件包
总计:4.1 M
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
降级 : bind-license-32:9.11.26-3.el8.noarch 1/11
降级 : bind-libs-lite-32:9.11.26-3.el8.x86_64 2/11
降级 : bind-libs-32:9.11.26-3.el8.x86_64 3/11
降级 : python3-bind-32:9.11.26-3.el8.noarch 4/11
降级 : bind-utils-32:9.11.26-3.el8.x86_64 5/11
运行脚本: bind-32:9.11.26-3.el8.x86_64 6/11
安装 : bind-32:9.11.26-3.el8.x86_64 6/11
运行脚本: bind-32:9.11.26-3.el8.x86_64 6/11
清理 : bind-utils-32:9.11.26-4.el8_4.x86_64 7/11
清理 : python3-bind-32:9.11.26-4.el8_4.noarch 8/11
清理 : bind-libs-32:9.11.26-4.el8_4.x86_64 9/11
清理 : bind-libs-lite-32:9.11.26-4.el8_4.x86_64 10/11
清理 : bind-license-32:9.11.26-4.el8_4.noarch 11/11
运行脚本: bind-license-32:9.11.26-4.el8_4.noarch 11/11
[/usr/lib/tmpfiles.d/pesign.conf:1] Line references path below legacy directory /var/run/, updating /var/run/pesign → /run/pesign; please update the tmpfiles.d/ drop-in file accordingly.
验证 : bind-libs-32:9.11.26-3.el8.x86_64 1/11
验证 : bind-libs-32:9.11.26-4.el8_4.x86_64 2/11
验证 : bind-libs-lite-32:9.11.26-3.el8.x86_64 3/11
验证 : bind-libs-lite-32:9.11.26-4.el8_4.x86_64 4/11
验证 : bind-license-32:9.11.26-3.el8.noarch 5/11
验证 : bind-license-32:9.11.26-4.el8_4.noarch 6/11
验证 : bind-utils-32:9.11.26-3.el8.x86_64 7/11
验证 : bind-utils-32:9.11.26-4.el8_4.x86_64 8/11
验证 : python3-bind-32:9.11.26-3.el8.noarch 9/11
验证 : python3-bind-32:9.11.26-4.el8_4.noarch 10/11
验证 : bind-32:9.11.26-3.el8.x86_64 11/11
Installed products updated.
已降级:
bind-libs-32:9.11.26-3.el8.x86_64 bind-libs-lite-32:9.11.26-3.el8.x86_64
bind-license-32:9.11.26-3.el8.noarch bind-utils-32:9.11.26-3.el8.x86_64
python3-bind-32:9.11.26-3.el8.noarch
已安装:
bind-32:9.11.26-3.el8.x86_64
完毕!
易错点:
- 虚拟机上的光盘没有连接,导致挂载操作失败
[root@CentOS8 ~]# mount /dev/cdrom /mnt
mount: /mnt: 在 /dev/sr0 上找不到媒体.
- 没有挂载或挂载失败导致的无法安装
[root@CentOS8 ~]# yum -y install httpd
localAppStream 0.0 B/s | 0 B 00:00
错误:为 repo 'localappstream' 下载元数据失败 : repomd.xml parser error: Parse error at line: 1 (Extra content at the end of the document
)
因为对应路径里没有光盘文件,相当于拿着个空杯子喝水(言简意赅)
- 原有仓库配置文件没有移到其他路径或者删除,导致安装的时候失败
[root@CentOS8 ~]# yum -y install dhcp*
CentOS Linux 8 - AppStream 0.0 B/s | 0 B 00:10
Errors during downloading metadata for repository 'appstream':
- Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock [Could not resolve host: mirrorlist.centos.org]
错误:为 repo 'appstream' 下载元数据失败 : Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock [Could not resolve host: mirrorlist.centos.org]
yum安装的时候是使用仓库目录里第一个文件,默认的url是连的centos官方,且能安装的服务少之又少,没有合适的网络无法直接下载,因此要搭建本地源,或者修改网卡为境内网站,如阿里云,网易,清华等。
- Local.repo文件里的baseurl后面跟着的"file:"要有三条"/"
[root@CentOS8 ~]# yum -y install bind
la 0.0 B/s | 0 B 00:00
Errors during downloading metadata for repository 'la':
- Curl error (3): URL using bad/illegal format or missing URL for file://mnt/dvd/AppStream/repodata/repomd.xml [Invalid file://hostname/, expected localhost or 127.0.0.1 or none]
错误:为 repo 'la' 下载元数据失败 : Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
- enabled设为1启用该repo文件,为0则相反(这里举所有仓库都被关闭的例子)
[root@CentOS8 ~]# yum -y install httpd
错误:在"/etc/yum.repos.d", "/etc/yum/repos.d", "/etc/distro.repos.d"中没有被启用的仓库。
建议:
- 不推荐直接删除repo文件是因为可以直接拷贝一份文件来编写,格式问题不用担忧
- repo文件里的gpgcheck一项也可以调为1,前提是有gpgkey文件并知道gpgkey文件的路径
下载链接
CentOS官网:http://isoredirect.centos.org/centos/8/isos/x86_64/