欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux基础-软件安装:RPM与YUM

程序员文章站 2022-05-29 11:21:30
...

什么是 RPM

RPM 全名是‘ RedHat Package Manager ’简称则为 RPM。顾名思义,当初这个软件管理的机制是由 Red Hat 这家公司发展出来的。 RPM 是以一种数据库记录的方式来将你所需要的软件安装到你的 Linux 系统的一套管理机制。

RPM最大的特点就是将你要安装的软件先编译过, 并且打包成为 RPM 机制的安装包,通过包装好的软件里头默认的数据库记录, 记录这个软件要安装的时候必须具备的依赖属性软件,当安装在你的 Linux 主机时, RPM 会先依照软件里头的数据查询 Linux 主机的依赖属性软件是否满足, 若满足则予以安装,若不满足则不予安装。那么安装的时候就将该软件的信息整个写入 RPM 的数据库中,以便未来的查询、验证与卸载!这样一来的优点是:
1. 由于已经编译完成并且打包完毕,所以软件传输与安装上很方便 (不需要再重新编译)
2. 由于软件的信息都已经记录在 Linux主机的RPM数据库上,很方便查询、升级与卸载

RPM 默认安装的路径

路径 作用
/var/lib/rpm RPM 的数据库
/etc RPM 软件的配置文件
/usr/bin RPM 软件的可执行文件
/usr/lib RPM 软件的动态函式库

RPM 安装 (install)

rpm -ivh package_name
选项与参数:
-i :install 的意思
-v :察看更细部的安装资讯画面
-h :以安装资讯列显示安装进度

RPM 查询 (query)

RPM 在查询的时候,其实查询的地方是在 /var/lib/rpm/ 这个目录下的数据库文件。另外, RPM 也可以查询未安装的 RPM 文件内的信息喔!

rpm -qa                          #列出所有的,已经安装在本机 Linux 系统上面的所有软件名称
rpm -q[licdR] 已安装的软件名称      #列出已安装软件的信息
rpm -qf 文件名                    #找出该文件属于哪一个已安装的软件
rpm -qp[licdR] 未安装的某个文件名称  #找出某个RPM文件内的信息
选项与参数:
查询已安装软件的信息:
-q  :仅查询,后面接的软件名称是否有安装;
-qa :列出所有的,已经安装在本机 Linux 系统上面的所有软件名称;
-qi :列出该软件的详细信息 (information),包含开发商、版本与说明等;
-ql :列出该软件所有的文件与目录的完整文件名 (list);
-qc :列出该软件的所有配置文件 (找出在 /etc/ 底下的文件名而已)
-qd :列出该软件的所有说明文件 (找出与 man 有关的文件而已)
-qR :列出与该软件有关的依赖软件和文件 (Required 的意思)
-qf :找出该文件属于哪一个已安装的软件;

查询某个 RPM 文件内含有的信息:
-qp[icdlR]:注意 -qp 后面接的所有参数以上面的说明一致。但用途仅在于找出某个 RPM 文件内的信息,而非已安装的软件
信息!注意!
#例子
rpm -q logrotate    #是否有安装 logrotate 这个软件
rpm -qR logrotate   #找出安装logrotate需要的依赖软件及文件
rpm -qf /bin/sh     #找出 /bin/sh 是属于哪个已安装的软件
rpm -qpR filename.i386.rpm  #找出该文件需要的依赖软件及文件

RPM 验证

rpm -Va #列出目前系统上面所有可能被更动过的文件
rpm -V software_name  #后面加的是软件名称,若该软件所含的文件被更动过,才会列出来

RPM 卸载

 rpm -e software_name  #删除rpm安装的软件

yum 查询

yum [option] [查询工作项目]
选项与参数:
search  :搜寻某个软件名称或者是描述 (description) 的重要关键字
list    :列出目前 yum 所管理的所有的软件名称与版本

例子:
yum search git  #搜寻git相关的软件有哪些
yum list        #列出 yum 服务器上面提供的所有软件名称
yum list pam*   #找出以 pam 为开头的软件名称有哪些?而其中尚未安装的又有哪些?
yum list updates    #列出目前服务器上可供本机进行升级的软件有哪些

yum 安装/更新

yum [option] [软件名]
选项与参数:
  install :后面接要安装的软件!
  update  :后面接要升级的软件,若要整个系统都升级,就直接 update 即可 

yum 卸载

yum [remove] [软件名]

添加yum容器

  • [base]:代表容器的名字!中刮号一定要存在,里面的名称则可以随意取。但是不能有两个相同的容器名称, 否则 yum 会不晓得该到哪里去找容器相关软件清单文件。

  • name:只是说明一下这个容器的意义而已,重要性不高!

  • mirrorlist=:列出这个容器可以使用的映射站台,如果不想使用,可以注释这行;

  • baseurl=:这个最重要,因为后面接的就是容器的实际网址! mirrorlist 是由 yum 程序自行去捉映射站台, baseurl 则是指定固定的一个容器网址!

  • enable=1:就是让这个容器启动。如果不想启动可以使用 enable=0 喔!

  • gpgcheck=1:还记得 RPM 的数码签章吗?这就是指定是否需要查阅 RPM 文件内的数码签章!

  • gpgkey=:就是数码签章的公钥档所在位置!使用默认值即可

yum的配置文件在/etc/yum.repos.d这个文件夹下面,我们添加某个软件提供的容器时,应该在此文件夹下新建一个后缀为.repo的文件

根据官方文档:http://nginx.org/en/linux_packages.html#stable ,添加nginx的yum容器
新建文件vi /etc/yum.repos.d/nginx.repo,文件内容如下:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1

接下来使用yum install -y nginx即可安装nginx啦!

相关标签: rpm