day20 yum的精讲
yum是centos 7中很重要的工具需要我们去了解和学习
1.学习的任务和背景
一般开发团队需要数据库的环境来测试程序
现在需要运维人员来协助在测试机器上Centos7上安装好
MySQL-5.6.43版本来作为前期迁移的准备的工作
同时== 配备好本地的yum源==方便后续软件包的安装
- 任务是安装好MySQL 5.6.43
- 下载好MySQL-5.6.43
- 同时解决mysql的依赖的关系
- 也可以下载MySQL的源码包进行安装
- 可以选择的
- 下载好MySQL-5.6.43
- yum一键安装
2.学习的目标
-
理解为什么要学习yum
- yum就是轻松管理rpm软件的工具
-
掌握yum的源配置
- 本地源
- 光盘源,centos7 提供了大量的rpm包
- 自建yum仓库目录
- 用于离线安装Linux的软件
- 用rpm -ivh 命令去下载rpm的软件包 , 并且解决软件的依赖的问题(提前准备好软件的rpm包)
- yum自动的判断软件之间的关系,轻松的安装
- 网络源
- 配置阿里云的yum源
- 清华源
- 还有官方提供的yum源(必然这是追靠谱的,)
有2种方式去安装软件
- 使用yum安装各种的软件
- 使用yum离线的安装
- 本地源
yum的作用,优缺点
1.yum源是什么
比如: 说是Windows下的软件的管理的工具,里面会有很多的软件,和软件的管理的方式
1,软件的搜索
2,软件的升级
3,软件的卸载
4,软件的下载
YUM也有这样的管理的方式
yum search xx软件
yum install xx软件
yum remove xx软件
yum update xx软件
配置yum源,修改yum仓库的配置文件
yum管理的是centos7系列所发行的rpm包也就是帮你自动的下载nginx,sshd的rpm包
- 这也可以用rpm命令去执行管理,查询.....
2.yum源有几种的形式
- 本地的光盘源
- 网络源
国内知名的网络yum源
选择的是
centos + epel 的两个yum的仓库
- centos仓库,等于在线获取了一个光盘的镜像站,里面有操作系统,自带的各种rpm包
- epel源
所谓的yum源其实就是
-
下载一个yum的配置的文件 ,就是一个url
-
这个url指向啦不同的镜像站,里面有rpm包的集合
官方提供的yum源的查看
yum的实际的用法
yum仓库目录的语法
yum的仓库的目录都放在一个固定的目录之下
在这个目录中如果以*.repo结尾的文件就会被yum识别为仓库的文件
并且只能是第一批排的文件,否则将无法识别# /etc/yum.repos.d/就是yum仓库的文件夹
# 存在于*.repo的文件
演示
[root@local ~]# ll /etc/yum.repos.d/
总用量 12
drwxr-xr-x. 2 root root 4096 3月 6 20:24 bak_repo
-rw-r--r--. 1 root root 2523 8月 4 2022 CentOS-Base.repo
-rw-r--r--. 1 root root 664 8月 4 2022 epel.repo
[root@local ~]#
缓存
简单来说,如首次下载nginx 和其依赖,那些依赖就会作为缓存
下一次下载的时候,这些缓存就会被用上,就不用去网上下载
# 这个叫做 cache (缓存)
挂载本地的网盘作为镜像源
1. 找到一个光盘镜像吧 (vmware虚拟机+物理机+准备一个外置光驱+自己刻录一个centos7光盘) (vmware连接上centos7光盘即可)2. 在系统中, 找到这个光盘文件(linux一切皆文件,你所有的物理硬件,都可以在系统上以文件形式找到)
ls /dev目录下
[root@local ~]# mkdir /mnt/my_centos
找到光盘文件,进行挂载动作,让某一个目录和这个光盘,建立连接mkdir /mnt/my_centos[root@167 opt]# mount /dev/sr0 /mnt/my_centos/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@167 opt]#
[root@167 opt]#
[root@167 opt]# ls /mnt
my_centos
[root@167 opt]#
[root@167 opt]# ls /mnt/my_centos/
CentOS_BuildTag EFI EULA GPL images isolinux LiveOS Packages repodata RPM-GPG-KEY-CentOS-7 RPM-GPG-KEY-CentOS-Testing-7 TRANS.TBL
[root@167 opt]#
[root@167 opt]#
[root@167 opt]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 8.3G 8.8G 49% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 21M 1.9G 2% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 170M 845M 17% /boot
tmpfs 378M 12K 378M 1% /run/user/42
tmpfs 378M 0 378M 0% /run/user/0
/dev/sr0 4.2G 4.2G 0 100% /mnt/my_centos
[root@167 opt]#
[root@167 opt]# 3.创建yum的仓库文件,学习yum仓库文件语法
去看一看阿里云,给你创建的yum仓库,语法长什么样,模仿着写就行
写一个关于光盘挂载的repo文件
此时的光盘数据在本地目录,/mnt/my_centos/
如果你的rpm包,得通过互联网去找,语法是 http://aliyun.com/xxxxxxxxxxxxx
如果你的rpm是去系统中找,语法是 file://路径即可vim /etc/yum.repos.d/my_cdrom.repo[base]
name=0224-linux-yum-cdrom
baseurl=file:///mnt/my_centos/
enabled=1
gpgcheck=04.此时有了yum仓库,熟练的敲下两个命令
# 先清空旧的yum缓存
yum clean all # 清空内存中的yum缓存
rm -rf /var/cache/yum # 删除磁盘上的yum缓存# 生成新的yum缓存(否则你第一次yum install会去下载很多元数据,比较慢)
[root@167 yum.repos.d]#
[root@167 yum.repos.d]# yum makecache
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
base | 3.6 kB 00:00:00
(1/4): base/group_gz | 166 kB 00:00:00
(2/4): base/filelists_db | 3.1 MB 00:00:00
(3/4): base/primary_db | 3.1 MB 00:00:00
(4/4): base/other_db | 1.3 MB 00:00:00
元数据缓存已建立5.此时你可以用yum,去本地光盘中装软件 6.记住,删除东西,也别用rpm -e去删了,它只删了一个软件,没删依赖
删也用yum 去删
yum remove vim* -y7.yum去安装,检查火狐浏览器# 查看当前yum仓库,都有哪些rpm包
yum listyum list |wc -l # 查看当前yum仓库中,有多少rpm包可以用[root@167 yum.repos.d]# yum list |grep -i firefox
firefox.x86_64 52.7.3-1.el7_5 installedyum remove firefox -yyum install firefox -y 8.尝试在本地光盘中安装mysql,看看发生什么查看当前yum源,是否有mysql的软件
经验告诉我 ,mysql这个软件,属于c/s模式
client/server模式
因此mysql这样的软件,也得先装服务端
(服务端的名字,基本是mysql-server-版本号.rpm)再装客户端历史典故
因为mysql8企业版 被oracle收购了,收费了,以及java也被oracle
由于mysql收费了,因此开源组织,将其改造,换了个马甲,名字叫做mariadb用法一样,系统上运行后,什么都一样,只不过软件包的名字换了yum remove mysql -y你会发现在光盘仓库中,可以找到 的是
mariadb 5.5.56-2.el7
你是找不到 mysql -5.6.xx这个仓库就不好使。。。
换一个仓库。。如何从当前yum仓库,搜索某软件的用法[root@167 yum.repos.d]# yum list|grep mariadb
mariadb-libs.x86_64 1:5.5.56-2.el7 @anaconda
mariadb.x86_64 1:5.5.56-2.el7 base
mariadb-bench.x86_64 1:5.5.56-2.el7 base
mariadb-devel.x86_64 1:5.5.56-2.el7 base
mariadb-server.x86_64 1:5.5.56-2.el7 base
mariadb-test.x86_64 1:5.5.56-2.el7 base
[root@167 yum.repos.d]#
配置网络yum源(阿里云yum源)
1.选择主流的开源镜像站2.用人家提供的命令,生成yum仓库文件即可
首先必须在 /etc/yum.repos.d 只能在这个目录下,且是第一级
/etc/yum.repos.d/aliyun.repo为什么要用网络源,因为内容更多,更全
因为如阿里云的工程师,会吧市面主流的软件,全部同步到这个阿里云仓库中,比较齐全,但是也有限制比如,本地光盘是没有nginx这个工具的3. 快速配置阿里云仓库,以及移除本地光盘源
https://developer.aliyun.com/mirror/使用wget命令下载阿里云的repo文件
#wget -O 对该文件进行存放到指定目录,且改名
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo5. 你会发现,上面这个默认的源,软件数量也不算多,比如nginx就找不到,它的作用类似于 你挂载光盘源,用于安装很多基础,简单的工具
而第三方的工具是没有,如nginx还得配置一个叫做epel仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo