Linux:详细的RPM和YUM/DNF管理工具,配置仓库等

文章目录

  • 1 RPM管理工具
  • YUM/DNF管理工具
    • (1)YUM/DNF 功能
    • (2)如何实现yum/DNF安装
    • (3)配置.repo文件,即本地yum源/ 仓库
    • (4)配置网络yum源:

1 RPM管理工具

(1)RPM是红帽包管理(Redhat Package Manager)的缩写。

由Red Hat公司提出的一种软件包管理标准。
是Linux各发行版中应用最广泛的软件包格式之一(还有debian的发行版deb安装包)。
RPM功能通过rpm命令使用不同参数来实现。 

(2)rpm软件包中包含有关于本软件包的相关信息, 便于对软件包信息进行查询。RPM软件包的典型命名格式:

软件名-版本号-发行号.操作系统版本.硬件平台的类型.rpm,比如 zsh-5.0.2-14.el7.x86_64.rpm 

Linux:详细的RPM和YUM/DNF管理工具,配置仓库等_第1张图片

(3)rpm包相关网站

 http://rpmfind.net/
 http://rpm.pbone.net/

(4)rpm安装相关参数

Linux:详细的RPM和YUM/DNF管理工具,配置仓库等_第2张图片

(5)rpm查询功能(rpm –q 常与下面参数组合使用)

Linux:详细的RPM和YUM/DNF管理工具,配置仓库等_第3张图片
例:查询所有的已经安装的软件。

[root@localhost ~]# rpm -aq

例2:查询zsh是否安装:

[root@localhost ~]# rpm -aq | grep "zsh"

发现没有安装。

例3:安装zsh-5.5.1-9.el8.x86_64.rpm包:
前提必须是Linux上面要已经存在这个安装包才能安装,目前没有这个包,所以在网站上面下载后从Windows操作系统上传到Linux,上传这个步骤就省了。

上传再查看后发现有这个安装包了。如下

[root@localhost ~]# ls -l zsh-5.5.1-9.el8.x86_64.rpm

-rw-r–r--. 1 root root 3035888 Jul 20 18:32 zsh-5.5.1-9.el8.x86_64.rpm

然后开始安装:如下
在这里插入图片描述
注意1:安装过程中发现这个安装包不需要什么依赖关系。如果需要依赖就需要安装依赖包

注意2:如果安装需要秘钥验证(数字证书),则输入如下:

#系统中数字证书的位置
[root@master Packages]# ll /etc/pki/rpm-gpg/
#导入密钥
[root@master Packages]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial

再卸载这个安装包:如下

[root@localhost ~]# rpm -evh zsh-5.5.1-9.el8.x86_64

提示:在卸载后去对安装包升级的话就会重新下载。

YUM/DNF管理工具

可以自动解决依赖问题。原有的yum命令仅为dnf的软链接
如下命令可以查看yum命令的地方:

whereis yum

yum原理:
Linux:详细的RPM和YUM/DNF管理工具,配置仓库等_第4张图片
大概解释:
yum命令最开始会读取 /etc/yum.repos.d/ 目录下的 .repo 结尾的文件,这个文件里面就是配置的软件仓库,记录了软件仓库名字,位置,是否安装的时校验,是否启动了这个软件仓库,如果是的,则找到了存储软件包的仓库。

(1)YUM/DNF 功能

1,在线下载、 安装、 卸载、 升级rpm软件包。
2,自动查找并解决rpm包之间的依赖关系,一次性安装所有具有依赖关系的rpm包,而无需管理员逐个、 手工地去安装每一个rpm包

(2)如何实现yum/DNF安装

1,系统会去读取 /etc/yum.repos.d/ 目录下的 .repo 结尾的文件,从该文件中读取以下内容实现装包:
包含各种rpm安装文件的软件仓库(rhel8有两个仓库,rhel7只有一个仓库)

BaseOS存储库:提供一套核心的底层操作系统功能,为基础软件安装库
AppStream存储库:包括额外的用户空间应用程序、运行时语言和数据库

2, 软件仓库的地址信息

(3)配置.repo文件,即本地yum源/ 仓库

1,首先需要将光驱设备 dev/sr0 挂载到目录 mnt 或者 media里面,
挂载的命令参照写过的博客:“Linux:详细介绍如何挂载?及其命令

2,根据上面的原理图可知接下来进入到 /etc/yum.repos.d/ 这个路径下,编辑 redhat.repo 文件,这个文件必须是repo结尾的文件。命令如下:

[root@localhost mnt]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls -l 
total 4
-rw-r--r--. 1 root root 358 Jul 10 15:24 redhat.repo
[root@localhost yum.repos.d]# vim redhat.repo

进入到编辑界面后输入以下代码配置仓库,这里配置了2个可以用的仓库:

[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0

[AppStream]
name=Appstream
baseurl=file:///mnt/Appstream
gpgcheck=0

对上面的配置仓库命令的格式解释:

[软件仓库] 可以认为是软件仓库配置的开始
name=命名软件仓库的名字
baseurl=配置的就是软件仓库的位置,是仓库的上一个目录。如果仓库位置是本地就有三个///
gpgcheck=0或者1 等于0就不校验,1就要校验
gpgkey=提供的key来校验 值为1时候才校验

3,设置缓存
需要先清除缓存再设置缓存
命令:

yum clean all
yun makecache

4,最后测试是否配置好了,只需要安装一个软件就行了,假如安装 lrzsz 软件
命令;

[root@localhost yum.repos.d]# yum install lrzsz -y    -y参数是为了跳过下载中途需要依赖的包

回车等待一下:最后发现有 complete! 提示,这样就成功了

(4)配置网络yum源:

看文档

你可能感兴趣的:(linux,debian,服务器)