13.1,2 rpm

  1. 如果我们下载的是 SRPM ,那么要安装该软件时,你就必须要:
  2. 先将该软件以 RPM 管理的方式编译,此时 SRPM 会被编译成为 RPM 文件;
  3. 然后将编译完成的 RPM 文件安装到 Linux 系统当中
  • rp-pppoe -        3.1    -     5        .i386        .rpm
    软件名称   软件的版本资讯 释出的次数 适合的硬件平台 扩展名
    
  • 受惠於目前 x86 系统的支持方面,新的 CPU 都能够运行旧型 CPU 所支持的软件,也就是说硬件方面都可以向下兼容的,因此最低等级的 i386 软件可以安装在所有的 x86 硬件平台上面,不论是 32 位还是 64 位。但是反过来说就不行了。
RPM 有以下的优点:
  • RPM 内含已经编译过的程序与配置档等数据,可以让使用者免除重新编译的困扰;
  • RPM 在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装;
  • RPM 文件本身提供软件版本资讯、相依属性软件名称、软件用途说明、软件所含文件等资讯,便於了解软件;
  • RPM 管理的方式使用数据库记录 RPM 文件的相关参数,便於升级、移除、查询与验证。

CentOS 先将释出的软件放置到 YUM 服务器内,然后分析这些软件的相依属性问题,将软件内的记录资讯写下来 (header)。然后再将这些资讯分析后记录成软件相关性的清单列表。这些列表数据与软件所在的位置可以称呼为容器 (repository)。当用户端有软件安装的需求时,用户端主机会主动的向网络上面的 yum 服务器的容器网址下载清单列表,然后透过清单列表的数据与本机 RPM 数据库已存在的软件数据相比较,就能够一口气安装所有需要的具有相依属性的软件了。整个流程可以简单的如下图说明:



例题:

在没有网络的前提下,你想要安装一个名为 pam-devel 的软件,你手边只有原版光盘,该如何是好?
答:你可以透过挂载原版光盘来进行数据的查询与安装。请将原版光盘放入光驱,底下我们尝试将光盘挂载到 /media 当中,并据以处理软件的下载罗:
  • 挂载光盘,使用: mount /dev/cdrom /media
  • 找出文件的实际路径:find /media -name 'pam-devel*'
  • 测试此软件是否具有相依性: rpm -ivh pam-devel... --test
  • 直接安装: rpm -ivh pam-devel...
  • 卸载光盘: umount /dev/cdrom
    -Uvh后面接的软件即使没有安装过,则系统将予以直接安装;若后面接的软件有安装过旧版,则系统自动升级至新版;
    -Fvh如果后面接的软件并未安装到你的 Linux 系统上,则该软件不会被安装;亦即只有已安装至你Linux 系统内的软件会被『升级』!

若环境检查合格了,那么 RPM 文件就开始被安装到你的 Linux 系统上。安装完毕后,该软件相关的资讯就会被写入/var/lib/rpm/ 目录下的数据库文件中了。



因为安装软件是 root 的工作,因此你得要是 root 的身份才能够操作 rpm 这命令的。


[root@www ~]# rpm -qa                              <==已安装软件
[root@www ~]# rpm -q[licdR] 已安装的软件名称       <==已安装软件
[root@www ~]# rpm -qf 存在於系统上面的某个档名     <==已安装软件
[root@www ~]# rpm -qp[licdR] 未安装的某个文件名称  <==查阅RPM文件
选项与参数:
查询已安装软件的资讯:
-q  :仅查询,后面接的软件名称是否有安装;
-qa :列出所有的,已经安装在本机 Linux 系统上面的所有软件名称;
-qi :列出该软件的详细资讯 (information),包含开发商、版本与说明等;
-ql :列出该软件所有的文件与目录所在完整档名 (list);
-qc :列出该软件的所有配置档 (找出在 /etc/ 底下的档名而已)
-qd :列出该软件的所有说明档 (找出与 man 有关的文件而已)
-qR :列出与该软件有关的相依软件所含的文件 (Required 的意思)
-qf :由后面接的文件名称,找出该文件属於哪一个已安装的软件;
查询某个 RPM 文件内含有的资讯:
-qp[icdlR]:注意 -qp 后面接的所有参数以上面的说明一致。但用途仅在於找出
	    某个 RPM 文件内的资讯,而非已安装的软件资讯!注意!


[root@www ~]# rpm
 
 
  • S :(file Size differs) 文件的容量大小是否被改变
  • M :(Mode differs) 文件的类型或文件的属性 (rwx) 是否被改变?如是否可运行等参数已被改变
  • 5 :(MD5 sum differs) MD5 这一种指纹码的内容已经不同
  • D :(Device major/minor number mis-match) 装置的主/次代码已经改变
  • L :(readLink(2) path mis-match) Link 路径已被改变
  • U :(User ownership differs) 文件的所属人已被改变
  • G :(Group ownership differs) 文件的所属群组已被改变
  • T :(mTime differs) 文件的创建时间已被改变
-Va [root@www ~]# rpm -V 已安装的软件名称 [root@www ~]# rpm -Vp 某个 RPM 文件的档名 [root@www ~]# rpm -Vf 在系统上面的某个文件 选项与参数: -V :后面加的是软件名称,若该软件所含的文件被更动过,才会列出来; -Va :列出目前系统上面所有可能被更动过的文件; -Vp :后面加的是文件名称,列出该软件内可能被更动过的文件; -Vf :列出某个文件是否被更动过~


当你要安装一个 RPM 文件时:

  1. 首先你必须要先安装原厂释出的公钥文件;
  2. 实际安装原厂的 RPM 软件时, rpm 命令会去读取 RPM 文件的签章资讯,与本机系统内的签章资讯比对,
  3. 若签章相同则予以安装,若找不到相关的签章资讯时,则给予警告并且停止安装喔。

rpm --rebuilddb   <==重建数据库






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值