文章目录
一、yum简介
yum,全称 Yellow dog Updater Modified,它是基于RPM包构建的软件更新机制,yum可以自动解决依赖关系,我们安装所有软件包由集中的YUM软件仓库提供。
当我们不进行任何的配置,直接使用yum进行软件安装时,其使用的是centos官方的源,是默认使用的,但是必须联网才可以使用。
二、yum配置文件介绍
我们可以使用 rpm -qc yum 命令来确认yum的配置文件的位置。
yum配置文件位置:/etc/yum.conf (注:默认就行,别乱改)
参数解释:
cachedir=/var/cache/yum/$basearch/$releasever
#yum下载的RPm包的缓存目录,$basearch代表硬件,$releasever代表系统版本
keepcache=0
#是否保存缓存,0为不保存,1为保存
debuglevel=2
#调试级别,这个了解即可
logfile=/var/log/yum.log
#日志文件位置
exactarch=1
#是否允许匹配系统架构的yum安装,默认为1,表示yum只会安装和系统架构匹配的软件包,不同架构不会安装
obsoletes=1
#update的参数,表示是否允许旧版本运行(允许更新旧的RPM包),0为否,1为是
gpgcheck=1
#验证密钥
plugins=1
#是否允许插件,1为是,0为否
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
#错误追踪程序,类似于windows系统蓝屏了,会将当前故障上传给对应网站
distroverpkg=centos-release
#这个参数是指定从哪里获取系统版本相关的信息,别乱改!!!
三、epel源
epel,全称 Extra Packages for Enterprise Linux,可以理解为额外源,什么意思呢,有些软件在默认的源中是下载不了的,这时,我们只需要在源的配置文件中添加上epel源信息,当再次下载时,就会加载这些网站,就原本下不了的软件下载下来。
我先给大家提供一些源的地址,至于文件中怎么添加,我们一会实验的时候会操作。
epel源:
#阿里云
https://mirrors.aliyun.com/epel/$releasever/x86_64
#腾讯云
https://mirrors.cloud.tencent.com/epel/$releasever/x86_64
#华为云
https://mirrors.huaweicloud.com/epel/$releasever/x86_64
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64
CentOS系统的yum源:
#阿里云
https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
#腾讯云
https://mirrors.cloud.tencent.com/centos/$releasever/os/$basearch/
#华为云
https://repo.huaweicloud.com/centos/$releasever/os/$basearch/
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
更新源:
https://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
https://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
https://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
四、实验(下面的所有操作都是基于防火墙关闭的情况)
1.搭建本地仓库
-
首先将镜像文件挂载
-
进入/etc/yum.repos.d目录
-
新建一个repo文件并进行编辑保存
-
清除yum缓存并建立元数据
yum clean all && yum makecache
-
安装软件进行测试
2.搭建阿里云仓库(外网通的情况下)
- 在 /etc/yum.repos.d目录下编辑新的repo文件(也可以修改实验1的local.repo文件),在编辑文件之前的步骤和实验1一样
- 修改文件配置
- 清空缓存,建立元数据(yum clean all && yum makecache)
- 安装一个之前centos默认源中没有的服务,比如nginx(yum install -y nginx)
3.模拟内网环境下使用ftp和http服务搭建yum服务器
1.ftp方式
-
yum安装 vsftpd 服务(yum install -y vsftpd)
-
进入/var/ftp目录,创建centos7文件夹用于挂载镜像文件
-
开启vsftpd服务(systemctl start vsftpd)
-
客户端下载ftp工具(yum install -y ftp)
-
登录服务端查看文件
-
编辑客户端的yum仓库文件
-
清空缓存并建立元数据
-
安装测试软件
2.http方式
http方式的操作和ftp百分之80%是一样的,下面我只列出不同的地方
-
挂载目录不同
ftp是挂在 /var/ftp/centos7目录下,http是挂在/var/www/html/centos7下(centos7是我们创建的挂载目录)
-
服务不同
ftp开启的是vsftpd服务,而http开启的是httpd服务(systemctl start httpd)
可以在客户机或者物理机访问http服务
-
.repo文件配置不同(文件名设为http.repo)
将文件中的baseurl的参数 ftp 改成 http 就行
-
yum clean all && yum makecache 并安装软件测试
五、补充yum相关的命令
1.yum (group)list [软件名] #显示可用的安装包(包组),不加显示全部
2.yum (group)info [软件名] #显示安装包(包组)详细信息,不加显示全部
3.yum search 软件包 #模糊查找所查软件的所有信息,即根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来
4.yum whatprovides 软件包 #精确查找,即你知道某个命令却不知道具体的包可以用此命令查找
5.yum (group)install 软件包 #安装软件包(包组)
6.yum (group)update [软件包] #升级对应软件包(包组),不加升级全部,连同升级软件和内核
7.yum (group)remove 软件包 #卸载对应包(包组)
8.yum history #查看当前yum的操作历史
9.yum history undo [yum history里的序号] #取消yum history中序号的操作,需要先yum history查看序号
10.yum history redo [yum history里的序号] ##重新执行yum history中序号的操作,需要先yum history查看序号
11.yum upgrade [软件包] #只升级指定包,不升级软件和系统内核,软件和内核保持原样,不加升级全部,但依然不升级软件和内核