【Linux】rpm && yum(软件包的安装以及查询)

这篇具有很好参考价值的文章主要介绍了【Linux】rpm && yum(软件包的安装以及查询)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.应用程序与系统命令

应用程序与系统命令的关系

yum查看已安装包,Linux,linux,运维,服务器

典型应用程序的目录结构

yum查看已安装包,Linux,linux,运维,服务器

Linux文件

yum查看已安装包,Linux,linux,运维,服务器

常见的软件包封装类型

yum查看已安装包,Linux,linux,运维,服务器

Linux内核简介

yum查看已安装包,Linux,linux,运维,服务器

2.RPM

2.1 rpm包管理工具

RPM软件包管理器Red-Hat Package Manager

由Red Hat公司提出,被众多Linux发行版所采用

建立统一的文件数据库

详细记录软件包安装、卸载、升级等变化信息

自动分析软件包依赖关系

RPM包命名原则

yum查看已安装包,Linux,linux,运维,服务器

yum查看已安装包,Linux,linux,运维,服务器

yum查看已安装包,Linux,linux,运维,服务器
yum查看已安装包,Linux,linux,运维,服务器

2.2 rpm命令的格式

rpm命令能够实现几乎所有RPM软件包的管理功能

执行“man rpm”命令可以获得关于rpm命令的详细帮助信息

yum查看已安装包,Linux,linux,运维,服务器

rpm命令功能:

  • 查询、验证rpm软件包的相关信息

  • 安装、升级、卸载RPM软件包

  • 维护RPM数据库信息等综合管理操作

2.3.查询rpm软件包

查询已安装的rpm软件信息

rpm -q [子选项] [软件名 ]

常用选项

-qa、-qi、-ql、-qf、-qc、-qd

查询rpm软件包文件中的信息

rpm -qp [子选项] rpm包文件名

常用选项

-qpi、-qpl、-qpc、-qpd

使用"-q"选项时,实际上调用了==”/usr/bin/rpmquery"==程序完成查询工作

软件包查询主要包括两种情况:

(1)查询系统中已经安装的软件包信息;

(2)查询尚未安装的RPM包文件的信息;

对于"-qa "查询选项,命令参数(即软件包名)是非必须的;

一般查询时,软件名不需要指定版本号.

yum查看已安装包,Linux,linux,运维,服务器

[root@clr ~]# rpm -q rpm  #查询rpm软件包是否已经安装
rpm-4.11.3-45.el7.x86_64
[root@clr ~]# rpm -q yum   #查询yum软件包是否已经安装
yum-3.4.3-168.el7.centos.noarch
[root@clr ~]# systemctl status nfs    #查看nfs服务的状态
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
   
[root@clr ~]# rpm -q nfs-utils   #查询nfs-utils软件包是否已经安装
nfs-utils-1.3.0-0.68.el7.x86_64

rpm -qa命令

[root@clr ~]# rpm -qa |wc -l  #统计当前系统中,以rpm方式安装的软件包有多少个
1464
[root@clr ~]# rpm -qa |grep nfs  #统计当前系统中,是否有以rpm方式安装的nfs软件包
libnfsidmap-0.25-19.el7.x86_64
nfs4-acl-tools-0.3.3-21.el7.x86_64
nfs-utils-1.3.0-0.68.el7.x86_64

rpm -qi命令

[root@clr ~]# rpm -qi yum  #显示已安装的yum软件包的详细信息
Name        : yum
Version     : 3.4.3
Release     : 168.el7.centos
Architecture: noarch
Install Date: 2023年03月23日 星期四 00时42分15秒
Group       : System Environment/Base
Size        : 5829237
License     : GPLv2+
Signature   : RSA/SHA256, 2020年10月15日 星期四 03时21分12秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : yum-3.4.3-168.el7.centos.src.rpm
Build Date  : 2020年10月02日 星期五 01时03分49秒
Build Host  : x86-02.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://yum.baseurl.org/
Summary     : RPM package installer/updater/manager
Description :
Yum is a utility that can check for and automatically download and
install updated RPM packages. Dependencies are obtained and downloaded
automatically, prompting the user for permission as necessary.

rpm -ql命令

