十、rpm和yum软件管理
一、软件安装方式:
1、编译安装:将源码程序按照需求进行先编译后安装
优点:安装过程可控,真正的按需求进行安装(安装位置、模块可选择)
缺点:安装过程很慢而且复杂
2、rpm安装:(用rpm来安装rpm后缀的安装包)
优点:安装和卸载过程非常方便
缺点:安装过程不可控(安装位置,安装那些功能模块)
rpm包的依赖关系非常复杂
3、yum安装
yum安装,其实就是自动分析rpm包的依赖关系,然后按照需要的顺序依次安装
4、绿色安装:
解压之后就可以使用不需要任何操作
二、rpm的操作(Redhat Package Manager)
Yum install lrzsz -y :实现windows和linux之间的文件传输
rz: windows文件上传到linux
sz:linux文件上传到windows
在shell中操作
rpm可以完成的操作:
安装软件
卸载软件
查询软件信息
升级、降级
检验
打包程序
1、安装rpm包:
[root@ww ~]#rpm -ivh 软件包名 (①安装包在当前目录下,②包名以rpm结尾)
选项:
-i:安装软件
-v:显示安装过程
- h:用#表示安装进度(#%2)
-vv:显示详细的安装过程信息
-vvv:显示更详细的的安装过程信息
2、卸载rpm包:
[root@ww ~]#rpm -e 软件名
3、查询已经安装的rpm包:
[root@ww ~]#rpm -q 软件名
选项:
-q:(query)查询软件是否安装(有查询到rpm和yum安装的包,看不到编译安装的包 )
-qa:查询所有的软件
-ql:查看软件生成的所有的文件
-qf:查看文件依赖的软件
rpm -qa | wc -l 查看安装了多少个包
当你的系统起不来:
查看系统日志:tail /var/log/messages
查看自己的日志文件:rpm -ql
4.查看文件是哪个软件生成的
[root@ww ~]#rpm -qf /路径(which查找)
[root@ww ~]# rpm -qf `which cd` 查看cd命令依赖于哪个程序
5.升级软件
选项:
-U:升级或安装软件
-F:仅仅是升级操作
使用格式:
rpm -Fvh 软件包名
rpm -Uvh 软件包名
三、yum:
1. 安装软件
[root@ww ~]#yum -y install 软件1 软件2 软件3 ....
2. 卸载软件
[root@ww ~]#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 ]
5. 查看所有已经安装和尚未安装rpm包
[root@ww ~]#yum list all 或者yum list 可以列出所有的软件包
Yum list | grep “redis”
6.显示可以安装但是尚未安装的rpm包
[root@ww ~]#yum list available
7. 显示已经安装rpm包
[root@ww ~]#yum list installed
(@:表示已经安装rpm)
8. 查看yum仓库的信息
[root@ww~]#yum repolist
四、yum的工作原理:
需要首先创建一个yum仓库(rpm包仓库、软件仓库)
1)仓库其实就是一个目录
2)仓库中存放的是rpm包
3)仓库中还保存了一个文件repodata,文件中记录了该仓库中所有rpm包的元数据信息
4)元数据信息包括
软件名
软件版本
软件是否已经安装
软件的依赖关系
yum的配置文件:
本地:将本地的一个目录做成yum仓库,只有当前系统可以
网络:通过网络将服务器上的一个目录作为yum仓库,网络中的全部主机都可以用
使用yum仓库的方式,就是修改yum的配置文件
yum的配置文件
主:/etc/yum.conf
子:/etc/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(repodata上级路径,本地 file:// 网络 http://
cost=1 <<< 指定仓库优先级,数值越小优先级越高
五、创建本地yum仓库
使用光盘中的rpm包作为yum仓库
第一步:挂载光盘
[root@ww ~]# mount /dev/cdrom /wete
第二步:备份yum自带的配置文件
[root@ww ~]# cd /etc/yum.repos.d
[root@ww ~]# mkdir ww
[root@ww ~]# mv *.repo ww ( mv C* ww)
第三步:创建yum的配置文件,使用光盘作为yum仓库
[root@ww ~]# vim 1.repo
[myrepo]
name=my repo
enabled=1
gpgcheck=0(=1, gpgcheck=file:///mnt/RPM-KEY=CentOS-7)
baseurl=file:///wete(repodata)
cost=1
第四步:执行yum命令检测结果
[root@ww ~]# yum clean all <<< 清空yum缓存的全部数据
[root@ww ~]# yum repolist <<< 检查yum仓库中有多少个可用的rpm包
六、 网络yum源的使用方式
1.国内主流的网络yum仓库地址
mirrors.aliyun.com
mirrors.163.com
mirrors.sohu.com
rpm的yum源
centos提供的
epel提供的:
例子:使用aliyun提供的epel 和centos的yum源
[root@ww ~]# cd /etc/yum.repos.d
[root@ww ~]# mkdir zyp
[root@ww ~]# mv *.repo zyp
[root@ww ~]# vim new.repo
[epel]
name=epel
enabled=1
gpgcheck=0
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
[centos]
name=centos base
enabled=1
gpgcheck=0
baseurl=http://mirrors.163.com/centos/7/os/x86_64/
2、创建rpm仓库:
yum install -y createrepo 安装创建rpm库的工具
mkdir zyp 创建目录
cp redis lib64 zyp 将rpm包放入目录中
createrepo zyp 将目录创建成rpm库(会生成repodata)
vim /etc/yum.repos./*.zyp 编辑配置文件后保存退出
yum clean all 清除缓存信息
yum repolist 列出仓库信息