这是一个数据库管理工具,能够经过读取数据库,判断软件是否已经安装,若是已经安装能够读取出来全部文件的所在位置等,并能够实现删除这些文件。数据库
rpm:RPM is Redhat Package Manager(递归缩写)vim
安装软件centos
卸载软件缓存
查询软件信息网络
升级、降级工具
检验url
打包程序spa
rpm仅仅能管理符合rpm格式的程序包,不能管理源码格式的程序code
格式:rpm -ivh 软件包名blog
选项
-i:安装软件
-v:显示安装过程
-h:用#表示安装进度(# 2%)
-vv:显示更详细的安装过程信息
-vvv:显示更更详细的安装过程信息
格式:rpm -e 软件名
选项:
-e:卸载软件
例子:卸载软件包ken
# rpm -e ken
格式:rpm -q 软件名
选项:
-q:查看一个已经安装的软件
-a:查看全部已经安装的软件all
-l:显示软件安装完成之后生成文件列表(全部文件)list
-i:查看软件包的相关信息 info
-d:显示该软件所生成的说明性质的文档列表docfiles
-c:查看软件所生成的配置文件列表configfiles
--scripts:查看软件相关的脚本
-f:以/bin/ls文件为例
[root@localhost ~]# rpm -qf /bin/ls coreutils-8.22-18.el7.x86_64
选项
-U:升级或安装软件
-F:仅仅是升级操做
使用格式;
rpm -Fvh 软件包名
rpm -Uvh 软件包名
yum是一个rpm包的管理工具,能够实现自动解决rpm包的依赖关系(自动安装依赖顺序进行rpm包的安装)
为什么rpm包会有依赖关系?
制做rpm的人,在制做rpm包的时候,就将这个rpm的所依赖的软件的信息保存在这个rpm包的内部
经过yum源(本地或者网络源)来解决rpm包的依赖问题。其实yum源本质上就是rpm包的集合
是如何来解决依赖关系的呢
用 yum 进行安装的过程(好比要安装软件A,A依赖B 和C, B依赖C D)
1)yum首先会扫描保存元数据信息的文件,检查A是否已经安装,若是已经安装,那提示已经安装
2)若是A还没有安装,那么扫描A的依赖关系信息,会发现A 依赖B 和C
3)yum会再次扫描元数据文件,检测B C 是否安装,若是都已经安装,那么会开始开始安装A
4)若是B C还没有安装,那么会检测 B C的依赖关系,会发现B依赖C D
5)yum会再次扫描元数据文件,检测C D是否安装,若是都已经安装,那么会开始开始安装B,而后安装C,,而后安装A
yum的配置文件
主配置文件:/etc/yum.conf
子配置文件:/etc/yum.repos.d/*.repo (意思是在yum.repos.d这个目录下,只要一 .repo为结尾的文件都会被识别为配置文件)
[localRpm] <<< 指定yum仓库的id,能够随便写,可是中间不能有空格
name=xxx <<< 指定yum仓库的名称,能够随便写
enabled=0|1 <<< 指定是否使用该yum仓库,0表示不使用;1表示使用
gpgcheck=0|1 <<< 指定是否对rpm包作完整性和来源合法性验证,0表示不作验证;1表示必须作验证
gpgkey= <<< 指定公钥文件(若是gpgcheck=1,那么该项不能省略)
baseurl= <<< 指定yum仓库的url(1.本地yum源 file:// 例如 baseurl=file:///mnt
2.网络源 http:// 例如 baseurl=https://mirrors.aliyun.com/epel/7/x86_64/)
使用光盘中的rpm包做为yum仓库
第一步:挂载光盘
# mount /dev/cdrom /media
第二步:备份yum自带的配置文件
# cd /etc/yum.repos.d
# mkdir bak
# mv *.repo bak
第三步:建立yum的配置文件,使用光盘做为yum仓库
# vim 1.repo
[myrepo]
name=my repo
enabled=1
gpgcheck=0
baseurl=file:///media
第四步:执行yum命令检测结果
# yum clean all <<< 清空yum缓存的所有数据
# yum repolist <<< 检查yum仓库中有多少个可用的rpm包
国内主流的网络yum仓库地址
mirrors.aliyun.com
mirrors.163.com
mirrors.sohu.com
进入网址的子级页面直到出现repodata的页面,将这个页面的网址复制放到baseurl后面
rpm的yum源
centos提供的
epel提供的:
例子:使用aliyun提供的epel 和centos的yum源
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim new.repo
[centos]
name=centos repo
enabled=1
gpgcheck=0
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
[epel]
name=epel repo
enabled=1
enabled=1
baseurl=http://xxxx