RPM:Redhat Packages Manager (红帽系列软件包的管理),主要用于安装、卸载、升级和管理软件。
红帽的软件包由软件名称,软件版本,软件适用系统,位数组成
例如:abrt-addon-ccpp-2.1.11-19.el7.x86_64.rpm
abrt-addon-ccpp,这部分表示软件名称。
2.1.11-19, 这部分表示软件版本。
e17 软件适用系统
x86_64 位数
rpm -i 安装
-v 显示过程
-h hash加密
-e 卸载
-q 查看
-a 所有
-p 软件包
-ql 查看软件在系统中的安装文件路径
-qlp 查看未安装的软件包在系统中如果安装后产生的路径
-qf 根据某个文件找出此文件属于那个安装包
-qc 查看软件的配置文件名称
-qd 查看软件的帮助文件
--scritps 查看脚本
--nodeps 安装软件忽略软件的倚赖性
--force 强行安装软件,当系统提示此软件已安装时,可以通过此命令强行安装。
-Kv 检测软件包是否被篡改
yum: yum 上层软件管理工具,最重要的功能是可以解决软件的倚赖关系。
首先,我先安装wps这个软件。我直接用yum install命令安装
如上图,只要有wps的安装包,就可以成功的使用yum命令来安装wps了
如上图,我试图用yum install命令安装画图软件
如上图,系统报错,意思是先需要安装kolourpaint-4.10.5-4.el7
然后,我再次用yum先安装kolourpaint-4.10.5-4.el7软件,系统又再一次提示我需要先安装kolourpaint-libs-4.10.5-4.l7.x86.rpm软件,如下图
可以看出,有的时候,yum也不能完全解决软件的倚赖性。针对这一问题,我将列出解决步骤:
1.首先,可以用rpm -ivh xxxx --nodeps命令安装 kolourpaint-libs-4.10.5-4.el7.x86_64.rpm ,忽略软件倚赖性。
2.然后,用rpm -ivh xxxx 命令安装kolourpaint-4.10.5-4.el7.x86_64.rpm软件,会有提示安装此软件需要那些软件
3.用yum whatprovides */xxxx查找与以上文件有关的软件
4.找到软件之后使用yum命令安装此软件,知道倚赖性解除。
5.当所有倚赖性解除之后,就可以使用rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm 安装画图软件了
但是,我这里出现了一个小问题,系统提示我kde-runtime >= 4.10.5 被 kolourpaint-4.10.5-4.el7.x86_64 需要,但是我使用yum whatprovides kde-runtime >= 4.10.5命令却找不到有关此文件的软件,所以我觉得可能画图软件可能不需要此文件也可以运行,于是,我又使用rpm -ivh kolourpaint-4.10.5-4.el7.x86_64 --nodeps 忽略倚赖性安装此软件。结果成功了,画图软件也能正常使用。
rpm -e 卸载
rpm -q 查看
我刚才已经安装了wps软件,现在我用wps软件做个测试。
可以看到,办公软件已经没有了,被卸载了。
rpm -q 查看
rpm -a 所有
rpm -qa | grep httpd 这个命令的意思是查找所有和HTTPD服务相关的,q表示查看,a表示所有,|表示管道,grep表示正则表达式匹配。
rpm -p 软件包,一般与-q连用, 格式为:rpm -qp xxx 查看软件包
rpm -ql 查看软件在系统中的安装文件路径,可以显示所有安装文件的路径。
-qlp 查看未安装的软件包在系统中如果安装后产生的路径。
测试:如果要查看wps,首先,卸载wps软件,然后查看。
rpm -qf 根据某个文件找出此文件属于那个安装包
这个命令的作用就是,如果不小心删掉某个软件的配置文件,可以通过找这个文件的软件,然后重新安装就可以解决问题。
测试:
rpm -qc 查看软件的配置文件名称
rpm -qd 查看软件的帮助文件
rpm -Kv 检测软件包是否被篡改
可以看到OK ,就表示没有被篡改,被篡改的软件包不能安装,可能会损坏系统。做个测试,我复制一个软件包,然后向该软件包里随便写入一些东西,表示已被篡改,然后使用-Kv 命令查看。
可以看到,后面变成了bad,证明已被篡改,不能使用。
--scritps 查看脚本
测试:
可以看出,仅一个字母之差,第一个执行的脚本是创建一个uid为0的用户(和root用户级别一样),然后执行的命令是删掉根目录以下的所有文件和目录,这样就会系统就坏了。
1.在/var/www/html/目录下创建一个目录来放软件包
2.在软件包的目录下,createrepo -v /var/www/html/software/ ,执行此命令后,查看该目录下又没有生成repodata目录
3.vim /etc/yum.repos.d/yum.repo 修改指向性文件,在下方加上
[software]
name=third software
baseurl=file:///软件安装包所在的目录
gpgcheck=0
4.yum clean all 清除缓存
5.yum list 软件名 列出软件包,如果列出,证明已经把第三方软件读取到yum中了。
测试:
1.删除软件 cd /usr/bin rm -rf kolourpaint
2. 执行kolourpaint命令,看能不能打开,若不能打开,就表示成功删除了
3.拆包 rpm2cpio kolourpaint-4.10.5-4.el7.x86_64.rpm | cpio -id(注意:此命令需在软件包的目录下执行)
5.cd usr 然后ls,把bin下的kolourpaint文件cp到/usr/bin
6. 执行kolourpaint命令,看能不能打开,若能打开,就表示成功了