[root@clr ~]# rpm -ql yum  #显示已安装的指定软件yum的文件列表
/etc/logrotate.d/yum
/etc/yum
/etc/yum.conf
/etc/yum.repos.d
/etc/yum/fssnap.d
/etc/yum/pluginconf.d
/etc/yum/protected.d
/etc/yum/vars
/etc/yum/version-groups.conf
/usr/bin/yum
/usr/lib/python2.7/site-packages/rpmUtils
/usr/lib/python2.7/site-packages/rpmUtils/__init__.py

rpm -qc命令

[root@clr ~]# rpm -qc yum  	#列出已安装的指定软件yum的配置文件
/etc/logrotate.d/yum
/etc/yum.conf     #yum的配置文件,文件名
/etc/yum/version-groups.conf
[root@clr ~]# rpm -qd yum   #列出已安装的指定软件yum的软件包文档所在位置
/usr/share/doc/yum-3.4.3/AUTHORS
/usr/share/doc/yum-3.4.3/COPYING
/usr/share/doc/yum-3.4.3/ChangeLog
/usr/share/doc/yum-3.4.3/INSTALL
/usr/share/doc/yum-3.4.3/PLUGINS
/usr/share/doc/yum-3.4.3/README
/usr/share/doc/yum-3.4.3/TODO
/usr/share/doc/yum-3.4.3/comps.rng
/usr/share/man/man5/yum.conf.5
/usr/share/man/man8/yum-shell.8
/usr/share/man/man8/yum.8
[root@clr ~]# rpm -qR yum  #列出已安装的指定软件yum依赖的软件包及文件
/usr/bin/python
config(yum) = 3.4.3-168.el7.centos
cpio
diffutils
pygpgme
pyliblzma
python >= 2.4
python(abi) = 2.7
python-iniparse
python-sqlite
python-urlgrabber >= 3.10-8
pyxattr
rpm >= 0:4.11.3-22
rpm-python
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
yum-metadata-parser >= 1.1.0
yum-plugin-fastestmirror
rpmlib(PayloadIsXz) <= 5.2-1

rpm -qf命令

[root@clr ~]# rpm -qc yum  #列出已安装的指定软件yum的配置文件
/etc/logrotate.d/yum
/etc/yum.conf
/etc/yum/version-groups.conf

[root@clr ~]# rpm -qf /etc/yum.conf  #查询已安装的指定软件yum,属于哪个安装包(-qf命令参数是文件名或目录名)
yum-3.4.3-168.el7.centos.noarch

[root@clr ~]# rpm -qc httpd  #列出已安装的指定软件httpd的配置文件
/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.modules.d/00-systemd.conf
/etc/httpd/conf.modules.d/01-cgi.conf
/etc/httpd/conf/httpd.conf

[root@clr ~]# rpm -qf /etc/httpd/conf/httpd.conf  #查询已安装的指定软件httpd,属于哪个安装包(-qf命令参数是文件名或目录名)
httpd-2.4.6-95.el7.centos.x86_64

df命令

[root@clr /mnt/Packages]# mount /dev/sr0 /mnt^C  #将光盘镜像文件挂载到/dev/sr0/mnt目录下
[root@clr /mnt/Packages]# df  #查看光盘镜像文件的挂载情况
文件系统          1K-块    已用     可用 已用% 挂载点
devtmpfs        1997348       0  1997348    0% /dev
tmpfs           2013076       0  2013076    0% /dev/shm
tmpfs           2013076   12500  2000576    1% /run
tmpfs           2013076       0  2013076    0% /sys/fs/cgroup
/dev/sda1      38817264 5671400 33145864   15% /
tmpfs            402616      12   402604    1% /run/user/42
tmpfs            402616       0   402616    0% /run/user/0
/dev/sr0        4600876 4600876        0  100% /mnt

[root@clr ~]# cd /mnt
[root@clr /mnt]# ls   #Packages目录中包含有所有镜像文件的安装包
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
[root@clr /mnt]# cd Packages/
[root@clr /mnt/Packages]# ls^C   #由于镜像文件安装包过多,会霸屏显示,因此此处省略查看Packages目录中安装包

rpm -qpi命令

[root@clr /mnt/Packages]# rpm -qpi zip-3.0-11.el7.x86_64.rpm   #查看指定软件包的详细信息
警告:zip-3.0-11.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
Name        : zip
Version     : 3.0
Release     : 11.el7
Architecture: x86_64
Install Date: (not installed)
Group       : Applications/Archiving
Size        : 815173
License     : BSD
Signature   : RSA/SHA256, 2016年11月21日 星期一 05时04分58秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : zip-3.0-11.el7.src.rpm

