rpm安装包怎么解析(软件安装RPMSRPM)

作者:FlySheep_ly

链接:https://www.jianshu.com/p/e9801bf4fa87

rpm安装包怎么解析(软件安装RPMSRPM)(1)

一、Linux 界的两大主流:RPM 与 DPKG

目前在 Linux 界软件安装方式最常见的有两种,分别是:

  • dpkg:只要是派生于 Debian 的其它 Linux 大多使用 dpkg 这个机制来管理软件,包括 Ubuntu、B2D 等。
  • RPM:CentOS、Red Hat 等都是使用它。

二、什么是 RPM 与 SRPM

RPM 全名是“RedHat Package Manager”。RPM 是一种数据库记录的方式来将你所需要的软件安装到你的 Linux 系统的一套管理机制。

SRPM 是 Source RPM 的意思,也就是这个 RPM 文件里面含有源代码。

两者区别如下:

文件格式 文件名格式 直接安装与否 内含程序类型 可否修改参数并编译 RPM xxx.rpm 可 已编译 不可 SRPM xxx.src.rpm 不可 未编译的源代码 可 文件名的含义:

rp-pppoe- 3.1 - 5 .i386 .rpm 软件名称 软件的版本信息 发布的次数 适合的硬件平台 扩展名

三、什么是 i386、i586、i686、noarch、x86_64

rpm安装包怎么解析(软件安装RPMSRPM)(2)

平台名称 适合平台说明 i386 几乎适用于所有的 x86 平台,不论是旧的 pentum 或者是新的 Intel Core 2 与 K8 系列的 CPU 等等,都可以正常的工作!那个 i 指的是 Intel 兼容的 CPU 的意思,至于 386 不用说,就是 CPU 的等级啦! i586 就是针对 586 等级的计算机进行优化编译。那是哪些 CPU 呢?包括 pentum 第一代 MMX CPU, AMD 的 K5, K6 系列 CPU (socket 7 插脚) 等等的 CPU 都算是这个等级; i686 在 pentun II 以后的 Intel 系列 CPU ,及 K7 以后等级的 CPU 都属于这个 686 等级! 由于 目前市面上几乎仅剩 P-II 以后等级的硬件平台,因此很多 distributions 都直接释出这种等级的 RPM 文件。 x86_64 针对 64 位的 CPU 进行优化编译设定,包括 Intel 的 Core 2 以上等级 CPU ,以及 AMD 的Athlon64 以后等级的 CPU ,都属于这一类型的硬件平台。 noarch 就是没有任何硬件等级上的限制。一般来说,这种类型的 RPM 文件,里面应该没有 binary program 存在, 较常出现的就是属于 shell script 方面的软件。 四、RPM 安装:install

rpm -ivh package_name 选项与参数: -i:install 的意思 -v:查看更详细的安装信息画面 -h:以安装信息列表显示安装进度 范例一:安装原版光盘上的 rp-pppoe 软件 rpm -ivh /mnt/Packages/rp-pppoe-3.11-5.el7.x86_64.rpm 范例二:一次安装多个软件 rpm -ivh a.i386.rpm b.i386.rpm *.rpm 范例三:直接由网络上的某个文件安装,以网址来安装 rpm -ivh http://website.name/path/pkgname.rpm

RPM安装时常用的选项与参数说明

可下达的选项 代表意义 --nodeps 使用时机:当发生软件属性相依问题而无法安装,但你执意安装时

危险性:软件会有相依性的原因是因为彼此会使用到对方的机制或功能,如果强制安装而不考虑软件的属性相依, 则可能会造成该软件的无法正常使用! --replacefiles 使用时机:如果在安装的过程当中出现了『某个文件已经被安装在你的系统上面』的信息, 又或许出现版本不合的讯息 (confilcting files) 时,可以使用这个参数来直接覆盖文件。

危险性:覆盖的动作是无法复原的!所以,你必须要很清楚的知道被覆盖的文件是真的可以被覆盖喔!否则会欲哭无泪! --replacepkgs 使用时机:重新安装某个已经安装过的软件!如果你要安装一堆 RPM 软件文件时,可以使用 rpm -ivh *.rpm ,但若某些软件已经安装过了, 此时系统会出现『某软件已安装』的信息, 导致无法继续安装。此时可使用这个选项来重复安装喔! --force 使用时机:这个参数其实就是 --replacefiles 与 --replacepkgs 的综合体! --test 使用时机:想要测试一下该软件是否可以被安装到使用者的 Linux 环境当中,可找出是否有 属性相依的问题。范例为:rpm -ivh pkgname.i386.rpm --test --justdb 使用时机:由于 RPM 数据库破损或者是某些缘故产生错误时,可使用这个选项来更新软件 在数据库内的相关信息。 --nosignature 使用时机:想要略过数字签名的检查时,可以使用这个选项。 --prefix 新路径 使用时机:要将软件安装到其他非正规目录时。举例来说,你想要将某软件安装到 /usr/local 而非正规的 /bin, /etc 等目录, 就可以使用『 --prefix /usr/local 』来处理了。 --noscripts 使用时机:不想让该软件在安装过程中自行执行某些系统指令。

说明:RPM 的优点除了可以将文件放置到定位之外,还可以自动执行一些前置作业的指令, 例如数据库的初始化。 如果你不想要让 RPM 帮你自动执行这一类型的指令,就加上他吧! 五、RPM 升级与更新(upgrade/freshen)

