8.1 使用 rpm 命令-安装-查看-卸载-rpm 软件包
8.1 软件包的管理
软件包的类型
rpm 二进制包------》已经使用 GCC 编译后的
rpm概述:RPM 是RedHat Package Manager(RPM 软件包管理器)的缩写,这一文件格式名称虽然打上了 RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、SUSE 以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
tar 源码包-----》需要编译
8.1.1 rpm 软件包的管理:
rpm 包的获取方式:
1. Centos 系统镜像光盘
2. 网站 rpmfind.net
3. 比如安装 mysql、nginx软件,可以去官网下载:http://www.mysql.com
rpm 包格式的说明:
rpm包格式的说明:# ls /mnt/Packages/zsh-5.0.2-28.el7.x86_64.rpm
zsh -5. 0. 2- 28. el7. x86_64.rpm
软件名 主版本号 次版本号 修订 release(第几次发布版本) 操作系统版本 软件包是64位包
#修订指是的第几次修改bug。 发布指的是:第几次发布。 发布时,可能只是对软件安装的默认参数做了修改,而没有其它改动。
8.1.2 安装 rpm 软件:
RPM 工具使用分为安装、查询、验证、更新、删除等操作
命令格式:rpm [参数] 软件包
参数:
-i 是install的意思,安装软件包
-v 显示附加信息,提供更多详情信息
-V 校验,对已经安装的软件进行校验
-h --hash 安装时输出####进度标记
注:rpm 使用时,什么情况下使用软件包全名,什么时候使用软件包?
全名:在安装和更新升级时候使用
包名:对已经安装过得软件包进行操作时,比如查找已经安装的某个包,卸载包等,使用包名。它默认是去目录/var/lib/rpm 下面进行搜索,当一个 rpm 包安装到系统上之后,安装信息通常会保存在本地的/var/lib/rpm/目录下
8.1.2.1 从本地安装rpm包
挂载本地镜像到/mnt : [root@52nanxion1 07:48:32 ~]#mount /dev/cdrom /mnt
[root@52nanxion1 07:48:32 ~]#ls /mnt
[root@52nanxion1 07:48:32 ~]#rpm -ivh /mnt/Packages/zsh-5.0.2-28.el7.x86_64.rpm
[root@52nanxion1 07:48:32 ~]#umount /dev/cdrom /mnt #取消挂载
8.1.2.2 从网上下载直接安装centos epel扩展源
例:
rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
#安装centos epel扩展yum源。 注:epel源是对centos7系统中自带的 base源的扩展。
8.1.3 安装 rpm 软件:
用法:rpm -q(query)常与下面参数组合使用
-a(all) 查询所有已安装的软件包
-f(file) 系统文件名(查询系统文件所属哪个软件包),反向查询
-i 显示已安装的 rpm 软件包信息,后面直接跟包名
-l(list) 查询软件包中文件安装的位置
-p 查询未安装软件包的相关信息,后面要跟软件的全名
-R 查询软件包的依赖性
查看安装了多少个包:
rpm -qa | wc -l
查看已安装的包:
rpm -q python
查看文件或命令属于哪个安装包:
rpm -qf /usr/bin/find
查看已安装的rpm包的详细信息或作用:
rpm -qi 包名
8.1.4 查看软件包内容是否被修改过:
rpm -V 包名
rpm -Vf 文件路径
问:查看系统中所有的rpm包及安装的文件有没有被黑客修改
注:检验是参考了 /var/lib/rpm 目录下的 rpm 数据库信息
8.1.5 rpm 包的升级和卸载:
卸载用法:rpm -e (erase) 包名
升级用法:rpm -Uvh 路径
8.1.6 解决 rpm 依赖关系: