欢迎各位兄弟 发布技术文章
这里的技术是共享的
可以见见 /node-admin/12343
1) 查询某软件包是否安装
[root@ebs-22618 ~]# rpm -qa | grep ssh
libssh2-1.4.2-2.el6_7.1.x86_64
openssh-clients-5.3p1-122.el6.x86_64
openssh-5.3p1-122.el6.x86_64
openssh-server-5.3p1-122.el6.x86_64
[root@ebs-22618 ~]#
2) 查询某软件包的(安装)信息,也可以查询是否已经安装 ( rpm -qi 包名称)
[root@ebs-22618 ~]# rpm -qi openssh
Name : openssh Relocations: (not relocatable)
.................................
[root@ebs-22618 ~]#
3) 查询指定包安装后生成的文件列表 (-l, --list List files in package 列出包中的文件的意 (rpm -ql 包名称 )
[root@ebs-22618 ~]# rpm -ql openssh
/etc/ssh
/etc/ssh/moduli
.................................
rpm -q PACKAGE_NAME 查询指定的包是否已安装 (包名 不是全名称 如 bind-9.7.1-1.el5.i686.rpm 那么PACKAGE_NAME 就是 bind) 查 (q就是查询 query)
rpm -qa:查询已安装的所有包 (a就是all 所有)
rpm -qi PACKAGE_NAME : 查询指定包的说明信息 (-i, --info 的意思)
rpm -ql PACKAGE_NAME : 查询指定包安装后生成的文件列表 (-l, --list List files in package 列出包中的文件的意思)
rpm -qc PACKAGE_NAME:查询指定包安装的配置文件 (c大约就是config的意思吧)
rpm -qd PACKAGE_NAME:查询指定包安装的帮助文件 (d大约就是document文档的意思吧)
rpm -q --scripts PACKAGE_NAME: 查询指定包中包含的脚本 (因为安装的时候,有时可能会执行一些脚本)
四类脚本 (安装前脚本,安装后脚本,卸载前脚本,卸载后脚本)
(安装前做的准备动作)(安装完成后收尾动作)(卸载前动作)(卸载后动作)
rpm -qf /path/to/somefile: 查询指定的文件是由哪个rpm包安装生成的
查询指定名称软件包是否安装 rpm -qi 包名称。
查询指定名称软件包的详细信息 rpm -ql 包名称
查询指定名称软件包包中所包括的文件列表 rpm-qf 包名称。
查询指定文件所属的软件包 rpm -qpi 包名称。
查询指定RPM包文件的详细信息r pm -qpl 包 名称。
rpm -qpi /PATH/TO/PACKAGE_FILE (查询尚未安装的软件包) (p表示package软件包吧,还是pre 未安装的意思,应该是package吧)(PACKAGE_FILE 是尚未安装的软件包的路径)
rpm -qpl /PATH/TO/PACKAGE_FILE
rpm -qpc /PATH/TO/PACKAGE_FILE (用得少)
rpm -qpd /PATH/TO/PACKAGE_FILE (用得少)
3) 本地安装 (-i|install 表示安装,-h|hash,表示有进度条显示)
[root@ebs-22618 ~]# rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm #本地需要有这个文件createrepo-0.4.11-3.el5.noarch.rpm,才能安装
error: open of createrepo-0.4.11-3.el5.noarch.rpm failed: 没有那个文件或目录
[root@ebs-22618 ~]#
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE 如果装有老版本的,则升级,否则,则安装(既能升级,又能安装)(-U|--upgrade 汉字翻译成升级 )
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE 如果装有老版本的,则升级,否则,则退出(仅能升级,不能安装) (-F|--freshen 汉字翻译成新鲜的 )
--oldpackage 降级(rpm -Uvh --oldpackage /PATH/TO/NEW_PACKAGE_FILE) (虽然叫升级 ,但升为低版本的了)
rpm -e PACKAGE_NAME (只要包名,不要全名全称) 卸载 ({-e|--erase} 抹去;清除;擦掉 就是卸载 )(如果被依赖是不允许卸载的,) (如果非要卸载的话,依赖就不能用了吧)
--nodeps 不依赖
rpm -V PACKAGE_NAME (就是verify校验) 校验 (校验可以检查文件是不是被非法改过了)
rpm -K /APT/TO/PACKAGE_FILE 验证红帽文件 (-K checksig)
dsa,gpg:验证来源合法性,也即验证签名 --nosignature 略过此项
sha1,md5:验证软件包完整性 --nodigest 略过此项