参数 差别 -Uvh 后面接的软件即使没有安装过,则系统将予以直接安装;若后面接的软件有安装过旧版,则系统自动更新至新版 -Fvh 如果后面接的软件并未安装到你的 Linux 系统上,则该软件不会被安装;亦及只有已安装到你 Linux 系统内的软件会被“升级” 六、RPM 查询(query)

rpm -qa <==已安装软件 rpm -q[licdR] <==已安装软件 rpm -qf 存在于系统上面的某个文件名 <==已安装软件 rpm -qp[licdR] 未安装的某个文件名称 <==查阅 RPM 文件 参数: 查询已安装软件的信息: -q :仅查询,后面接的软件名称是否有安装; -qa :列出所有的已经安装在本机 Linux 系统上面的所有软件名称; -qi :列出该软件的详细信息,包含开发商、版本与说明等; -ql:列出该软件所有的文件与目录所在完整文件名; -qc :列出该软件的所有设置文件; -qd :列出该软件的所有帮助文件; -qR :列出该软件有关的依赖软件所含的文件; -qf :由后面接的文件名称找出该文件属于哪一个已安装的软件

七、卸载 RPM 与重建数据库

卸载: rpm -e 软件名称 重建数据库: rpm --rebuilddb

八、yum 在线升级机制

rpm安装包怎么解析(软件安装RPMSRPM)(3)

查询功能

如果想要利用 yum 来查询原版 distribution 所提供的软件,或已知某软件的名称,想知道该软件的功能, 可以利用 yum 相关的参数为:

yum [option] [查询工作项目] [相关参数] 参数: [option]:主要的参数,包括有: -y :当 yum 要等待用户输入时,这个选项可以自动提供 yes 的响应; --installroot=/some/path:将该软件安装在/some/path 中而不使用默认路径 [查询工作项目] [相关参数]:这方面的参数有: search:搜寻某个软件名称或者是描述 (description) 的重要关键字; list:列出目前 yum 所管理的所有的软件名称与版本,有点类似 rpm -qa; info:同上,不过有点类似 rpm -qai 的执行结果; provides:从文件去搜寻软件!类似 rpm -qf 的功能! 范例一:搜寻磁盘阵列 (raid) 相关的软件有哪些? [root@www ~]# yum search raid 已加载插件:fastestmirror, langpacks Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast Loading mirror speeds from cached hostfile * epel: mirror01.idc.hinet.net ============================================================ N/S matched: raid ============================================================= dmraid.x86_64 : dmraid (Device-mapper RAID tool and library) dmraid.i686 : dmraid (Device-mapper RAID tool and library) dmraid-devel.x86_64 : Development libraries and headers for dmraid. dmraid-events-logwatch.x86_64 : dmraid logwatch-based email reporting kmod-redhat-megaraid_sas.x86_64 : megaraid_sas module for Driver Update Program. libstoragemgmt-megaraid-plugin.noarch : Files for LSI MegaRAID support for libstoragemgmt dmraid-events.x86_64 : dmevent_tool (Device-mapper event tool) and DSO iprutils.x86_64 : Utilities for the IBM Power Linux RAID adapters mdadm.x86_64 : The mdadm program controls Linux md devices (software RAID arrays) snapraid.x86_64 : Disk array backup for many large rarely-changed files 名称和简介匹配 only,使用“search all”试试。 # 在冒号 (:) 左边的是软件名称,右边的则是在 RPM 内的 name 设定 (软件名) # 瞧!上面的结果,这不就是与 RAID 有关的软件吗?如果想了解 mdadm 的软件内容呢? 范例二:找出 mdadm 这个软件的功能为何 [root@www ~]# yum info mdadm 已加载插件:fastestmirror, langpacks Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast Loading mirror speeds from cached hostfile * epel: mirror01.idc.hinet.net 已安装的软件包 名称 :mdadm 架构 :x86_64 版本 :3.3.2 发布 :7.el7_2.1 大小 :928 k 源 :installed 来自源:updates 简介 : The mdadm program controls Linux md devices (software RAID arrays) 网址 :http://www.kernel.org/pub/linux/utils/raid/mdadm/ 协议 : GPLv2 描述 : The mdadm program is used to create, manage, and monitor Linux MD (software : RAID) devices. As such, it provides similar functionality to the raidtools : package. However, mdadm is a single program, and it can perform : almost all functions without a configuration file, though a configuration : file can be used to help with some common tasks. 可安装的软件包 名称 :mdadm 架构 :x86_64 版本 :3.4 发布 :14.el7_3.1 大小 :415 k 源 :updates/7/x86_64 简介 : The mdadm program controls Linux md devices (software RAID arrays) 网址 :http://www.kernel.org/pub/linux/utils/raid/mdadm/ 协议 : GPLv2 描述 : The mdadm program is used to create, manage, and monitor Linux MD (software : RAID) devices. As such, it provides similar functionality to the raidtools : package. However, mdadm is a single program, and it can perform : almost all functions without a configuration file, though a configuration : file can be used to help with some common tasks. 范例三:列出 yum 服务器上面提供的所有软件名称 [root@www ~]# yum list 范例四:列出目前服务器上可供本机进行升级的软件有哪些? [root@www ~]# yum list updates 范例五:列出提供 passwd 这个文件的软件有哪些 [root@www ~]# yum provides passwd

安装/升级功能

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

移除功能

yum remove 软件名称

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页