rpm命令

这篇具有很好参考价值的文章主要介绍了rpm命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

CentOS7主要有rpm和yum这两种包软件的管理。两种包的管理各有用处,其中主要区别是:YUM使用简单但需要联网,YUM会去网上的YUM包源去获取所需要的软件包。而RPM的需要的操作经度比较细,需要我们做的事情比较多。

软件包的安装和卸是很平常的事,但在Linux上面却不简单。Linux的其中一个哲学就是一个程序只做一件事,并且做好。组合小程序来完成复杂的任务,这样做有很多好处,但是各个小程序之间往往会存在着复杂的依赖关系。这时就有了redhat包管理器rpm。英文是redhat package manager ,redhat 软件包的管理。

rmp原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。

rpm是以一种数据库记录的方式来将所需要的套件安装在Linux主机的一套管理程序。也就是说Linux系统中存在一个关于rpm的数据库,它记录了安装的包与包之间的依赖相关性。rpm包是预先在Linux主机上编译好并打包的文件,安装起来非常快捷。

要安装rpm包,首先需要下载对应包,可用的下载链接:

http://rpmfind.net/
http://www.rpmseek.com/index.html
http://rpm.pbone.net/

以tree命令对应的rpm包为例,下载界面可能是这样的:
rpm命令可以看到,有许多不同版本的rpm包,那么我们在确定应该下载哪个前,需要先了解rpm包的包名含义。

1. rpm包名详解

rpm包以.rpm结尾,而源码包以.src.rpm结尾。RPM软件包命令规则:

name-version-arch.rpm
name-version-arch.src.rpm

tree-2.0.2-1.2.x86_64.rpm为例

  • name,如:tree,是软件的名称
  • version,如:2.0.2-1.2,是软件的版本号,版本号格式通常为“主版本号.次版本号.修正号”。
  • arch,如:x86_64,是表示包适用的硬件平台,目前rpm支持的平台有:i386,i586,i686,sparc和alpha
  • rpm和.src.rpm,是rpm包类型后缀,rpm是编译好的二进制包,.src.rpm是源码包
  • 特殊名称:
    (1)el*:表示发行商的版本,el6表示这个软件包是在rhel6.x/centos6.x下使用;rpm包有个特点,centOS7的rpm包一般只能装到CentOS7的系统里,CentOS6的软件包只能装到CentOS6的系统里。
    (2)devel:表示这个rpm包是软件的开发包
    (3)noarch:说明这样的软件包可以在任何平台安装和运行,不需要特定的硬件平台

仅了解包名定义还无法帮助我们准确的找到我们需要的包,因为arch这一项我们还不太解

2. 安装包的划分

1.安装包按操作系统划分,可以分为:
windows包,以.mis以及.exe结尾
linux包,以.rpm以及.deb结尾
2.也可以按照处理器进行划分,如:
xxx.x86_64.rpm,xxx.x86.exe,xxx_amd64.deb
上面x86_64,x86,amd64这三种属于x86架构。
xxx.aarch64.rpm
而aarch64这种属于arm架构

3. 处理器架构简介

关于arm架构和x86架构的介绍,不是此次学习重点,简略介绍。

3.1 x86架构

一般PC机都选择x86这种架构处理器

  1. x86和x64
    x86是指32位处理器、(x86_64有时简称为x64)x64是指64位处理器,因为x64指令是在x86指令集上扩展出来的,所以x86编译出来的程序可以在64位处理器上运行,反过来就不行。

  2. x64和amd64
    这个有点历史渊源,一开始interl和amd都是x86架构,后来intel和amd都开始研发各自的64位处理器指令集,intel选择开辟新的指令集,amd则选择在x86上扩展。后来证明intel方案失败了,最终intel也采用amd的64指令标准,做了稍微的修改,所以有了x64和amd64。

3.2 arm架构

32位处理器需要armv7,或者armv7s架构,
64位处理器需要arm64架构。

3.3 其他

i386 就是已经即将被淘汰的x86的以奔腾系列位代表的32位架构
power9 ppc64le ppc64对应IBM的power系列,仅作了解
aarch64 就是arm架构的64位系统(aarch64和arm64指的是同一件事,两者已合并,现称为aarch64)

更多细节以及处理器发展,可参考文章https://blog.csdn.net/zygblock/article/details/60867744

至此,我们再看最开始的那张图,就能明白每个包适用的系统了。
另外,要确定我们自己的linux版本,可以通关查看镜像文件的命名,或者终端输入uname -a查看

4. rpm常用命令

-i 安装软件包(–install)
可选附带参数:
–nodeps 不验证软件包的依赖
–force 强制安装,即使覆盖其他包的文件也要安装
-v 可视化,提供更多的详细信息的输出
-h 显示安装进度
-a 查询所有已经安装的软件包
-f 查询文件所属于的软件包
-q 查询软件包(通常用来看下还未安装的软件包,注意,查询时不需要带包名后缀,只需命令名,如rpm -q tree)
-l 显示软件包的文件列表
-e 卸载指定软件包(注意,卸载时需要指定具体包名后缀,如 rpm -e tree-1.7.0-1.30.x86_64)
-U 升级软件包,很少用

常用组合:
-ivh 安装指定rmp包并显示安装进度
-qa 查询所有已经安装的软件包
-qi 查询软件包安装信息

rpm命令

-ql 显示软件包的文件列表

rpm命令

-qf 查询文件所属的文件包
rpm命令

5. Ubuntu无法安装rpm包

ubuntu RPM should not be used directly install RPM packages, use Alien instead!
Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb

1.alien默认没有安装,所以首先要安装它
sudo apt-get install alien
2.将rpm转换位deb,完成后会生成一个同名的xxxx.deb
sudo alien xxxx.rpm
3.安装
sudo dpkg -i xxxx.deb

关于ubuntu以及dpkg命令,另起文章介绍文章来源地址https://www.toymoban.com/news/detail-443538.html

到了这里,关于rpm命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • centos7.9-RPM安装MySQL 8.0.34数据库教程

    使用命令 或者 ` 查看操作系统信息,我的系统版本是el7 即liunx/centos 7系列。 下载地址: https://dev.mysql.com/downloads/mysql/ 下载时,要注意自己系统的版本,我的Linux版本是 el7 ,要下载对应的版本。 用上传工具将下载的安装包上传至指定存放目录;我专门存放安装包的目录是

    2024年02月07日
    浏览(26)
  • CentOS7下rpm包方式升级openssl到安全版本1.1.1q

    参考链接:https://cloud.tencent.com/developer/article/1767718 OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。 OpenSSL是Openssl团队的一个开源的能够实现安全套接层(SSLv2/v3)和安全传输

    2024年02月05日
    浏览(17)
  • Redhat7/CentOS7 网络配置与管理(nmtui、nmcli、GNOME GUI、ifcfg文件、IP命令)

    背景:作为系统管理员,需要经常处理主机网络问题,而配置与管理网络的方法和工具也有好几种,这里整理分享一下网络配置与管理的几种方式。 在 Red Hat Enterprise Linux 7 中,默认网络服务由 NetworkManager 提供,后者是一个动态网络控制和配置守护进程,在网络设备和连接可

    2024年02月03日
    浏览(23)
  • CentOS7中文设置的两种方式

    1、打开终端命令,查询本机所有语言包 2、查看是否有zh_CN.utf8语言包,如果没有就需要手动下载安装字体(如果有就跳过这一步) 显示 There is no installed groups file 表示没有需要安装的字体了(因为我里面所有字体都已经有了) 3、设置虚拟机语言为zh_CN.utf8(中文),然后重启

    2024年02月10日
    浏览(12)
  • 构建基于RHEL7(CentOS7)的OpenSSH9.5p1的RPM包和升级回退方案

    本文适用:RHEL7系列,或同类系统(CentOS7等) 文档形成时期:2023年 因软件世界之复杂和个人能力之限,难免疏漏和错误,欢迎指正。 yum install rpmdevtools #创建目录 rpmdev-setuptree #或手动创建目录: yum install rpm-build gcc make wget openssl-devel krb5-devel pam-devel libX11-devel xmkmf libXt-devel 准备

    2024年01月21日
    浏览(24)
  • CentOS下用rpm安装软件时报错error: Failed dependencies

    在CentOS下用rpm安装软件时会报如下错误: 1、安装时提示: [root@db software]# rpm -ivh ksh-20120801-254.el8.x86_64.rpm warning: ksh-20120801-254.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY error: Failed dependencies:     libm.so.6(GLIBC_2.23)(64bit) is needed by ksh-20120801-254.el8.x86_64 解决的方法就是

    2024年01月17日
    浏览(14)
  • linux |离线安装软件 | rpm命令

    离线 安装包管理命令 rpm 注意 如果只想安装不展示安装信息 rpm -i xxx.rpm 参考1 参考2

    2024年01月16日
    浏览(17)
  • Centos7详细安装部署Mysql8.0两种方案

    rpm -qa |grep -i mysql # -i表示忽略大小写 mysql80-community-release-el7-7.noarch mysql-community-common-8.0.32-1.el7.x86_64 mysql-community-client-8.0.32-1.el7.x86_64 mysql-community-icu-data-files-8.0.32-1.el7.x86_64 mysql-community-server-8.0.32-1.el7.x86_64 mysql-community-client-plugins-8.0.32-1.el7.x86_64 mysql-community-libs-8.0.32-1.el7.x86_64

    2024年01月21日
    浏览(18)
  • centos系统离线下载yum命令的rpm文件并安装

    因为我用的是windows服务器,因此需要一台虚拟机,用来安装centos,虚拟机的安装网上好多教程,这里不做过多介绍 这次同样是按步操作 在本地服务器创建下载目录 - 将yum文件下载到本地 - 在远程服务器上创建目录 - 上传文件到远程服务器目录 - 使用命令安装yum到服务器上

    2024年02月11日
    浏览(19)
  • CentOS7 将动态分配IP改为静态IP的两种方法

    本文整理了CentOS7的将动态分配IP改为静态IP的两种方法。第一种方法是修改网卡对应的配置文件,然后重启network。第二种则是借助nmcli命令进行修改。 注:本文内容基于虚拟机上运行的CentOS7环境,实体机安装的CentOS7在网卡名称方面可能会有出入。 使用虚拟机的话,网卡的名

    2024年02月15日
    浏览(21)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包