关于CentOS下RPM的一些实例
rpm -ivh MySQL-server-5.6.10-1.el6.i686.rpm #安装MySQL
rpm -ivh --test MySQL-server-5.6.10-1.el6.i686.rpm #检查安装MySQL
解析:-i 等同于 --install,即安装,语法结构为 rpm {-i | --install} [install-options] package_file;
-v 显示安装信息;
-h 显示安装进度。
--nodeps | 当遇到软件依赖于其它软件而无法安装时,可强制安装 |
--replacefiles | 在安装过程中,如果遇到某个文件已经存在的情况,可直接覆盖 |
--replacepkgs | 如果软件已经安装过,可使用该选项重复安装 |
--force | 强制安装,已存在的文件会被覆盖,已安装过的软件会重新安装 |
--test | 测试安装,不会真实安装软件,而指示检查安装过程 |
--justdb | 只更新rpm数据库,当rpm数据库损坏时可使用该选项重新生成相关信息 |
--nosignature | 略过数字签名的检查 |
--prefix NEWPATH | 将软件安装到指定的目录 |
--noscripts | 禁止安装过程中自行执行系统指令 |
... | ... |
rpm -Uvh MySQL-server-5.6.10-1.el6.i686.rpm #升级,如果MySQL未安装过则安装,如果MySQL已安装过则升级
rpm -Fvh MySQL-server-5.6.10-1.el6.i686.rpm #更新,如果MySQL未安装过则忽略,如果MySQL已安装过则升级
解析:-U 等同于 --upgrade,语法结构为 rpm {-U | --upgrade} [install-options] package_file;
-F 等同于 --freshen,语法结构为 rpm {-F | --freshen} [install-options] package_file
rpm -e MySQL-server-5.6.10-1.el6.i686.rpm #卸载
解析:-e 等同于 --erase,语法结构为 rpm {-e | --erase} [erase-options] package_name
rpm -qa | grep rpm #查询所有已安装的软件包
解析:-q 等同于 --query,即查询,语法结构为 rpm {-q | --query} [select-options] ...
rpm -qf /etc/rpm #查询文件 /etc/rpm 所属的程序包
解析:-f 等同于 --file
rpm -qc rpm | head #查询rpm的所有配置文件
解析:-c 等同于 --configfiles
rpm -qd rpm | tail #查询rpm的所有说明文档
解析:-d 等同于 --docfiles
rpm -qi rpm #查询rpm的基本信息
解析:-i 等同于 --info
rpm -ql rpm | head #查询与rpm相关的所有文件
解析:-l 等同于 --list
rpm -qR man #查询man所需的程序包
解析:-R 等同于 --requires
rpm -qpR MySQL-server-5.6.10-1.el6.i686.rpm #查询MySQL安装包所依赖的软件包
解析:-p 等同于 --package,语法结构为 rpm -qp [select-options] package_file
rpm -Va #显示所有被改动过的文档
解析:L的意思是link路径已被改变,c是配置文件的意思。
第一列:S-文件的大小是否被改变;M-文档的类型或属性(rwx)是否被改变;5-MD5校验码是否被改变;D-设备的主次代码是否被改变;L-link路径是否被改变;U-文件所属用户是否被改变;G-文件所属用户组是否被改变;T-文件的创建时间是否被改变;P-文件的容量是否被改变。
第二列:c-配置文件;d-文档文件;g-幽灵文件,即该文件不被任何软件所包含;l-许可文件;r-自述文件
rpm -Vp MySQL-server-5.6.10-1.el6.i686.rpm | tail#列出MySQL安装包中可能被改动过的文件
rpm -Vf /etc/crontab #检查文件是否被改动过
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #导入密钥文件
rpm --rebuilddb #重建rpm数据库
相关阅读: