文章目录
一.RPM概述
RPM(Red Hat Package Manager)是Linux中的一种软件包管理格式也可以称为软件包管理器;它可以将软件包以二进制形式打包,并提供工具来安装、更新、卸载和查询这些软件包。
使用RPM可以方便地管理和部署软件包,尤其在基于Red Hat和CentOS的发行版中。通过RPM,可以轻松地在系统上安装和升级软件,同时还可以检查软件包的信息、依赖关系等。
二.RPM功能
rpm 查询
用户可以使用rpm
命令查询已安装软件包的信息,如名称、版本、描述、安装日期、依赖项等。
rpm -q 软件名 | 查询是否下载软件包 |
rpm -qa 软件名 | 查询已下载软件包的信息 |
rpm -ql 软件名 | 查询已下载的软件包的安装列表 |
rpm -qc 软件名 | 查询已下载软件包的配置文件 |
rpm -qi 软件名 | 查询已下载软件包基础信息 |
以Http软件为例:
在首次安装Http软件时,可以通过 rpm 命令查询是否安装过Http服务相关软件包。
[root@localhost1 ~]# rpm -q httpd
package httpd is not installed
“package httpd is not installed” 表明未安装http服务相关软件包。
下面安装Http服务后(安装过程省略)再次执行上述命令,会显示安装包版本信息:
[root@localhost1 ~]# rpm -q httpd
httpd-2.4.6-99.el7.centos.1.x86_64
版本信息“httpd-2.4.6-99.el7.centos.1.x86_64”详解如下:
从这个输出中,你可以很容易地辨别出 httpd
的版本是 2.4.6
,以及它是为 CentOS 7 的 x86_64 架构构建的,并且是第 99 次修订或构建。
rpm 命令不仅可以查询相关服务是否安装,同样可以通过rpm命令查询我们安装的服务安装过哪些软件包,命令如下:
[root@localhost1 ~]# rpm -ql httpd | head -n 5
/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/autoindex.conf
使用rpm -qc 命令查询已安装的配置文件:
[root@localhost1 conf]# rpm -qc httpd | head -n 5
/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.d/userdir.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf.modules.d/00-base.conf
/etc/httpd/conf.modules.d/00-dav.conf
使用rpm -qi 命令查询软件包的详细信息。
rpm 卸载
rpm -e 软件包名 | 卸载软件 |
在Linux中也可以通过rpm命令一键卸载软件包及相关服务,下面仍然以Http服务为例,卸载之前使用rpm -q 命令查询http服务软件包版本信息,使用rpm -e 命令卸载完成后,再次查询版本信息将显示未安装软件包
rpm 安装
rpm 默认安装路径如下:
- /etc:配置文件
- /usr/bin
- /usr/lib程序使用的函数库
rpm 更新
所谓更新,就是卸载旧版本的软件包,然后安装新版本的软件包。假设原来系统已经安装了1.0版本的软件包,现在要安装2.0版本的软件包,如果两个版本的包安装路径不一样,则可以共存;如果两个版本的包安装路径不一样,则会产生冲突。
rpm 验证
当我们安装了一个软件包之后会产生许多文件,要是想判断这些文件是否被修改过,可以用rpm -V 命令,例如,我们刚刚安装了vstftpd,并没有修改任何配置文件。
三.YUM概述
在Linux操作系统中,yum是一个包管理器,它可以用于在系统上安装、更新和删除软件包。yum允许用户从互联网上的软件存储库中下载软件包,并自动解决软件包之间的依赖关系。通过使用yum,用户可以轻松地管理系统上的软件包,并保持系统的安全性和稳定性。
Yum源是指在Linux系统中使用Yum软件包管理器时,用于获取和安装软件包的服务器或存储库。Yum源中包含了大量的软件包和依赖关系信息,用户可以通过配置Yum源来指定从哪个服务器或存储库获取软件包。配置完成后,用户可以通过简单的命令就能够轻松地搜索、下载和安装软件包,而不需要手动下载和安装。
配置网络yum源
下载阿里云yum源 参考链接
[root@timeserver ~]# cd /etc/yum.repos.d/
[root@timeserver yum.repos.d]# vim /etc/yum.repos.d/wangluo.repo
#写入如下内容
[wangluo-app]
name=wanluo-app
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/
gpgcheck=0
[wangluo-base]
name=wangluo-base
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/
gpgcheck=0
#安装任意软件包
[root@timeserver yum.repos.d]# yum install vim bash-completion -y
出现完毕字样代表成功安装
清理并重新加载yum源
sudo yum clean all
sudo yum makecache
配置本地yum源
由于光盘中包括了最常用的软件包,所以可以将光盘当作本地yum源。
服务端创建私有仓库
首先将光盘镜像ISO文件上传到服务器/opt目录,同时编辑/etc/fstab文件将光盘文件挂载到/mnt目录,/etc/fstab目录内容如下:
完成镜像文件的挂载后,在yum仓库的默认配置文件目录创建一个local.repo的文件作为yum源的配置文件,内容如下:
注意:
当使用系统镜像作为yum仓库时,baseurl指定的仓库位置目录中必须存在repodata目录,因为repodata目录中保存着每个软件的rpm包之间的依赖关系,也就意味着该目录记录着每个rpm包之间的依赖关系,若无此目录将导致yum安装软件。