yum ? yum !
- 一、YUM概述
- 1.1 yum简介
- 1.2 yum工作原理
- 二、yum 配置文件
- 2.1 yum主配置文件
- 2.2 yum仓库设置文件
- 2.2.1 配置文件主要格式
- 2.2.2 软件仓库的提供方式
- 2.2.3 日志文件
- 三、yum命令详解
- 3.1 安装和升级
- 3.2 查询
- 3.2.1 显示可用的安装包 ----- yum list
- 3.2.2 显示指定安装包详细信息 ----- yum info
- 3.2.3 根据关键字查找软件安装包----- yum search
- 3.2.4 根据命令名查找对应的软件包 ----- yum provides
- 3.2.5 查询安装包组 ----- yum grouplist
- 3.2.6 安装包组的详细信息 ----- yum groupinfo
- 3.2.7 查看历史的使用记录---- yum history
- 3.3 卸载
- 3.3.1 yum remove
- 3.3.2 yum history undo
- 3.4 只下载 不安装
- 四、yum仓库搭建方式
- 4.1 搭建本地yum仓库
- 1)挂载
- 2)备份yum网络源
- 3)新建配置文件
- 4)清除网络源缓存 建立本地源缓存
- 5)安装任意软件,观察源的变化
- 4.2 使用HTTP方式搭建yum仓库
- 1)配置服务端
- 2)配置客户端
- 4.3 使用FTP方式搭建yum仓库
- 1)配置服务端
- 2)配置客户端
一、YUM概述
1.1 yum简介
YUM(Yellow dog Updater,Modified):
- 基于RPM包构建的软件更新机制
- 可以自动解决依赖关系
- 所有软件包由集中到YUM软件仓库提供
1.2 yum工作原理
1.客户端根据配置文件找到yum仓库服务器的位置
2.服务端向客户端发送元数据包(包含 软件依赖关系 软件的位置)
#相当于软件安装目录
3.客户端下载后,在元数据包中的查找到目标,发送请求
4.服务器响应并将相关软件包和依赖关系发送给客户端,客户端下载安装
二、yum 配置文件
2.1 yum主配置文件
//位置
/etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件架构 $releasever系统版本比如7
keepcache=0 //是否保存缓存 0代表不保存,1代表保存
debuglevel=2 //调试级别了解即可
logfile=/var/log/yum.log // 日志文件位置
exactarch=1 //是否允许不同版本的rpm安装
obsoletes=1 //update 的一个参数是否可以允许旧版本的运行
gpgcheck=1 //验证秘钥
plugins=1 //是否允许插件1代表可以
installonly_limit=5 //保存几个内核 5代表5个
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
2.2 yum仓库设置文件
#位置
/etc/yum.repos.d/*.repo
2.2.1 配置文件主要格式
#以local.repo为例,本地源
2.2.2 软件仓库的提供方式
- FTP服务
baseurl=ftp://ip地址/站点里路径
- HTTP服务:
baseurl=http://域名或者ip地址/站点里的路径
- 本地目录
baseurl=file://绝对路径
baseurl=file:///mnt #此处第三个/为根目录
2.2.3 日志文件
#位置
/var/log/yum.log
cat /var/log/yum.log #查看日志文件内容
三、yum命令详解
3.1 安装和升级
yum install 软件名 -y #通过yum方式安装,软件已安装则更新版本
yum install tree -y #安装tree,已安装则更新版本
3.2 查询
3.2.1 显示可用的安装包 ----- yum list
yum list [软件名] #显示可用的安装包,不加软件名是显示所有的可用包
#举例#
yum list tree #包含tree 的软件包
3.2.2 显示指定安装包详细信息 ----- yum info
yum info [软件名] #显示指定安装包详细信息,不加软件名是显示所有包的详细信息
#举例#
yum info tree #显示tree的详细信息
3.2.3 根据关键字查找软件安装包----- yum search
yum search 关键词 #根据关键字查找软件安装包
#举例#
yum search tre #查找包含tre的软件包
3.2.4 根据命令名查找对应的软件包 ----- yum provides
yum provides 命令
#根据命令名查找对应的软件包
3.2.5 查询安装包组 ----- yum grouplist
yum grouplist [包组名] #安装包组的查询 不加包组名 就是显示所有
3.2.6 安装包组的详细信息 ----- yum groupinfo
yum groupinfo <包组名> #显示包组的详细信息
#举例#
yum groupinfo Minimal Install #最小化安装包组的详细信息
3.2.7 查看历史的使用记录---- yum history
yum install history #查看历史记录
在这里插入图片描述
3.3 卸载
3.3.1 yum remove
卸载已安装的软件
3.3.2 yum history undo
可以将所有的依赖都删除
yum history undo n #n为历史记录中的ID
#举例#
yum history undo 10 #卸载第十条记录中安装的软件和依赖关系
#如果卸载错误#
yum history redo n #反悔卸载,n为卸载记录的ID
#举例#
yum history redo 2 #重新安装第二条记录中卸载的软件
3.4 只下载 不安装
当内网的一台主机安装某个软件包却缺少依赖包时,可以先由一台可连接外网的服务器下载依赖包,之后共享给这台主机
yum install --downloadonly +软件名称 --downloaddir=指定rpm包存放路径
四、yum仓库搭建方式
4.1 搭建本地yum仓库
本地yum允许在没有互联网连接的情况下进行软件包安装
1)挂载
2)备份yum网络源
切换到yum客户端配置文件默认安装目录 /etc/yum.repos.d/
建立备份目录,将.repo文件移进去 mv *.repo
3)新建配置文件
vim tree.rpo #新建配置文件
4)清除网络源缓存 建立本地源缓存
5)安装任意软件,观察源的变化
yum install -y tree #以装tree为例
4.2 使用HTTP方式搭建yum仓库
服务端的IP地址:192.168.2.102
客户端的IP地址:192.168.2.100
1)配置服务端
#在服务端安装http服务 (可以是httpd ,也可以是nginx)
yum install -y httpd #安装网页软件 ,提供文件共享服务
mount /dev/sr0 /var/www/html #挂载 提供安装包
systemcl start httpd #启动服务
systemctl status httpd #查看启动状态
2)配置客户端
systemctl stop firewalld.service
setenfore 0
cd /etc/yum.repos.d
mkdir backup
mv *.repo bak #模拟移除网络源
vim http.repo #新建 http.repo文件
...
[http]
name=http
baseurl=http://192.168.2.102 #服务器的ip地址
gpgcheck=0 #关闭校验
..
:wq #退出并保存
yum clean all #清除网络源缓存
yum makecache #建立缓存
yum install -y httpd
#安装任意软件 观察能否安装成功 观察安装源的变化
4.3 使用FTP方式搭建yum仓库
服务端的IP地址:192.168.2.102
客户端的IP地址:192.168.2.100
1)配置服务端
systemctl stop firewalld
setenforce 0
yum install -y vsftpd # 安装服务
cd /var/ftp/
mkdir test #新建目录作为挂载点
mount /dev/sr0 /var/ftp/test #挂载
systemctl start vsftp #启动服务
2)配置客户端
systemctl stop firewalld.service
setenfore 0 #关闭防火墙和selinux
cd /etc/yum.repos.d
mkdir backup
mv *.repo bak #备份网络源
vim http.repo #新建 http.repo文件
...
[ftp]
name=ftp
baseurl=ftp://192.168.2.102/test #挂载目录
gpgcheck=0 #关闭校验
..
:wq #退出并保存
yum clean all
yum makecache #清除网络源缓存,建立本地源数据
yum install -y tree #安装tree以测试源的变化