rpm -qpl命令

[root@clr /mnt/Packages]# rpm -qpl zip-3.0-11.el7.x86_64.rpm   #查询指定软件包的文件列表
警告:zip-3.0-11.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
/usr/bin/zip
/usr/bin/zipcloak
/usr/bin/zipnote
/usr/bin/zipsplit
/usr/share/doc/zip-3.0
/usr/share/doc/zip-3.0/CHANGES
/usr/share/doc/zip-3.0/LICENSE
/usr/share/doc/zip-3.0/README
/usr/share/doc/zip-3.0/README.CR
/usr/share/doc/zip-3.0/TODO
/usr/share/doc/zip-3.0/WHATSNEW
/usr/share/doc/zip-3.0/WHERE
/usr/share/doc/zip-3.0/algorith.txt
/usr/share/man/man1/zip.1.gz

rpm -qpc命令

[root@clr /mnt/Packages]# rpm -qpc yum-3.4.3-168.el7.centos.noarch.rpm   #查询指定软件包的配置文件
警告:yum-3.4.3-168.el7.centos.noarch.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
/etc/logrotate.d/yum
/etc/yum.conf
/etc/yum/version-groups.conf

rpm -qpd命令

[root@clr /mnt/Packages]# rpm -qpd yum-3.4.3-168.el7.centos.noarch.rpm #查询指定软件包帮助文档的位置
警告:yum-3.4.3-168.el7.centos.noarch.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
/usr/share/doc/yum-3.4.3/AUTHORS
/usr/share/doc/yum-3.4.3/COPYING
/usr/share/doc/yum-3.4.3/ChangeLog
/usr/share/doc/yum-3.4.3/INSTALL
/usr/share/doc/yum-3.4.3/PLUGINS
/usr/share/doc/yum-3.4.3/README
/usr/share/doc/yum-3.4.3/TODO
/usr/share/doc/yum-3.4.3/comps.rng
/usr/share/man/man5/yum.conf.5
/usr/share/man/man8/yum-shell.8
/usr/share/man/man8/yum.8

yum查看已安装包,Linux,linux,运维,服务器

2.4 安装、升级、卸载rpm软件包

安装或升级rpm软件

rpm [选项] rpm包文件…

常用选项

-i、-U、-F

卸载指定的rpm软件

rpm -e 软件名

辅助选项

–force、–nodeps、-h、-v

yum查看已安装包,Linux,linux,运维,服务器

rpm --nodeps命令

yum查看已安装包,Linux,linux,运维,服务器

rpm -evh命令

yum查看已安装包,Linux,linux,运维,服务器

rpm -Uvh命令

[root@clr /mnt/Packages]# rpm -Uvh httpd-2.4.6-95.el7.centos.x86_64.rpm  #升级某个指定软件包,若未安装过,则进行安装。
警告:httpd-2.4.6-95.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中...                          ################################# [100%]
	软件包 httpd-2.4.6-95.el7.centos.x86_64 已经安装  #查询该httpd安装包是否已安装并需要升级,未安装则进行重新安装

rpm -Fvh命令

[root@clr /mnt/Packages]# rpm -Fvh httpd-2.4.6-95.el7.centos.x86_64.rpm #升级某个软件包,若未安装过,则放弃安装。
警告:httpd-2.4.6-95.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f

2.5维护数据库

yum查看已安装包,Linux,linux,运维,服务器

RPM数据库:用于记录在Linux系统中安装、卸载、升级应用程序的相关信息,由RPM包管理系统自动完成维护,一般不需要用户干预.

当RPM数据库发生损坏,且Llinux系统无法自动完成修复时,将导致无法使用rpm命令正常地安装、卸载及查询软件包,这时可以使用–rebuildbd或–initdb重建rpm数据库.

在Linux/Unix应用领域,相当一部分软件厂商会对发布的软件包进行数字签名,以确保软件的完整性、合法性。对于用户来说。可以利用软件官方提供的公钥文件,自动对下裁的软件包进行验证,如果在安装软件时,出现验证失败的提示,则表示该软件包可能已经被非法篡改

总结: 在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一部分RPM软件包时会报错。需要向RPM数据库中导入位于光盘根目录下的公钥文件

mount /dev/sr0 /mnt/  #挂载光盘镜像文件
rpm --import /mnt/RPM-GPG-KEY-CentOS-7  #导入公钥文件

