day20 yum的详细的讲述

news/2025/3/9 12:19:16/文章来源:https://www.cnblogs.com/yangzaikai/p/18757782

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=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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/895101.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Active Directory审核的常见误区(3)

一、忽略过时、未激活和孤立的用户帐户 存在未使用的用户帐户在AD域中是一个重大的安全隐患。离职员工和黑客可能会因此漏洞而去窃取企业的重要资源。这时候,制定处理离职员工的策略就显得至关重要,这包括禁用他的AD用户帐户、将他从电子邮件组中删除、撤销他对业务应用程序的…

java.net.UnknownHostException: upload-as0.qiniup.com: Name or service not known on问题排查

参考地址:https://blog.csdn.net/weixin_43700340/article/details/88393833 ping upload-as0.qiniup.com还有百度不通,但是局域网可以ping通ping网关可以ping通,ping公共地址也可以ping通如果直接ping百度的ip是可以通的通过上面的博客知道应该是DSN出了问题 也试过了这个命…

Java使用Amazon S3客户端实现前后端联动文件分片上传

在使用对象存储的时候,遇到超大文件上传的应用场景,可以通过前后端联动的方式,实现超大文件从前端直接向对象存储服务进行分片上传,具体实现过程如下: Maven依赖: <dependency><groupId>software.amazon.awssdk</groupId><artifactId>s3</art…

IOMMU和IOVA

IOMMU和IOVA 默认情况下,任何硬件都可以访问整个系统,因此它可以在任何地方执行DMA 事务。这有许多安全隐患。例如,流氓和/或不可信进程(包括在VM (虚拟机)内运行的进程)可能使用硬件设备来读写内核空间,和几乎其他任何存储位置。为了解决这个问题,现代系统配备了输入输出…

linux无法连接宿主机网络问题

很奇怪,之前我是可以连接宿主机互联网的,突然有一天不行了, 没找到具体的原因, 网上找了一下怎么解决,网络就又好了, 先记录一下,有时间在研究。 1、在虚拟机中创建的“电脑”上,右键选则setting(设置)。 2、选择NAT模式,然后点击Edit--》virtual network editor,点…

Node.js 路由

我们要为路由提供请求的 URL 和其他需要的 GET 及 POST 参数,随后路由需要根据这些数据来执行相应的代码。 因此,我们需要查看 HTTP 请求,从中提取出请求的 URL 以及 GET/POST 参数。这一功能应当属于路由还是服务器(甚至作为一个模块自身的功能)? 我们需要的所有数据都会…

SageMath 9.3软件下载与安装教程

1、安装包 扫描下方二维码关注「软知社」,后台回复【051】三位数字即可免费获取分享链接,无广告拒绝套路; 2、安装教程(建议关闭杀毒软件)双击解压安装包安装,弹窗安装对话框点击下一步选择I accept,点击下一步默认,点击下一步默认文件夹,点击下一步安装路径选择D盘,点…

GoLand 2024软件下载与安装教程

1、安装包 扫描下方二维码关注「软知社」,后台回复【048】三位数字即可免费获取分享链接,无广告拒绝套路; 2、安装教程(建议关闭杀毒软件)下载并解压压缩包,双击exe文件安装,弹窗安装对话框点击下一步创建桌面快捷方式,点击下一步默认,点击安装等待安装过程运行软件,点…

VisualStudio快速更改方法签名

右键——快速操作和重构 更改方法签名 更改签名中,即可进行添加或删除 *****有道无术,术尚可求;有术无道,止于术。*****

eclipse xml Indent using spaces not work /eclipse xml 使用空格缩进功能未生效问题解决

eclipse xml Indent using spaces not work eclipse xml 使用空格缩进功能未生效问题解决 设置xml格式化配置Line width: 设置每行宽度Line width设定为80到100个字符。 Split multiple attributes each on a new line: 标签的每个属性都单独一行显示 Preserve whitespace in t…

【多线程】AQS详解

AQS是什么 AbstractQueuedSynchronizer是一个抽象的队列同步器,AQS利用模板方法模式解决了开发者在实现同步器时的复杂问题,提供了一个通用的加锁解锁框架。 AQS执行原理 AQS为实现的同步器提供了通用的执行框架,定义了对资源state的获取和释放流程。AQS核心思想是在CLH锁的…

.NET 8 AOT

AOT是个防止反编译的好办法 都来看看怎么用吧~ 1.需要安装C++的桌面开发2.新建项目,选择控制台3.确认 <PublishAot>true</PublishAot> 是否为true4.发布release版本优点: 1. AOT 会生成一个自包含的应用程序,并且已提前 (AOT) 编译为本机代码。原生 AOT 应…