序:软件所在
/dev/sr0 设备 也称光驱设备,对于使用镜像的虚拟机来说,系统的很多东西就在里面,但因为是块设备可能看不了,需要先挂载比如:
mount /dev/sr0 /mnt
[root@localhost ~]# ll /mnt
total 48
dr-xr-xr-x. 4 redred redred 2048 Oct 9 2020 AppStream
dr-xr-xr-x. 4 redred redred 2048 Oct 9 2020 BaseOS
dr-xr-xr-x. 3 redred redred 2048 Oct 9 2020 EFI
-r--r--r--. 1 redred redred 8266 Oct 9 2020 EULA
-r--r--r--. 1 redred redred 1455 Oct 9 2020 extra_files.json
-r--r--r--. 1 redred redred 18092 Oct 9 2020 GPL
dr-xr-xr-x. 3 redred redred 2048 Oct 9 2020 images
dr-xr-xr-x. 2 redred redred 2048 Oct 9 2020 isolinux
-r--r--r--. 1 redred redred 103 Oct 9 2020 media.repo
-r--r--r--. 1 redred redred 1669 Oct 9 2020 RPM-GPG-KEY-redhat-beta
-r--r--r--. 1 redred redred 5134 Oct 9 2020 RPM-GPG-KEY-redhat-release
-r--r--r--. 1 redred redred 1796 Oct 9 2020 TRANS.TBL
其中几个东西介绍一下
/medio.repo 介质仓库
isolinux iso镜像
images 镜像
cpl 开源协议
eula 协议
efi 和镜像配合使用对光盘做引导
BaseOS AppStream所有软件包
软件包中又分为:
BaseOS/ 操作系统有关的包
AppStream 与流相关,测试没有问题的,上下游的软件
Packages 包的后缀名是 .rpm
rpm 是指Redhat packages manager 红帽包管理器
开源的软件需要对源代码进行编译执行后才能安装,而rpm就是红帽对这一行为的打包。
.rpm文件上会有数字签名,是该组织的私钥进行的数字签名,公开释放的公钥可以拿去验证是不是该组织发的
当然还有其他打包方式,如apt.
1.rpm安装卸载
1.1.安装
格式
rpm -i 软件包名
举例
rpm -i zsh-html-5.5.1-6.el8_1.2.noarch.rpm
1.2.查看
格式
rpm -qa 查看所有的已安装的包
rpm -ql 包名 寻找相关包
例子
rpm -qa
rpm -qa | grep zsh 查看所有的的已安装的包并交给zsh过滤
rpm -ql zsh-html 查找所有zsh-html包,匹配并不像grep过滤的那么精准
1.3.卸载
格式
rpm -e 包名
举例
rpm -e zsh-html
1.4.多安装
安装某些软件过程中会出现一种情况,叫缺少依赖性
解决方法嘛,按照提示先安装它所依赖的包就行了,但依赖关系中还有一种叫互相依赖,必须两个一起安装。
格式
rpm -i 包名1,包名2,包名3
举例
rpm -i ypbind...rpm yp-tool...rpm
同样卸载也能一起卸
rpm -e ypbind...rpm yp-tool...rpm
不过这种方法有个问题,如果是两三个包互相依赖还好,要是七八个包互相依赖就太长了,所以有一种技术可以用来解决这种问题,并更高效的实现安装,它就是yum技术。
2.yum安装卸载
yum工具可以自动解决依赖关系,它的全称是yellow dog updata manager,翻译为黄狗数据更新管理器,为什么叫这名我也不知道,可能是搞了这工具的人家里养了只狗叫大黄吧。
2.1.写仓库
yum大黄的工作原理是有几个放着包路径的仓库,但使用yum工具时它会自动按照仓库中的路径寻找包进行安装,而不用像rpm工具那样/mnt/AppStream/Packges一层一层路径进行写全,同样在出现缺少依赖关系问题时,yum也会到仓库中路径去寻找依赖的包,自动装上,所以要使用yum首先要写好仓库
仓库路径
/etc/yum.repos.d/
就是仓库应该保存的位置,保存在这个位置才会生效,后缀名得是.repo,yum工具是认识后缀名的
接下来一边写仓库一边讲解
用vim工具在/etc/yum.repos.d目录下创建一个仓库,名字无所谓,后缀名得是.repo
仓库的写法是:
[redred1]
name=redred1
baseurl=/mnt/AppStream/
enable=1
gpgcheck=0
[redred2]
name=redred2
baseurl=/mnt/BaseOS
enable=1
gpgcheck=0
标识 | 含义 |
---|---|
[redred1] | 标识名,随便写写 |
name=redred1 | 仓库名,随便写写 |
baseurl=/mnt/AppStream/ | 包的保存目录,其实就mnt下两个目录 |
enable=1 | 是否启动仓库,1表示启用 |
gpgcheck=0 | 是否效验,如果要效验的话有点麻烦 |
我这里是写了两个仓库配置文件,把sr0里面的所有包都涵盖进来了。
2.2.yum使用
在写好yum的仓库后,yum的使用就非常舒服了
安装
yum install 包名
删除
yum remove 包名
ll /usr/bin/ |grep yum进入相关目录后我们可以看到yum实际上是一个链接文件,指向dnf,这是黄狗的更新版,所以可以用dnf 使用yum的仓库
如 dnf install 包名