rpm用法

来源:互联网 发布:modbus tcp c编程实例 编辑:程序博客网 时间:2024/05/01 09:40

在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。此工具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借用。由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。下面就给大家介绍一下它的具体使用方法。

  1.我们得到一个新软件,在安装之前,一般都要先查看一下这个软件包里有什么内容,假设这个文件是:Linux-1.4-6.i368.rpm,我们可以用这条命令查看:

  rpm -qpi Linux-1.4-6.i368.rpm

  系统将会列出这个软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。

  2.上面列出的所有文件在安装时不一定全部安装,就像Windows下程序的安装方式分为典型、完全、自定义一样,Linux也会让你选择安装方式,此时我们可以用下面这条命令查看软件包将会在系统里安装哪些部分,以方便我们的选择:

  rpm -qpl Linux-1.4-6.i368.rpm

  3.选择安装方式后,开始安装。我们可以用rpm-ivh Linux-1.4-6.i368.rpm命令安装此软件。在安装过程中,若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命令,可以在 -ivh后加一参数“-replacepkgs”:

  rpm -ivh -replacepkgs Linux-1.4-6.i368.rpm

  4.有时我们卸载某个安装过的软件,只需执行rpm-e <文件名>命令即可。

  5.对低版本软件进行升级是提高其功能的好办法,这样可以省去我们卸载后再安装新软件的麻烦,要升级某个软件,只须执行如下命令:rpm -uvh <文件名>,注意:此时的文件名必须是要升级软件的升级补丁

  6.另外一个安装软件的方法可谓是Linux的独到之处,同时也是RMP强大功能的一个表现:通过FTP站点直接在线安装软件。当找到含有你所需软件的站点并与此网站连接后,执行下面的命令即可实现在线安装,譬如在线安装Linux-1.4-6.i368.rpm,可以用命令:

  rpm -i ftp://ftp.pht.com/pub/linux/redhat/...-1.4-6.i368.rpm

  7.在我们使用电脑过程中,难免会有误操作,若我们误删了几个文件而影响了系统的性能时,怎样查找到底少了哪些文件呢?RPM软件包提供了一个查找损坏文件的功能,执行此命令:rpm -Va即可,Linux将为你列出所有损坏的文件。你可以通过Linux的安装光盘进行修复。

  8.Linux系统中文件繁多,在使用过程中,难免会碰到我们不认识的文件,在Windows下我们可以用“开始/查找”菜单快速判断某个文件属于哪个文件夹,在Linux中,下面这条命令行可以帮助我们快速判定某个文件属于哪个软件包:

  rpm -qf <文件名>

  9.当每个软件包安装在Linux系统后,安装文件都会到RPM数据库中“报到”,所以,我们要查询某个已安装软件的属性时,只需到此数据库中查找即可。注意:此时的查询命令不同于1和8介绍的查询,这种方法只适用于已安装过的软件包!命令格式:

  rpm -参数 <文件名>

 

 

**************************************************************

 

首先我要阅读软件包内容的信息(选项):
rpm -qpi my_new_file.rpm

该行查询(模式"q", 必须在破折号后第一个字母)尚未安装的软件包 (选项"p") 以便显示
该软件包所包含的信息 (选项 "i") .目如果我想安装该程序, 我(作为超级用户)运行:
rpm -ihv my_new_file.rpm
上面的命令安装了该组件.运行 rpm 来安装该组件(模式 "i",必须是在破折号后第一个字
母), 此时屏幕上显示比平常更多的信息(选项"h"=显示 "hashes" 来展现解包过程, 选项
"v" =详细). 软件包内容放到了它们所在的目录下 (rpm 知道它们的位置). 安装后, 准
备运行, 我得知道可执行文件的名字和位置. 如果找不到可执行文件, 下面一行列出了软
件包所包含的所有文件和它们所在的目录:
rpm -qpl my_new_file.rpm
该行查询(模式"q")尚未安装的软件包 (选项"p") 以便显示该软件包所包含的所有文件清
单(选项 "l").

解决方法:不安装,仅需升级
该软件包.
rpm -Uvh my_new_file.rpm


rpm –qf a_file
查找文件“a_file”所属的已安装的软件包。如果你偶然删除了一个文件,现在需要找到正确的软
件包来重新安装,这个命令很有用。

rpm –qi package_name

查询已安装的软件包,显示其自身的信息。请注意,请注意在软件包名称最后没有“-
version.platform.rpm”

rpm –qai | more
查询并显示系统上安装的所有的软件包的信息。在我的简单的系统上,我安装了大约600 多个软件
包,很显然,我必须花很多时间来阅读它们的信息。要查一下你的软件包的数量,试试:
rpm –qa | grep –c ‘’
要找出一个指定的软件包,试:
rpm –qa | grep –I the_string_to_find
(选项 –i 使grep 命令忽略了字符的大小写,所以无论是大写,还是小写,都会匹配的)

删除用rpm安装后的文件:

先找到安装好的rpm文件

rpm -qa installe

installered       (安装后的文件名)

删除

rpm -e installered

如果我从网上所下载的是一个已压缩的tarball(*.tar.gz or *.tgz )形式的Linux 源代
码,安装步骤比二进制的rpm 更长更棘手.我作为超级用户来安装该程序.
首先,我改变我当前的工作目录到/usr/local :
cd /usr/local
其次, 我将我从网上下载的 tarball 解压:
tar -xvzf /home/the_dir_where_the_tarball_is/my_tarball.tar.gz
这选取了 (选项 "x") *.tar.gz (or *.tgz) tarball 的内容, 解压它 (选项 "z"),同时
给我比平常更多的信息 (选项"v" = 详细). 请注意选项"f"是指"file", 所以字母"f"后面
要紧跟着文件名. Tarball 的内容被释放到在我的当前目录下的由tar 创建的子目录里.
典型的例/usr/local/. 该tarball 知道新的子目录的名字.
如果 tarball 未被压缩(比如, *.tar), 我可以用:
tar -xvf /home/the_dir_where_the_tarball_is/my_tarball.tar
第三, 我要知道新目录的名称, 然后用cd 进入:
dir
cd the_new_program_subdir
因为有些目录的名字很长, 我使用autocompletion 选项来节省键盘输入时间—我只要输
入头几个字母再按下 .
第四, 通过执行下面的三条命令能编译大多数程序:
./configure
make
make install
上面的命令要花点时间完成(1 分钟?0.5 小时?). 如果上面命令的任意一个运行失败, 可以
读README 或 INSTALL 或任何该程序所提供的信息. 一些程序要求环境的定制(如路径的
定义)或额外库文件的安装, 或其它.有时这是痛苦的事.很简单的程序可能不需要
"./configure" 或/和 "make install" 步骤, 在此情况下"make"将单独工作.
第五, 如果运行正常, 我可以发现我刚刚编译的新的可执行文件.当运行以下命令时,该可
执行文件的名字显示绿色:

ls --color
现在, 我能运行这个可执行文件, 例如:
./the_executable
一些程序自动将可执行文件安装到/usr/local/bin 目录下,所以我可以试着:
/usr/local/bin/the_executable
第六, 如果我想更频繁运行这个程序, 我从/usr/local/bin 目录创建一个到该可执行文
件的软连接:
cd /usr/local/bin
ln -s /usr/local/the_new_program_subdir/the_executable    ./executable