“ rpm”包和“rpm ”命令

 在我们使用任何操作系统的过程中,安装和卸载软件是必须的操作。Linux 中有一套包管理器,称为 rpm
。它可以用来安装、查询、校验、删除、更新 rpm 格式的软件包。通常 rpm 格式的软件包文件使用 .rpm 为
扩展名。rpm 包虽然是软件的安装包,但不像 Windows 中的安装文件双击就能运行。Linux 中有一个称为 rpm
的命令可使用多种参数来完成对 rpm 软件包的安装、查询、校验、删除、更新的工作。
  我们先来了解一下怎样使用 rpm 命令安装 rpm 包。具体格式为:rpm -i <文件路径><文件名>。注意区
分大小写,-i 参数就是让 rpm 命令执行安装后面列出的 rpm 包文件。现在我们用 Linux 版的 nero 来示范一
下。


  用红线圈起的位置是安装后给出的提示信息。在很多其它一些 rpm 包安装后是什么也没有的。如果是比较
大的软件包安装需要一阵子,我们要是想看到安装进度该怎么做呢?我们需要另外两个参数,就是 -v 和 -h。-v
参数会显示 rpm 包的真实名称,需要注意很多情况下不是文件名。而且我们很有可能为了便于记忆而把下载的
文件改名不是吗?-h 参数就是用来显示安装进度的。现在我们来实际操作一下。

  那些“#”号就表示进度,当后面的的百分比数字走到 100% 时表示安装完成。而用红线圈起的字符就是
这个 rpm 包的名称,是不是与文件名不一样呢?
  我们继续了解一下如何更新,或者说升级 rpm 软件包。那就需要用到 -U 参数,这里仍然需要区分大小写
。更新软件包大家应该都清楚,就是当同名的软件包有新版时可以升级对吧。但如果我们使用相同版本覆盖已
安装的软件是不是也可以呢?特别是在已安装的软件损坏的情况下。其实我们如果用 -U 参数替代 -i 参数也完
全可以。现在来看一下使用 -U 参数全新安装 rpm 包是什么情况吧。

  接着我们看看在已安装相同 rpm 包的情况下使用 -U 参数安装会出现什么。

   
  我们刚才已经在“红旗 5.0”中安装了 Linux 版的 nero 软件,是不是要看看系统中倒底有没有安装这个
rpm 包呢?这就要用到 rpm 命令的查询功能,-q 参数。我们刚才安装 Linux 版的 nero 时使用 -v 参数知道了这
个 rpm 的名称是 nerolinux,现在请尝试使用命令:rpm -q nerolinux。

  哇,有了有了。它还在“开始”-->“设置”菜单中建立了快捷方式(它在 Fedora Core3 系统中也会建立
快捷方式)。
  但是还是有很多 rpm 包安装的软件没有快捷方式。我们怎么才能知道它们被安装到哪里了呢?。我们在 -q
参数后面跟一个 -l 参数可以列出 nerolinux 包中的文件的安装位置。
  终端很快就返回了结果,真是不少啊!喔,那位朋友说如果我不记得 rpm 包的真实名称该怎么办呢?-q 还
有一个辅助的参数 a 可以返回系统当前所有已安装的 rpm 包。请尝试在终端中输入命令:rpm -qa。

  这位朋友又说了,这些也太多了,得找半天哪。有没有快点的办法。这个嘛!也许您总还记得一两个字母
吧,比如您还记得它第一个字母是 n。rpm 的查询功能支持通配符,我们试试看在终端中键入命令:rpm -qa
n*。是否能缩小查询范围,获得所有第一个字母是 n 的 rpm 软件包。

  看看结果出来了。我们确实只获得了第一个字母是 n 的 rpm 软件包。
  接着我们有时会发现某个软件运行时不太正常了,是不是损坏了呢?这时 rpm 命令的校验参数 -V 就非常
有用了。同时也有其它参数用来辅助 -V 参数。如果一切校验正常不会产生任何输出,如果有不同的地方就会
显示。输出格式是长度为 8 的字符串。c 用来指配置文件,接着是文件名。每一个字符用来表示文件与 rpm 数
据库中一种属性的验证结果。“.”表示通过,而以下字符表示相关验证失败。
  5:MD5 校验码
   S:文件尺寸
   L:符号链
   T:文件修改日期
   D:设备
   U:用户
   G:用户组
   M:模式 e (包括文件权限和类型)
  可以想像一下,如果 Windows 系统中我们也能获得这些文件信息。就很容易找到被恶意篡改的文件,从
而捕获非法程序。
  如果要验证所有已安装了软件包可以在 -V 参数后加 -a 参数。但通常不必要,因为可能需要花费相当长的
时间。命令如下:rpm -Va

  另外我们还可以根据 rpm 包文件来验证某个 rpm 安装。请尝试使用命令:rpm -Vp <文件路径><文件名>
。我们还是使用 Linux 版的 nero 为例吧。请尝试输入命令:rpm -Vp /mycomputer/WinE/LinuxSoft/多媒体
/Nero刻录软件/nerolinux-2.0.0.2-x86.rpm。请朋友们把后面的文件路径和名称替换成与自己实际情况相符的。

  嗯!什么输出也没有,看起来一切正常嘛!最后我们要学习如何卸载 rpm 软件包。其实很简单,请尝试输
入命令:rpm -e nerolinux。nerolinux 是什么?天哪,怎么就忘了,我们刚才安装 Linux 版的 nero 软件时用 -v
参数获得的 rpm 包文件名呀!而 -e 参数用来让 rpm 命令卸载已安装的 rpm 包。
  已经卸载完成了。如果在执行卸载某些 rpm 软件包的命令后没有出现任何提示,直接出出提示符。那也证
明卸载操作成功完成。现在再次输入命令:rpm -qa n*,是不是已经找不到 Linux 版的 nero 软件包啦!
  最后要说明的是,我们在查询时看到 nerolinux 包的名称是 nerolinux-2.0.0.2-1。所以我们在命令中输入:
rpm -e nerolinux-2.0.0.2-1 同样能成功执行。

阅读更多
个人分类: UNIX+LINUX
想对作者说点什么? 我来说一句

rpm命令手册 rpm 命令手册

2010年04月12日 110KB 下载

apt-get命令安装包(rpm格式)

2009年10月07日 857KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