RHEL7 学习笔记(13) RPM 和 YUM
这一节和老师学习了软件包的使用
首先看看如何rpm的使用,这个命令可以用来查询,安装,卸载,更新软件包
简单的说,后面跟q是查询,i是安装,u是更新,e是卸载,V是验证,我们挨个来看看
首先是查询, -qa表示查询所有已经安装的包,如下所示
值得一提的是RPM本质是一个别人预先编译好的包,不同文件的路径已经事先配置好了。如果想查看一个安装包到底把文件安装到了哪些目录,可以通过cpio来解压查看
-ql可以查看已经安装的的软件包的相关路径
-qf可以通过文件的路径来查看是由什么软件包安装的
-q 有很多组合选项,看看
-qc 可以查看配置文件
-qlp可以查看包的信息
现在看看如何安装,常用的搭配是 -ivh,如下所示,注意他有个警告信息,这是为什么呢? 这是因为红帽的软件包都使用了数字签名,基本原理是A对一个随机值C生成哈希值D,然后用私钥加密D得到E,然后把加密过后的E和随机值C都发送给B,B用公钥解密E之后匹配随机值的哈希值D,看是否一致
因为本机上面尚未安装公钥,因为无法通过验证
我们也可以通过-K来验证
解决方式很简单,导入公钥就行了
导入之后测试一下警告已经没有了
接下来看看更新软件包 rpm -Uvh XXX
更新的本质是卸载旧版本,然后按照新版本。普通的软件包是不能多版本共存的,因此如果直接使用 -ivh安装最新版本的包,他会提示冲突,需要使用-Uvh更新才可以;
不过,内核可以多版本共存,因此更新内核的时候不可以用-Uvh,而是应该用-ivh
查看当前的内核
最后,看看-V 验证软件包,安装了一个软件包,之后可以通过-V来看看是否有文件被修改了
新装的ftp服务没有做任何修改
修改一下README
上面用RPM安装包有一个问题就是包的依赖,往往一个软件包还依赖于其他的软件包,如果一个个手动安装非常麻烦,如何解决呢,可以使用yum直接从指定的yum源服务器那里自动下载所有依赖的软件包
RedHat Linux---rpm 命令详解