RPM 默认安装的路径
/etc |
一些设置文件放置的目录,例如 /etc/crontab |
/usr/bin |
一些可执行文件 |
/usr/lib |
一些程序使用的动态函数库 |
/usr/share/doc |
一些基本的软件使用手册与帮助文档 |
/usr/share/man |
一些 man page 文件 |
RPM 安装
如果要安装一个文件名为 rp-pppoe-3.5-32.1.i386.rpm 的文件,只需这样:
[root@www ~]# rpm -i rp-pppoe-3.5-32.1.i386.rpm
说明:
rp-pppoe - 3.5 - 32 .i386 .rpm
软件名称 软件的版本信息 发布的次数 适合的硬件平台 扩展名
显示安装进度
[root@www ~]# rpm -ivh package_name
选项与参数:
-i :install 的意思
-v :查看更详细的安装信息画面
-h :以安装信息栏显示安装进度
范例一:找出你的 Linux 是否有安装 logrotate 这个软件
[root@www ~]# rpm -q logrotate
logrotate-3.7.4-8
[root@www ~]# rpm -q logrotating
package logrotating is not installed
# 注意到,系统会去找是否有安装后面接的软件名称。注意,
# 不必要加上版本。至于显示的结果,一看就知道有没有安装。
范例二:列出上题当中,属于该软件所提供的所有目录与文件:
[root@www ~]# rpm -ql logrotate
/etc/cron.daily/logrotate
/etc/logrotate.conf
....(以下省略)....
# 可以看出该软件到底提供了多少的档桉与目录,也可以追踪软件的资料。
范例三:列出 logrotate 这个软件的相关说明资料:
[root@www ~]# rpm -qi logrotate
Name : logrotate Relocations: (not relocatable)
Version : 3.7.4 Vendor: CentOS
Release : 8 Build Date: Sun 02 Dec 2007 08:38:06 AM CST
Install Date: Sat 09 May 2009 11:59:05 PM CST Build Host: builder6
Group : System Environment/Base Source RPM: logrotate-3.7.4-8.src.rpm
Size : 53618 License: GPL
Signature : DSA/SHA1, Sun 02 Dec 2007 09:10:01 AM CST, Key ID a8a447dce8562897
Summary : Rotates, compresses, removes and mails system log files.
Description :
The logrotate utility is designed to simplify the administration of
log files on a system which generates a lot of log files. Logrotate
allows for the automatic rotation compression, removal and mailing of
log files. Logrotate can be set to handle a log file daily, weekly,
monthly or when the log file gets to a certain size. Normally,
logrotate runs as a daily cron job.
Install the logrotate package if you need a utility to deal with the
log files on your system.
# 列出该软件的 information (资讯),里面的信息可多着呢,包括了软件名称、
# 版本、开发商、SRPM文件名称、打包次数、简单说明信息讯、软件打包者、
# 安装日期等!如果想要详细的知道该软件的资料,用这个参数来了解一下
范例四:分别仅找出 logrotate 的设定文件与说明文件
[root@www ~]# rpm -qc logrotate
[root@www ~]# rpm -qd logrotate
范例五:若要成功安装 logrotate ,他还需要什么文件的帮忙?
[root@www ~]# rpm -qR logrotate
/bin/sh
config(logrotate) = 3.7.4-8
libc.so.6
....(以下省略)....
范例六:由上面的范例五,找出 /bin/sh 是那个软件提供的?
[root@www ~]# rpm -qf /bin/sh
bash-3.2-21.el5
# 这个参数后面接的可是『文件』!不像前面都是接软件!
# 这个功能在查询系统的某个文件属于哪一个软件所有的。
范例七:假设我有下载一个 RPM 文件,想要知道该文件的需求文件,该如何办?
[root@www ~]# rpm -qpR filename.i386.rpm
# 加上 -qpR ,找出该文件需求的数据!
RPM 卸载与重建数据库
# 1. 找出与 pam 有关的软件名称,并尝试删除 pam 这个软件:
[root@www ~]# rpm -qa | grep pam
pam-devel-0.99.6.2-3.27.el5
pam_passwdqc-1.0.2-1.2.2
pam_pkcs11-0.5.3-23
pam_smb-1.1.7-7.2.1
pam-0.99.6.2-3.27.el5
pam_ccreds-3-5
pam_krb5-2.2.14-1
[root@www ~]# rpm -e pam
error: Failed dependencies: <== 发生软件依赖导致无法删除某些软件
libpam.so.0 is needed by (installed) coreutils-5.97-14.el5.i386
libpam.so.0 is needed by (installed) libuser-0.54.7-2.el5.5.i386
....(以下省略)....
# 2. 若仅删除 pam-devel 这个之前范例安装上的软件呢?
[root@www ~]# rpm -e pam-devel <==不会出现任何信息!
[root@www ~]# rpm -q pam-devel
package pam-devel is not installed
由于 RPM 文件常常会安装/删除/升级等,某些操作或许可能会导致 RPM 数据库 /var/lib/rpm/ 内的文件损坏。
[root@www ~]# rpm --rebuilddb <==重建数据库
上一篇:Linux 的软件管理器
下一篇:Linux 下的软件管家 YUM
没有评论:
发表评论