day20 yum的详细的讲述

day20 yum的精讲

yum是centos 7中很重要的工具需要我们去了解和学习

1.学习的任务和背景

一般开发团队需要数据库的环境来测试程序

现在需要运维人员来协助在测试机器上Centos7上安装好

MySQL-5.6.43版本来作为前期迁移的准备的工作

同时== 配备好本地的yum源==方便后续软件包的安装

  • 任务是安装好MySQL 5.6.43
    • 下载好MySQL-5.6.43
      • 同时解决mysql的依赖的关系
    • 也可以下载MySQL的源码包进行安装
      • 可以选择的
  • yum一键安装

2.学习的目标

  • 理解为什么要学习yum

    • yum就是轻松管理rpm软件的工具
  • 掌握yum的源配置

    • 本地源
      • 光盘源,centos7 提供了大量的rpm包
      • 自建yum仓库目录
        • 用于离线安装Linux的软件
        • 用rpm -ivh 命令去下载rpm的软件包 , 并且解决软件的依赖的问题(提前准备好软件的rpm包)
        • yum自动的判断软件之间的关系,轻松的安装
    • 网络源
      • 配置阿里云的yum源
      • 清华源
      • 还有官方提供的yum源(必然这是追靠谱的,)

    有2种方式去安装软件

    1. 使用yum安装各种的软件
    2. 使用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命令去执行管理,查询.....

yum工具

2.yum源有几种的形式

  • 本地的光盘源
  • 网络源

国内知名的网络yum源

选择的是

centos + epel 的两个yum的仓库

  • centos仓库,等于在线获取了一个光盘的镜像站,里面有操作系统,自带的各种rpm包
  • epel源

所谓的yum源其实就是

  1. 下载一个yum的配置的文件 ,就是一个url

  2. 这个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=0



4.此时有了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* -y


7.yum去安装,检查火狐浏览器



# 查看当前yum仓库,都有哪些rpm包
yum list

yum list |wc -l  # 查看当前yum仓库中,有多少rpm包可以用



[root@167 yum.repos.d]# yum list |grep -i firefox
firefox.x86_64                          52.7.3-1.el7_5                 installed


yum remove firefox -y

yum 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.repo


5. 你会发现,上面这个默认的源,软件数量也不算多,比如nginx就找不到,它的作用类似于 你挂载光盘源,用于安装很多基础,简单的工具
而第三方的工具是没有,如nginx

还得配置一个叫做epel仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
posted @ 2025-03-07 15:16  国家一级冲浪yzk  阅读(22)  评论(0)    收藏  举报