将系统安装盘挂载到文件系统,挂载后会有Package目录,里面保存了大量的rpm包。然后配置repo指向本地挂载文件系统来实现软件包管理。
环境
Redhat 9
步骤:
查看系统磁盘挂载情况
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs tmpfs 1.5G 9.7M 1.5G 1% /run
/dev/mapper/rhel-root xfs 66G 22G 44G 34% /
/dev/nvme0n1p1 xfs 1014M 292M 723M 29% /boot
/dev/mapper/rhel-home xfs 32G 260M 32G 1% /home
tmpfs tmpfs 767M 52K 767M 1% /run/user/42
tmpfs tmpfs 767M 36K 767M 1% /run/user/0
[root@localhost ~]#
挂载镜像到/mnt下
[root@localhost ~]# mount /dev/sr0 /mnt/
mount: /mnt: WARNING: source write-protected, mounted read-only.
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs tmpfs 1.5G 9.7M 1.5G 1% /run
/dev/mapper/rhel-root xfs 66G 22G 44G 34% /
/dev/nvme0n1p1 xfs 1014M 292M 723M 29% /boot
/dev/mapper/rhel-home xfs 32G 260M 32G 1% /home
tmpfs tmpfs 767M 52K 767M 1% /run/user/42
tmpfs tmpfs 767M 36K 767M 1% /run/user/0
/dev/sr0 iso9660 9.0G 9.0G 0 100% /mnt
[root@localhost ~]#
切换到yum创库目录打包备份其内容
[root@localhost /]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
mysql-community-debuginfo.repo mysql-community.repo mysql-community-source.repo redhat.repo
[root@localhost yum.repos.d]# cd
[root@localhost /]# tar -cvf /yum.repo.bak /etc/yum.repos.d/*
tar: 从成员名中删除开头的“/”
/etc/yum.repos.d/mysql-community-debuginfo.repo
tar: 从硬连接目标中删除开头的“/”
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo
/etc/yum.repos.d/redhat.repo
[root@localhost /]# tar -tf yum.repo.bak // 查看归档内容
etc/yum.repos.d/mysql-community-debuginfo.repo
etc/yum.repos.d/mysql-community.repo
etc/yum.repos.d/mysql-community-source.repo
etc/yum.repos.d/redhat.repo
删除剩余仓库
root@localhost ~]# rm -rf /etc/yum.repos.d/*
[root@localhost ~]# ls /etc/yum.repos.d/
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
[root@localhost yum.repos.d]#
创建本地YUM仓库
[root@localhost yum.repos.d]# vim loaclhost.repo
[root@localhost yum.repos.d]# yum clean all //清除缓存
正在更新 Subscription Management 软件仓库。
无法读取客户身份
本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。
0 个文件已删除
[root@localhost yum.repos.d]# yum makecache //建立元数据缓存
正在更新 Subscription Management 软件仓库。
无法读取客户身份
本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。
AppStream 123 MB/s | 6.3 MB 00:00
BaseOS 89 MB/s | 1.7 MB 00:00
元数据缓存已建立。
[root@localhost yum.repos.d]# cat loaclhost.repo
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream //路径
gpgcheck=0 //0 表示不验证密钥
enabled=1 // 启用此仓库
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
enabled=1
[root@localhost yum.repos.d]#
安装软件测试
[root@localhost yum.repos.d]# yum -y install bind
正在更新 Subscription Management 软件仓库。
无法读取客户身份
本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。
上次元数据过期检查:0:07:16 前,执行于 2024年04月03日 星期三 20时29分11秒。
依赖关系解决。
软件包 架构 版本 仓库 大小
安装:
bind x86_64 32:9.16.23-11.el9 AppStream 507 k
安装依赖关系:
bind-dnssec-doc noarch 32:9.16.23-11.el9 AppStream 49 k
python3-bind noarch 32:9.16.23-11.el9 AppStream 72 k
python3-ply noarch 3.11-14.el9 BaseOS 111 k
安装弱的依赖:
bind-dnssec-utils x86_64 32:9.16.23-11.el9 AppStream 121 k
事务概要
安装 5 软件包
总计:859 k
安装大小:2.5 M
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
安装 : python3-ply-3.11-14.el9.noarch 1/5
安装 : python3-bind-32:9.16.23-11.el9.noarch 2/5
安装 : bind-dnssec-doc-32:9.16.23-11.el9.noarch 3/5
安装 : bind-dnssec-utils-32:9.16.23-11.el9.x86_64 4/5
运行脚本: bind-32:9.16.23-11.el9.x86_64 5/5
安装 : bind-32:9.16.23-11.el9.x86_64 5/5
运行脚本: bind-32:9.16.23-11.el9.x86_64 5/5
验证 : bind-32:9.16.23-11.el9.x86_64 1/5
验证 : bind-dnssec-doc-32:9.16.23-11.el9.noarch 2/5
验证 : bind-dnssec-utils-32:9.16.23-11.el9.x86_64 3/5
验证 : python3-bind-32:9.16.23-11.el9.noarch 4/5
验证 : python3-ply-3.11-14.el9.noarch 5/5
已更新安装的产品。
已安装:
bind-32:9.16.23-11.el9.x86_64 bind-dnssec-doc-32:9.16.23-11.el9.noarch bind-dnssec-utils-32:9.16.23-11.el9.x86_64
python3-bind-32:9.16.23-11.el9.noarch python3-ply-3.11-14.el9.noarch
完毕!
[root@localhost yum.repos.d]#