rpm简介
这是一个数据库管理工具,能够经过读取数据库,判断软件是否已经安装,若是已经安装能够读取出来全部文件的所在位置等,并能够实现删除这些文件。html
rpm:RPM is Redhat Package Manager(递归缩写)web
rpm能够完成的操做数据库
安装软件apache
卸载软件vim
查询软件信息windows
升级、降级centos
检验浏览器
打包程序缓存
rpm仅仅能管理符合rpm格式的程序包,不能管理源码格式的程序服务器
程序的格式
1)源码格式的程序:都是以压缩方式呈现的(后缀都是.tar.gz|bz2)
2)rpm格式的程序:这都是编译之后的程序 (后缀都是.rpm)
软件安装方式总结
安装软件方式有以下几种
方式1:编译安装
将源码程序按照需求进行先编译,后安装
缺点:
安装过程复杂,并且很慢
优势:
安装过程可控,真正的按需求进行安装(安装位置、安装的模块均可以选择)
方式2:rpm安装(用rpm来安装rpm后缀的安装包)
优势:
安装和卸载过程很是方便
缺点:
安装过程不可控(安装位置,安装那些功能模块)
rpm包的依赖关系很是复杂
方式3:yum安装
yum安装,其实就是自动分析rpm包的依赖关系,而后按照须要的顺序依次安装
方式4:绿色安装
rpm的操做
1、安装rpm包
格式:rpm -ivh 软件包名
选项
-i:安装软件
-v:显示安装过程
-h:用#表示安装进度(# 2%)
-vv:显示更详细的安装过程信息
-vvv:显示更更详细的安装过程信息
2、卸载rpm包
格式:rpm -e 软件名
选项:
-e:卸载软件
例子:卸载软件包ken
# rpm -e ken
3、查询已经安装的rpm包
格式:rpm -q 软件名
选项:
-q:查看一个已经安装的软件
-a:查看全部已经安装的软件all
-l:显示软件安装完成之后生成文件列表(全部文件)list
-i:查看软件包的相关信息 info
-d:显示该软件所生成的说明性质的文档列表docfiles
-c:查看软件所生成的配置文件列表configfiles
-f:查找文件所依赖的包
--scripts:查看软件相关的脚本
rpm -q 程序名 -- :查询该程序是否已经安装
rpm -ql:查询该文件生成的文件
rpm qf `which command` --:查看文件所依赖的包
rpm -qa :查询全部已经安装和未安装的包
补充:
安装前脚本(preinstall)
安装后脚本(postinstall)
卸载前脚本(preuninstall)
卸载后脚本(postuninstall)
例子:查看ken是否安装
# rpm -q ken
例子:查看当前系统全部已经安装的软件
# rpm -qa
例子:统计当前系统一共安装了多少个软件
4、查看文件是哪一个软件生成的
rpm -qf /path/to/file
5、升级软件
选项
-U:升级或安装软件
-F:仅仅是升级操做
使用格式;
rpm -Fvh 软件包名
rpm -Uvh 软件包名
软件管理yum
也是一个rpm包的管理工具,能够实现自动解决rpm包的依赖关系(自动安装依赖顺序进行rpm包的安装)
为什么rpm包会有依赖关系?
制做rpm的人,在制做rpm包的时候,就将这个rpm的所依赖的软件的信息保存在这个rpm包的内部
yum的工做原理
1. 须要首先建立一个yum仓库(rpm包仓库、软件仓库)
1)仓库其实就是一个目录
2)仓库中存放的是rpm包
3)仓库中还保存了一个文件,文件中记录了该仓库中全部rpm包的元数据信息
4)元数据信息包括
软件名
软件版本
软件是否已经安装
软件的依赖关系
2. 用 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仓库
本地:将本地的一个目录作成yum仓库,只有当前系统能够
网络:经过网络将服务器上的一个目录做为yum仓库,网络中的所有主机均可以用
使用yum仓库的方式,就是修改yum的配置文件
yum的配置文件
主:/etc/yum.conf
子:/etc/yum.repos.d/*.repo
/etc/yum.conf文件
cachedir=/var/cache/yum/$basearch/$releasever
指定缓存文件的保存位置,默认:/var/cache/yum/x86_64/7/
keepcache=0
指定是否保留缓存文件
用yum安装软件过程当中会从yum仓库下载并缓存多个资源
1)会将yum仓库的元数据文件缓存到配置文件所指定的路径中
2)会将要安装的软件及其依赖的软件一并缓存到配置文件指定的目录中
yum配置文件的构成
[localRpm] <<< 指定yum仓库的id,能够随便写,可是中间不能有空格
name=xxx <<< 指定yum仓库的名称,能够随便写
enabled=0|1 <<< 指定是否使用该yum仓库,0表示不使用;1表示使用
gpgcheck=0|1 <<< 指定是否对rpm包作完整性和来源合法性验证,0表示不作验证;1表示必须作验证
gpgkey= <<< 指定公钥文件(若是gpgcheck=1,那么该项不能省略)
baseurl= <<< 指定yum仓库的url
yum仓库的url的表示方式
注意:在指定yum仓库的时候,其实不是指向rpm包的目录,而是执行repodata所在目录
本地yum仓库
file://
例子:好比个人yum仓库 /myrpm,此时yum仓库的表示方式就是file:///myrpm
网络yum仓库
http://
建立本地yum仓库
使用光盘中的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使用
1. 安装软件
yum -y install 软件1 软件2 软件3 ....
2. 卸载软件
yum -y remove 软件1 软件2 软件3 ....
3. 管理包组
grouplist:查看系统中的所有的包组
groupinfo 包组名:查看指定包组的信息(包组的做用、包含的软件)
groupinstall 包组名:安装指定的包组
groupremove 包组名:卸载指定的包组
CentOS7: 命令行界面升级为图形化界面
yum groupinstall "X Window System" -y yum groupinstall "GNOME Desktop" "Graphical Administration Tools" -y
这时,咱们能够经过命令 startx 进入图形界面,第一次进入会比较慢,请耐心等待。(可能须要重启,命令为reboot)
4. 管理yum的缓存数据
clean [ packages | metadata | all ]
all:清除全部数据
packages:仅仅清除rpm包
metadata:仅仅清理缓存元数据
5. 查看全部已经安装和还没有安装rpm包
yum list all 或者yum list 能够列出全部的软件包
6. yum list available:仅仅显示能够安装可是还没有安装的rpm包
7. yum list installed:仅仅显示已经安装rpm包
@:表示已经安装rpm
8. 查看yum仓库的信息
yum repolist
拓展:下载lzrsz软件,yum install lrzsz -y
rz:windows中文件传送到Linux中
sz:把Liunx中文件传送到Windows中
网络yum源的使用方式
国内主流的网络yum仓库地址
mirrors.aliyun.com
mirrors.163.com
mirrors.sohu.com
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=http://mirrors.163.com
可使用优先级:cost=1,数字越大优先级越低。
[epel]
name=epel repo
enabled=1
enabled=1
baseurl=http://xxxx
制做一个网络yum源
思路:在网络上准备一个主机,在其中安装一个web服务器软件(好比apache),而后建立一个目录,在这个目录中准备上yum仓库的所有资源,若是用户能够经过网络访问到该主机的这个目录,那么这个目录就成为网络yum仓库
实现过程
第一步:配置yum源主机
1)安装配置apache
略
2)配置yum仓库相关资源
1. 建立一个目录,做为存储yum资源的目录
# mkdir /usr/local/apache/htdocs/mysource
2. 挂载光盘
# mount /dev/cdrom /mnt
3. 将光盘中的资源复制到前面所建立的目录下
# cp /mnt/* /usr/local/apache/htdocs/mysource -rvf
4. 用浏览器访问一下yum仓库,检查是否能够看到相关文件
http://ip/mysource
第二步:配置客户端主机
修改yum配置文件
1)备份原有的配置文件
# mkdir bak
# mv *.repo bak
# vim a.repo
[]
name
enabled=
gpgcheck=
baseurl=http://ip/mysource
2)测试一下
# yum repolist