软件安装:RPM、SRPM 与 YUM 功能

一、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 文件里面含有源代码。
  两者区别如下:

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

  文件名的含义:

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

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

平台名称适合平台说明
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 在线升级机制

查询功能

  如果想要利用 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 软件名称
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值