概念引入 :
# 首先提出一个问题,我们在 Linux 操作系统中是如何 安装软件的 ??
===>>>
在 Linux 系统中,安装软件是有三种方式
===>>>
第一种 : RPM 管理工具
第二种 : YUM 管理工具
第三种 : 源码编译
镜像文件来创建本地仓库 :
# 我们当时 搭建 Linux 环境的时候就是通过 .is0 镜像文件 来搭建的 !
我们打开 iso 镜像文件 ( 是把 iso 解压后 )
===>>>
显然,你看到了两个文件夹,一个是 BaseOS ; 一个是 APPStream ;
我们进入 BaseOS 文件夹
===>>>
有两个文件夹 ,进入 Packages 这个文件夹看看
===>>>
BaseOS 包里存放的就是 操作系统安装的基础的软件包
我们进入 APPStream 文件夹
===>>>
也是有两个文件夹,进入 Packages 这个文件夹看看
===>>>
存放的就是 第三方的应用程序 或者称为 RPM格式的和称为模块的 RPM格式扩展。
✋ 那也就是 iso 镜像文件 里也有 APPStream 和 BaseOS ;
那就意味着 我们可以利用 镜像文件 来创建一个 本地的软件仓库
# 首先得找到 镜像文件加载 在什么位置 ??
===>>>
在主机那里 右键点击 “ 设置 ”
我们当时搭建Linux 环境的时候,镜像的加载就是通过 光驱 进行的 ;
也可以看到 启动时已连接,说明我们在启动的时候,镜像就已经连上了。
然后,我们就去在 Linux 中找 光驱设备 文件在那里?
光驱设备,它当然也是设备了,所以,我们去 设备 目录下去找 光驱设备
===>>>
[root@fsw ~]# ls -l /dev
在 / dev 目录下的 sr0 就是我们的 光驱设备 。
即 : /dev/sr0 就是我们的光驱设备,而这个光驱设备上就有 我们的 iso 镜像~!!
那现在我们就找到了 镜像文件 在哪里~!!
但是 :
===>>>
我们现在不能直接去使用它 ~!!!
就像我们买了一块儿硬盘,也不能直接拿来就用,得先格式化~!!
===>>>
我们划分的每一个盘(每一个分区),都有文件系统~!
格式化就是,安装文件系统 ~!!!
在 Linux 系统上,对于 硬件设备的使用 ;
如果要访问这个存储设备,
首先得把它和 Linux 文件系统联系起来,
===>>>
什么叫联系起来 ?? 怎样就联系起来了 ??
===>>>
之前我们在搭建 Linux 环境的时候,我们进行了一步操作:
我们不是给我们 Linux 分配了几个分区 👉 / , /boot, swap等
那是不是 当我们访问 / ( 根目录) 的时候,就相当于访问了 / ( 根目录 ) 所对应的
硬盘空间。
那是不是就相当于 我们把 / 和 这块儿 硬盘空间联系起来了 ~!!
===>>>
那不就得了,那现在有一块儿 光驱,
我们要访问这块儿 光驱,那就有个目录 和这块儿 光驱 联系起来啊 ~!!
就成了 ,我们访问这块儿 目录就是在 访问这块儿 光驱 ~!!!
所以,我们得找个目录
===>>>
我们就找 /mnt 或 /media 这个目录 ,上面也解释了
可以将别的文件系统挂载在这个目录下
所谓 挂载
👉 就是我们上面说过的,将Linux 里的目录 和设备 联系起来 ~!!!
综上 :
那就是 目录 👉 / mnt
光驱设备 👉 /dev/sr0
要将上示两个 挂载起来
怎么挂载 ?? ( 通过命令的形式 )
===>>>
[root@fsw ~]# mount /dev/sr0 /mnt
我们先不执行上示 挂载命令,先来看下 /mnt 目录下的内容
( 我们看看挂载前后发生的变化 )
这是挂载前
===>>>
然后我们执行 挂载 命令
上示挂载是 执行成功的,虽然提出了警告,但没有关系。
我们看下 挂载后的 /mnt ,目录下的内容
===>>>
这不就有 APPStream 和 BaseOS 了,里面存放的是 .rpm 包
根据镜像建立本地仓库
现在就可以根据 镜像里提供的 rpm 包 来 建立一个本地的 软件仓库
那我们上面讲过,配置 本地软件仓库是在哪配呢 ?
===>>>
/ etc / yum.repos.d
我们进入 / etc / yum.repos.d 看看
===>>>
可以看到里面都是 .repo 结尾的文件 代表是 仓库的配置文件。
上图展示的是 三个 .repo 文件,前两个是我后来加进去的,实际只有 redhat.repo
一个配置文件 ~!!
对于以上三种 .repo文件 我们要在 redhat.repo 文件里配置,我们就先把 其它俩文件
先备份了 ( 通过给文件后缀名再加一个 .bak 的方式 )
===>>>
[root@fsw yum.repos.d]# cp Centos-vault-8.5.2111.repo Centos-vault-8.5.2111.repo.bak
[root@fsw yum.repos.d]# rm -rf Centos-vault-8.5.2111.repo
[root@fsw yum.repos.d]# cp base.repo base.repo.bak
[root@fsw yum.repos.d]# rm -rf base.repo
经过以上操作,就等于我们只剩了 redhat.repo 这一个 repo 后缀名结尾的文件,
这样就使得在 加载 yum.repos.d 这个目录的时候 只会加载 redhat.repo 这一个文件了
因为在加载 yum.repos.d 这个目录时,就只加载所有以 repo 结尾的文件~!!!
在配置文件里,配置软件仓库
接下来 :
我们编辑 redhat.repo 文件 来 配置软件仓库 ~!!!
===>>>
===>>>
进来后,就全是注释,不用管,我们直接 编辑,来配置
===>>>
上示的配置 ( 红色标记圈起来 ) 是关键的关键
我们来解释下
===>>>
[BaseOS] [ ] 里面的东西就代表一个标签, 到下一个标签结束
name=BaseOS 名字,写什么都行,只不过我们写的是 BaseOS
baseurl=file:///mnt/BaseOS 这个代表目录, file:// 这是一体,代表 本地的意思
/ mnt / BaseOS 这是一体,代表一个目录
gpgcheck=0 值为0,意思是不进行校验,若值为1,则表示要进行校验,进行
校验的话,就又得配置(导入)一个 gpgkey=(什么什么的)
[AppStream] [ ] 这就又开始另一个标签的内容了
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
# : 再强调下 :
baseurl : 配置的就是软件仓库的位置
本地配置 就是 file : //
网络配置 就是 http : //
https : //
enabled : 等于 0 或者 1 ( 再没有配置 enabled 的情况下,默认是 1 )
0 代表不启用
1 代表启用
# 我们配置完成后,保存退出就行
然后再清理缓存,
===>>>
[root@fsw yum.repos.d]# yum clean all
再重新制作新的缓存
===>>>
[root@fsw yum.repos.d]# yum makecache
我们再来查看下当前的软件仓库
===>>>
[root@fsw yum.repos.d]# yum repolist
显然可以看到 AppStream 和 BaseOS
至此,那我们 本地软件仓库 就创建完毕了 ~!!!!