-

Linux常用命令之rpm

Linux

rpm命令是Linux下RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理各项套件的程序,由于其功能非常的强大方便广受欢迎。逐渐其他发行版的也有采用,像CentOS。RPM套件管理方式的出现,让Linux的软件包易于安装,升级,管理,间接提升了Linux的适用度,但需要解决软件之间的依赖关系,需按顺序安装。

rpm参数:
查询/验证软件包选项:
-a, –all 查询/验证所有软件包
-f, –file 查询/验证文件属于的软件包
-g, –group 查询/验证组中的软件包
-p, –package 查询/验证一个软件包
–whatprovides 查询/验证提供相关依赖的软件包
–nomanifest 不把非软件包文件作为清单处理

查询选项(用 -q 或 –query):
-c, –configfiles 列出所有配置文件
-d, –docfiles 列出所有程序文档
-L, –licensefiles list all license files
–dump 转储基本文件信息
-l, –list 列出软件包中的文件
–queryformat=QUERYFORMAT 使用这种格式打印信息
-s, –state 显示列出文件的状态

验证选项(用 -V 或 –verify):
–nofiledigest 不验证文件摘要
–nofiles 不验证软件包中文件
–nodeps 不验证包依赖
–noscript 不执行验证脚本

安装/升级/擦除选项:
–allfiles 安装全部文件,包含配置文件,否则配置文件会被 跳过。
–allmatches 移除所有符合 <package>的软件包(如果 <package>被指定未多个软件包,常常会导致错误出现)
–badreloc 对不可重定位的软件包重新分配文件位置
-e, –erase=<package>+ 清除 (卸载) 软件包
–excludedocs 不安装程序文档
–excludepath=<path> 略过以 <path> 开头的文件
–force –replacepkgs –replacefiles 的缩写
-F, –freshen=<packagefile>+ 如果软件包已经安装,升级软件包
-h, –hash 软件包安装的时候列出哈希标记(和 -v 一起使用效果更好)
–ignorearch 不验证软件包架构
–ignoreos 不验证软件包操作系统
–ignoresize 在安装前不检查磁盘空间
-i, –install 安装软件包
–justdb 更新数据库,但不修改文件系统
–nodeps 不验证软件包依赖
–nofiledigest 不验证文件摘要
–nocontexts 不安装文件的安全上下文
–noorder 不对软件包安装重新排序以满足依赖关系
–noscripts 不执行软件包脚本
–notriggers 不执行本软件包触发的任何脚本
–nocollections 请不要执行任何动作集
–oldpackage 更新到软件包的旧版本(带 –force自动完成这一功能)
–percent 安装软件包时打印百分比
–prefix=<dir> 如果可重定位,便把软件包重定位到 <dir>
–relocate=<old>=<new> 将文件从 <old> 重定位到 <new>
–replacefiles 忽略软件包之间的冲突的文件
–replacepkgs 如果软件包已经有了,重新安装软件包
–test 不真正安装,只是判断下是否能安装
-U, –upgrade=<packagefile>+ 升级软件包

所有 rpm 模式和可执行文件的通用选项:
-D, –define=“MACRO EXPR” 定义值为 EXPR 的 MACRO
–undefine=MACRO undefine MACRO
-E, –eval=“EXPR” 打印 EXPR 的宏展开
–macros=<FILE:…> 从文件 <FILE:…>读取宏,不使用默认文件
–nodigest 不校验软件包的摘要
–nosignature 不验证软件包签名
–rcfile=<FILE:…> 从文件 <FILE:…>读取宏,不使用默认文件
-r, –root=ROOT 使用 ROOT 作为顶级目录 (default:”/”)
–dbpath=DIRECTORY 使用 DIRECTORY 目录中的数据库
–querytags 显示已知的查询标签
–showrc 显示最终的 rpmrc 和宏配置
–quiet 提供更少的详细信息输出
-v, –verbose 提供更多的详细信息输出
–version 打印使用的 rpm 版本号

rpm例子:

[cc lang=”bash” escaped=”true”]#rpm安装ipchains包,并显示详细进度
[root@Linux ~]# rpm -ivh ipchains-1.3.6-1.i386.rpm
#rpm在线安装
[root@Linux ~]# rpm -i http://xxx.xxx.xxx
#校验所有的rpm包,查找文件的丢失
[root@Linux ~]# rpm -Va
#查找一个文件属于哪个rpm包
[root@Linux ~]#rpm -qf /etc/httpd/conf/httpd.conf
#列出一个rpm包的描述信息
[root@Linux ~]# rpm -qpi vsftpd-2.2.2-12.el6_5.1.i686.rpm
#列出一个rpm包的文件信息
[root@Linux ~]# rpm -qpl vsftpd-2.2.2-12.el6_5.1.i686.rpm
#升级包
[root@Linux ~]# rpm -Uvh vsftpd-2.2.2-12.el6_5.1.i686.rpm
#移除安装包
[root@Linux ~]# rpm -e httpd
#查询安装的信息
[root@Linux ~]# rpm -qi php
Name : php
Version : 5.4.16
Release : 36.el7_1
Architecture: x86_64
Install Date: 2015年07月02日 星期四 08时52分29秒
Group : Development/Languages
Size : 4591798
License : PHP and Zend and BSD
Signature : RSA/SHA256, 2015年06月24日 星期三 11时03分20秒, Key ID 24c6a8a7f4a80eb5
Source RPM : php-5.4.16-36.el7_1.src.rpm
Build Date : 2015年06月24日 星期三 05时25分43秒
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://www.php.net/
Summary : PHP scripting language for creating dynamic web sites
Description :
PHP is an HTML-embedded scripting language. PHP attempts to make it
easy for developers to write dynamically generated web pages. PHP also
offers built-in database integration for several commercial and
non-commercial database management systems, so writing a
database-enabled webpage with PHP is fairly simple. The most common
use of PHP coding is probably as a replacement for CGI scripts.

The php package contains the module (often referred to as mod_php)
which adds support for the PHP language to Apache HTTP Server.[/cc]

来源:Linux常用命令之rpm

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注