yum查看已安装包,Linux,linux,运维,服务器

3.yum

3.1 配置本地yum源仓库

yum软件包管理器:能够解决软件包的依赖关系,实现一键安装软件包。

yum查看已安装包,Linux,linux,运维,服务器

[root@clr /mnt]# cd /etc/yum.repos.d/  #yum软件包安装仓库文件
[root@clr /etc/yum.repos.d]# pwd
/etc/yum.repos.d

配置本地yum源仓库步骤如下所示:

(1)挂载光盘镜像到指定位置/mnt;

[root@clr ~]# mount /dev/sr0 /mnt
#[root@clr ~]# mount /dev/cdrom /mnt  #与第一句作用相同
[root@clr ~]# df
文件系统          1K-块    已用     可用 已用% 挂载点
devtmpfs        1997348       0  1997348    0% /dev
tmpfs           2013076       0  2013076    0% /dev/shm
tmpfs           2013076   12500  2000576    1% /run
tmpfs           2013076       0  2013076    0% /sys/fs/cgroup
/dev/sda1      38817264 5671740 33145524   15% /
tmpfs            402616      12   402604    1% /run/user/42
/dev/sr0        4600876 4600876        0  100% /mnt
tmpfs            402616       0   402616    0% /run/user/0

(2)进入yum仓库配置目录,备份之前的*.repo原文件;

[root@clr /etc/yum.repos.d]# cd /etc/yum.repos.d/
[root@clr /etc/yum.repos.d]# mkdir repo.bak
[root@clr /etc/yum.repos.d]# mv *.repo repo.bak

(3)创建本地yum源配置文件

[root@clr /etc/yum.repos.d]# cd /etc/yum.repos.d/
[root@clr /etc/yum.repos.d]# vim local.repo
[local]
name=local
baseurl file:///mnt
enabled=1
gpgcheck=0

yum查看已安装包,Linux,linux,运维,服务器

(4)删除yum缓存并更新

[root@clr ~]# yum clean all && yum makecache

(5)测试yum源安装是否成功

yum install -y ####软件名

yum查看已安装包,Linux,linux,运维,服务器

3.2 yum常用操作命令

yum查看已安装包,Linux,linux,运维,服务器

yum list命令

[root@clr ~]# yum list available  #查询系统中已安装的软件包
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile

yum info命令

[root@clr /etc/yum.repos.d]# yum info httpd  #查询软件包的描述信息
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
已安装的软件包
名称    :httpd
架构    :x86_64
版本    :2.4.6
发布    :95.el7.centos
大小    :9.4 M
源    :installed
来自源:local
简介    : Apache HTTP Server
网址    :http://httpd.apache.org/
协议    : ASL 2.0
描述    : The Apache HTTP Server is a powerful, efficient, and extensible
         : web server.

yum search命令

[root@clr /etc/yum.repos.d]# yum search all  httpd  #根据某个关键词httpd来查找相关的软件包
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
========================================== 匹配:httpd ===========================================
httpd-tools.x86_64 : Tools for use with the Apache HTTP Server
httpd.x86_64 : Apache HTTP Server

yum whatprovides命令

[root@clr /etc/yum.repos.d]# yum whatprovides ifconfig      #查询ifconfig命令属于哪个软件包
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
源    :@anaconda
匹配来源:
文件名    :/usr/sbin/ifconfig

3.3 源码编译安装软件

yum查看已安装包,Linux,linux,运维,服务器

(1)安装软件依赖包
  yum install -y gcc gcc-c++ make zlib-devel.x86_64 #(用于压缩文件)pcre-devel.x86_64 #(用于正则表达式)

(2)下载,tar解压软件包
   70  cd /opt
   71  rz -E
   72  ls
   73  tar xf nginx-1.22.0.tar.gz 
   74  ls


(3)配置软件模块(安装路径、开启或关闭模块功能、管理服务进程的用户设定)
   86  cd /opt
   87  ls
   88  cd nginx-1.22.0/
   89  ./configure --prefix=/usr/local/nginx
#configure是配置模块的目录,这是更改的安装路径位置/usr/local/nginx

(4)编译,将源码转换为可执行的二进制文件
  90  make (-j2)#默认是单核编译,-j2代表2个cpu编译

(5)安装
  92  make install

