目录
[yum list 显示所有可用的包,包名,支持通配符 yum list*Kernel](#yum list 显示所有可用的包,包名,支持通配符 yum list*Kernel)
[yum info 显示包的信息](#yum info 显示包的信息)
[yum search ftp 查找包含ftp的所有安装包 (模糊查找)](#yum search ftp 查找包含ftp的所有安装包 (模糊查找))
[yum provides ftp 查找这个命令来源和哪个包 (精确查找)](#yum provides ftp 查找这个命令来源和哪个包 (精确查找))
[yum history 查找历史命令(所有操作)](#yum history 查找历史命令(所有操作))
[yum list [软件名]](#yum list [软件名])
[yum info [软件名] (不加软件名显示所有软件包的详细信息)](#yum info [软件名] (不加软件名显示所有软件包的详细信息))
[yum search <关键词>(模糊查找)](#yum search <关键词>(模糊查找))
[yum provides <关键词>(精确查找)](#yum provides <关键词>(精确查找))
[yum grouplist [包组名]](#yum grouplist [包组名])
[yum groupinfo <包组名>](#yum groupinfo <包组名>)
[yum install [软件名]](#yum install [软件名])
[yum groupinstall <包组名>](#yum groupinstall <包组名>)
[yum update <包组名>](#yum update <包组名>)
[yum remove <软件名>](#yum remove <软件名>)
[yum history](#yum history)
什么是yum仓库
概念
Yum仓库是指使用Yum命令下载软件的镜像地址。它是一个基于RPM包构建的软件更新机制,能够自动解决软件包之间的依赖关系。在Yum仓库中,事先存储了众多rpm包以及相关的元数据文件,当Yum客户端利用Yum/dnf工具进行安装包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包以及依赖关系,自动从仓库中找到相关包下载并安装。
yum的实现过程
要有安装包
安装包:
1.光驱里自带 挂载提供软件包
yum需要依赖于环境,依赖于服务端和客户端,允许跨网络
服务器:
RPM包 (Packages文件夹中)
元数据(repodata文件夹:目录(软件的目录),软件的依赖关系,软件的位置)
客户端的配置文件中
baseurl=地址 一定要写到到 这两个文件夹 repodata packages 的上级目录
最终形成两个文件夹Packages (包文件夹一般取名packages)和 repodata(元数据文件夹)
仓库类型:
光盘的仓库基本仓库 比较常用的
epel扩展仓库 比较新 (第三方源)
Yum的实现过程如下:
- 在Yum服务器上创建Yum Repository(仓库),在仓库中事先存储了众多rpm包以及相关的元数据文件(放置于特定目录repodata下)。
- 当Yum客户端利用Yum/dnf工具进行安装包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包以及依赖关系,自动从仓库中找到相关包下载并安装。
yum的配置文件
1./etc/yum.conf 主配置文件
bash
[root@localhost]# /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
yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量
仓库设置文件
/etc/yum.repos.d/*.repo yum仓库文件位置
日志文件
/var/log/yum.log 日志文件 cat查看
yum命令
yum list 显示所有可用的包,包名,支持通配符 yum list*Kernel
yum info 显示包的信息
yum search ftp 查找包含ftp的所有安装包 (模糊查找)
yum provides ftp 查找这个命令来源和哪个包 (精确查找)
yum history 查找历史命令(所有操作)
查询
yum list [软件名]
bash
[root@localhost ~]# yum list httpd //安装软件
[root@localhost ~]# yum list *httpd* 包含httpd的软件包
yum info [软件名] (不加软件名显示所有软件包的详细信息)
bash
[root@localhost ~]# yum info httpd //显示httpd安装包的详细信息
yum search <关键词>(模糊查找)
根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来
bash
[root@localhost ~]# yum search httpd
yum provides <关键词>(精确查找)
你知道某个命令却不知道具体的包可以用此命令查找
bash
[root@localhost ~]# yum provides httpd
yum grouplist [包组名]
安装包组的查询 不加包组名 就是显示所有(此处例子由于安装了中文环境,无法显示英文包组名称无法直接复制中文使用,建议直接安装英文操作系统)
bash
[root@localhost ~]# yum grouplist
yum groupinfo <包组名>
不加包组名显示全部
bash
[root@localhost ~]# yum groupinfo "GNOME Desktop"
yum安装升级
yum install [软件名]
安装软件包
bash
[root@localhost ~]# yum install nginx -y //加-y确认安装,后面就无需再次确认
yum groupinstall <包组名>
bash
[root@localhost ~]# yum group install gnome desktop -y //安装桌面
yum update <包组名>
更新包组,可以单个也可以全部 后面加具体包组名称就是单个更新,不加就是全部更新(首先要有更新的包组)
bash
[root@localhost ~]# yum upgrade
软件卸载
yum remove <软件名>
bash
[root@localhost ~]# yum upgrade httpd
yum history
可以使用yum history undo 4 进行卸载,这样对比remove好处是可以将所有的依赖都删除
把4删除
如果后悔 卸载 可以使用两种方式
yum history redo 4 (重新安装一遍)
yum history undo 6 (反悔卸载等于重新安装一遍)
搭建仓库
http方式
1.先在服务端挂载光盘镜像
2.在客户端
3.测试
ftp方式搭建云仓库
服务端:192.168.17.25
客户端:192.168.17.30