Linux基础教程学习笔记14——安装和更新软件
1、RPM包的名称定义
vsftpd.3.0.2- 9. el7. x86_64.rpm
包名 版本 发行版本 架构
使用 rpm -qa 可以列出当前系统所有安装的包,使用rpm -ivh安装包
2、安装RPM安装包的实质
安装RPM包的实质是将包里面的相对应的文件拷贝复制到响应的根目录下面:
这里以Vsftpd这个RPM包为例子,使用以下命令解压出安装包的内容:
可以看到vsftpd的rpm包里面生成了etc,usr,var三个目录,安装vsftpd的时候,将把这三个目录复制到对应的etc,usr,var下面
[root@linuxidc xx]# ls
vsftpd-3.0.2-9.el7.x86_64.rpm
[root@linuxidc xx]# rpm2cpio vsftpd-3.0.2-9.el7.x86_64.rpm |cpio -id
707 blocks
[root@linuxidc xx]# ls
etc usr var vsftpd-3.0.2-9.el7.x86_64.rpm
通过rpm -ql 可以查看一个包安装的所有的内容和路径:
3、RPM命令的常用命令选项:
查询:
-qa:查看系统所有已安装包;
-ql:查看安装包的安装内容和路径;
-qc:查看安装包的配置文件;
-qd:查看安装包的帮助文档;
-qi:查看安装包;
-qf:查看某文件是由哪个安装包生成的;
-qip:查看安装包的信息和安装路径
-Uvh:更新:所谓的更新就是卸载旧的,再安装新包,普通的软件包,在系统中不能多版本共存,但是内核可以多版本共存;所以安装内核的时候,一般要使用rpm -ivh,千万不要使用Uvh,这样就不会卸载旧的内核,多内核共存;安装好内核之后,再卸载旧内核;
-e:卸载:
-V 报名:可以查看安装包生成的文件是否被修改过
--force选项:一般是包已经安装的情况下,但是又需要重新安装,可以使用--forece选项
--nodeps:忽略安装包的依赖;
4、安装包如果使用rpm -ivh直接安装的话,那么会生成一些脚本,通过rpm -qa 可以查询到该包装包,如果是通过直接将安装文件拷贝覆盖到对应文件夹的方式安装,则不能通过 rpm -qa 查询到
查看安装包执行了哪些脚本,使用--scripts选项:
[root@linuxidc etc]# rpm -q --scripts vsftpd
5、RMP包的数字签名
哈希函数加密的特点是加密后的内容长度是一样的,无论输入的内容长度。
数字签名,一般是私钥加密,公钥解密;
使用rpm -K命令可以查看包的数字签名是否正确,但是前提是你已经导入了红帽的公钥,要不然还是会提示MD5不匹配;
[root@linuxidc xx]# rpm -K vsftpd-3.0.2-9.el7.x86_64.rpm
vsftpd-3.0.2-9.el7.x86_64.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#fd431d51)
如果这时候安装包,会提示
导入红帽公钥:
[root@linuxidc xx]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-RedHat-release
这时候再验证rpm包,md5验证OK:
[root@linuxidc xx]# rpm -K vsftpd-3.0.2-9.el7.x86_64.rpm
vsftpd-3.0.2-9.el7.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
6、配置Yum安装源
配置文件放在/etc/yum.repos.d/路径下:
配置文件以.repo结尾,格式如下所示:
[mine]源名称
name=my repo 名字
baseurl= 源url地址
enable=1 是否启用
gpgcheck=0 是否启用数字签名验证
gpg key=file:///