yum查看已安装包,Linux,linux,运维,服务器文章来源地址https://www.toymoban.com/news/detail-756833.html

到了这里,关于【Linux】rpm && yum(软件包的安装以及查询)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Linux基础笔记16 | 软件包 RPM 详解

    Linux基础笔记16 | 软件包 RPM 详解

    软件包的分类 二进制包(binary code):无须编译,可以直接安装使用 源码包(source code):没有经过编译的包,需要借助 gcc、c++ 编译器编译后才能运行 软件包的区分 二进制包:软件包存在 bin 可执行文件 源码包:软件包的文件包含有.h、.c、.cpp等结尾的源码文件 RPM CentOS 操

    2024年02月09日
    浏览(36)
  • 如何向Docker镜像安装rpm软件包

    我们在构建镜像容器的时候,容器需要使用的工具,可能在基础镜像中并没有,这时候就需要我们人工的向Docker镜像中补充这些软件工具,这里对这些应用场景进行了实践梳理。 例如,我们在性能测试的时候,往往有很多问题需要JPS、JSTACK等工具帮助分析,如果所有应用都是

    2024年02月06日
    浏览(10)
  • Linux :软件包管理器yum

    Linux :软件包管理器yum

      大多数现代的类 Unix 操作系统都提供了一种中心化的机制用来搜索和安装软件。软件通常都是存放在存储库中,并通过包的形式进行分发。处理包的工作被称为包管理。包提供了操作系统的基本组件,以及共享的库、应用程序、服务和文档。软件包和软件包管理器, 就好

    2024年02月10日
    浏览(14)
  • Linux:软件包管理器 yum

    Linux:软件包管理器 yum

    目录  提示:以下指令均在Xshell 7 中进行  什么是软件包?  yum的相关操作: 查询想要安装的软件  安装软件 卸载软件  强制卸载:  扩展源: 安装epel:  yum下载文件传输软件:   提示: 以下指令均在Xshell 7 中进行 在Linux下安装软件, 一个通常的办法是下载到程序的源代码

    2024年01月21日
    浏览(18)
  • Linux软件包管理器yum

            yum是一个 软件包管理器 。yum是一个 软件下载安装管理的客户端 。         有些人把一些常用的软件提前编译好, 做成 软件包 (可以理解成windows上的安 装程序)放在一个服务器上, 通过软件包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装。    

    2024年01月21日
    浏览(21)
  • 【Linux】软件包管理器 yum

    【Linux】软件包管理器 yum

    前言 : 对于之前学习的内容如果大家理解为让大家知道【linux】基本知识并且会使用它,那么接下来的学习的知识便是让各位小伙伴在纯【linux】环境下进行程序的开发,为了达到这一目的我们就需要使用工具的辅助。因此,接下来给大家讲述的便是【linux】下的常用工具了

    2024年01月19日
    浏览(13)
  • 【Linux】:Linux软件包管理器yum

    【Linux】:Linux软件包管理器yum

    在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安 装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接

    2024年02月08日
    浏览(16)
  • 【Linux精讲系列】——yum软件包管理

    【Linux精讲系列】——yum软件包管理

    📚lovewold少个r博客主页     ⚠️ 本文重点 : Linux系统软件包管理工具yum讲解 😄 每日一言 :踏向彼岸的每一步,都是到达彼岸本身。 前言  Linux系统下的软件下载方式 yum 查看软件包 如何安装软件 如何卸载软件 yum下载源 更换yum源(以阿里云为例) 下载新的 CentOS-Base.re

    2024年02月08日
    浏览(18)
  • 【Linux】 yum —— Linux 的软件包管理器

    【Linux】 yum —— Linux 的软件包管理器

    Yum (Yellowdog Updater Modified)是一个 在 Linux 操作系统上用于管理软件包的包管理工具 ,它主要用于在 Red Hat Enterprise Linux (RHEL)、CentOS、Fedora 和其他基于 RPM 的 Linux 发行版 上搜索、下载安装、更新和移除(卸载)软件包 在某种程度上,可以说 yum与Linux系统中的包管理器(例如

    2024年03月12日
    浏览(10)
  • Linux中的软件包管理器yum

    Linux中的软件包管理器yum

    目录 1.什么是软件包 2.关于 rzsz 3.查看软件包 4.如何安装软件 5.如何卸载软件 1.什么是软件包 ●  在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. ●  但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解

    2024年01月23日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包