一、yum介绍

将所有的rpm软件包放到指定服务器上,当进行yum在线安装时,可以自动解决依赖性问题。

yum配置文件常位于/etc/yum.repo.d 目录下

[root@aaa251 ~]# cd /etc/yum.repos.d/
[root@aaa251 yum.repos.d]# ll
总用量 32
-rw-r--r--. 1 root root 1664 9月 5 21:05 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 9月 5 21:05 CentOS-CR.repo
-rw-r--r--. 1 root root 649 9月 5 21:05 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 9月 5 21:05 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 9月 5 21:05 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 9月 5 21:05 CentOS-Sources.repo
-rw-r--r--. 1 root root 6639 9月 5 21:05 CentOS-Vault.repo
[root@aaa251 yum.repos.d]#

二、yum安装

CentOS默认已安装了yum,不需要另外安装。我们查看下系统默认安装的yum

[root@aaa251 yum.repos.d]# rpm -qa | grep yum
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-plugin-fastestmirror-1.1.31-52.el7.noarch
yum-3.4.3-163.el7.centos.noarch
[root@aaa251 yum.repos.d]#

如果后续遇到yum程序异常,需要重新安装yum包时,再来补充安装yum包的过程

三、本地光驱yum源的搭建

下面介绍光盘搭建本地yum源

1. 在虚拟机设置中,选择光盘(ISO镜像文件),如图:



2.将光盘进行挂载

mkdir /mnt/mytest #创建挂载点
mount /dev/sr0 /mnt/mytest #挂载光盘
df -h #查看光盘是否挂载成功
[root@aaa251 yum.repos.d]# mkdir /mnt/mytest
[root@aaa251 yum.repos.d]# mount /dev/sr0 /mnt/mytest
mount: /dev/sr0 写保护,将以只读方式挂载
[root@aaa251 yum.repos.d]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 480M 0 480M 0% /dev
tmpfs 491M 0 491M 0% /dev/shm
tmpfs 491M 7.5M 484M 2% /run
tmpfs 491M 0 491M 0% /sys/fs/cgroup
/dev/mapper/centos-root 37G 1.4G 36G 4% /
/dev/sda1 1014M 137M 878M 14% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/sr0 4.4G 4.4G 0 100% /mnt/mytest
[root@aaa251 yum.repos.d]#

以上mount命令为临时性挂载,重启完系统后失效。

永久挂载命令:

echo “/dev/sr0 /mnt/mytest iso9660 defaults 0 0” >> /etc/fstab



3.编写本地yum源仓库文件

在编写之前,先将yum配置文件进行备份!

[root@aaa251 ~]# cd /etc/yum.repos.d/

[root@aaa251 yum.repos.d]# mkdir repo_bak #创建yum配置文件的备份文件夹 repo_bak

[root@aaa251 yum.repos.d]# mv *.repo repo_bak/ #备份现有的配置文件到repo_bak中

[root@aaa251 yum.repos.d]# touch local.repo/ #创建本地yum源仓库文件

[root@aaa251 yum.repos.d]# ls

local.repo repo_bak

[root@aaa251 yum.repos.d]#

编写本地yum仓库文件

[name]               #括号中的名称为仓库源名称,通常为字母和数字,必须填写
name=my new repo #对yum的描述,可写可不写
baseurl=file:///mnt/mytest #baseurl表示声明yum可以管理并使用的rpm包路径,必须填写
gpgcheck=0 #gpgcheck表示安装rpm包时,是否基于公私钥对匹配包的安全信息,1表示开启,
#0表示关闭,此项不写默认为验证
enabled=1 #enabled表示当前仓库是否开启,1为开启,0为关闭,此项不写默认为开启

4.执行yum clean all ,清空缓存信息。

yum list | wc -l 统计列出所有rpm包的数量,如果列出了,说明yum源配置完成。这里可以看出有4130个包。

[root@aaa251 yum.repos.d]# yum clean all
已加载插件:fastestmirror
正在清理软件源: c7-media
Other repos take up 73 M of disk space (use --verbose for details)
[root@aaa251 yum.repos.d]#
[root@aaa251 yum.repos.d]# yum list | wc -l
4130
[root@aaa251 yum.repos.d]#

5.yum -y install httpd,安装Apache服务,测试本地仓库的可用性

[root@aaa251 yum.repos.d]# yum -y install httpd
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-90.el7.centos 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-90.el7.centos,它被软件包 httpd-2.4.6-90.el7.centos.x86_64 需要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-90.el7.centos.x86_64 需要
--> 正在处理依赖关系 libaprutil-1.so.0()(64bit),它被软件包 httpd-2.4.6-90.el7.centos.x86_64 需要
--> 正在处理依赖关系 libapr-1.so.0()(64bit),它被软件包 httpd-2.4.6-90.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 apr.x86_64.0.1.4.8-5.el7 将被 安装
---> 软件包 apr-util.x86_64.0.1.5.2-6.el7 将被 安装
---> 软件包 httpd-tools.x86_64.0.2.4.6-90.el7.centos 将被 安装
---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
--> 解决依赖关系完成 依赖关系解决 =====================================================================================================================================================================
Package 架构 版本 源 大小
=====================================================================================================================================================================
正在安装:
httpd x86_64 2.4.6-90.el7.centos c7-media 2.7 M
为依赖而安装:
apr x86_64 1.4.8-5.el7 c7-media 103 k
apr-util x86_64 1.5.2-6.el7 c7-media 92 k
httpd-tools x86_64 2.4.6-90.el7.centos c7-media 91 k
mailcap noarch 2.1.41-2.el7 c7-media 31 k 事务概要
=====================================================================================================================================================================
安装 1 软件包 (+4 依赖软件包) 总下载量:3.0 M
安装大小:10 M
Downloading packages:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 11 MB/s | 3.0 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : apr-1.4.8-5.el7.x86_64 1/5
正在安装 : apr-util-1.5.2-6.el7.x86_64 2/5
正在安装 : httpd-tools-2.4.6-90.el7.centos.x86_64 3/5
正在安装 : mailcap-2.1.41-2.el7.noarch 4/5
正在安装 : httpd-2.4.6-90.el7.centos.x86_64 5/5
验证中 : apr-1.4.8-5.el7.x86_64 1/5
验证中 : mailcap-2.1.41-2.el7.noarch 2/5
验证中 : httpd-tools-2.4.6-90.el7.centos.x86_64 3/5
验证中 : apr-util-1.5.2-6.el7.x86_64 4/5
验证中 : httpd-2.4.6-90.el7.centos.x86_64 5/5 已安装:
httpd.x86_64 0:2.4.6-90.el7.centos 作为依赖被安装:
apr.x86_64 0:1.4.8-5.el7 apr-util.x86_64 0:1.5.2-6.el7 httpd-tools.x86_64 0:2.4.6-90.el7.centos mailcap.noarch 0:2.1.41-2.el7 完毕!
[root@aaa251 yum.repos.d]# systemctl start httpd #启动web服务

已完成Apache Web Server的安装并启动了web服务,浏览器中输入http://192.168.1.251确保Apache Web服务正常运行

以上便是利用本地yum安装web程序,测试其可用性。接下来我们讨论网络yum的搭建方式

四、网络yum源的搭建

此次试验以阿里云的镜像源为例

首先要确保我们的机器能够ping通互联网,然后利用wget工具直接拉取阿里云的镜像源配置文件

1.把默认yum源备份

[root@aaa251 yum.repos.d]# mkdir repo_bak           #创建yum配置文件的备份文件夹 repo_bak
[root@aaa251 yum.repos.d]# mv *.repo repo_bak/ #备份现在有的配置文件到repo_bak中

2. 下载aliyun yum源repo文件(对应自己的系统版本下载即可)

#各系统版本repo文件对应的下载操作
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
CentOS 8
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
[root@aaa251 yum.repos.d]# cat /etc/redhat-release  //查看系统版本
CentOS Linux release 7.7.1908 (Core)

下载CentOS7.*版本的repo文件

[root@aaa251 yum.repos.d]#  wget -O /etc/yum.repos.d/alibaba.repo http://mirrors.aliyun.com/repo/Centos-7.repo
-bash: wget: 未找到命令
#若提示未找到命令,则说明未安装wget这个工具,我们可以
1.利用搭建好的本地yum源直接安装wget工具:`yum -y install wget`
2.或者直接从`http://mirrors.aliyun.com/repo/`官网上download对应版本的epo文件,利用winscp工具上传至服务器即可

下图为ailiyun官网提供的repo配置文件下载地址

http://mirrors.aliyun.com/repo/

我选择第一种方式,yum -y install wget

万事俱备,只欠最后一步了!

[root@aaa251 yum.repos.d]# wget -O /etc/yum.repos.d/alibaba.repo http://mirrors.aliyun.com/repo/Centos-7.repo



3.清除缓存

[root@aaa251 ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base extras updates
Cleaning up everything
Cleaning up list of fastest mirrors
[root@aaa251 ~]# yum makecache //把yum源缓存到本地,加快软件的搜索好安装速度
[root@aaa251 ~]# yum list | wc -l //总共列出了10564个rpm包
10564

以上便是网络yum源的配置方式,接下来我们来谈论yum的使用

五、yum怎么玩?

1.YUM语法

描述:基于RPM的包管理工具。

用法:yum [选项] [指令] [软件包…]

选项:-y 安装过程中出现所有提示回答为 YES。

2.实例

[root@aaa251 ~]# yum clean all		#清空YUM缓存
[root@aaa251 ~]# yum makecache #把yum源缓存到本地,加快软件的搜索及安装速度
[root@aaa251 ~]# yum -y install mysql-community-server #交互式安装
[root@aaa251 ~]# yum remove httpd #卸载软件包
[root@aaa251 ~]# yum update #检查所有的软件包并更新
[root@aaa251 ~]# yum list |grep httpd #列出系统已安装的及yum源中所有可用的软件包,已安装的软件包使用@标记
[root@aaa251 ~]# yum -y install bash-completion && reboot #实现bash命令自动补全功能,重启生效(最小化系统是没有安装这个软件包)
[root@aaa251 ~]# yum -y nstall epel-release #安装epel源
[root@aaa251 ~]# yum -y install net-tools #安装ifconfig工具(最小化系统是无法执行ifconfig命令)
[root@aaa251 ~]# yum -y instal iputils #安装ping工具(最小化系统是无法执行ping命令)
[root@aaa251 ~]# yum provides ` which ifconfig` #查找ifconfig命令是由哪个软件包安装的
[root@aaa251 ~]#

3.分享一个yum常见的报错案例

使用yum install 安装程序时,提示“另外一个程序锁定了 yum;等待它退出……”

原因:

yum命令一次只能安装一个软件,所以当你下载安装第二个软件包时,系统进程锁会锁定yum,这时,关闭进程甚至关闭虚拟机重启再执行yum还是会出现同样情况

解决:
强制采用rm -f /var/run/yum.pid关闭yum进程即可



更多IT技术,请微信搜索公众号“秦露露”或者扫描下方二维码关注

3.yum学习笔记的更多相关文章

  1. Zabbix学习笔记(yum源安装)

    Zabbix学习笔记(yum源安装) 链接:https://pan.baidu.com/s/19RXhumkB-ulpI4BGOa5b_A 提取码:115h 复制这段内容后打开百度网盘手机App,操作 ...

  2. Linux 学习笔记 5 文件的下载、压缩、解压、初步认识yum

    写在前面 上节我们通过简单的几组命令,已经完全的实现了文件的移动.删除.更名.以及复制,我们最常用的基本玩法,本节将带着大家学习压缩.解压的相关步骤. Linux 学习笔记 4 创建.复制.移动.文件 ...

  3. Python学习笔记—Python基础1 介绍、发展史、安装、基本语法

    第一周学习笔记: 一.Python介绍      1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  4. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  5. linux学习笔记2-linux的常用命令

    第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些常用的终端命令 ======== ...

  6. PHP 开发 APP 接口 学习笔记与总结 - Redis 缓存

    Redis 可以定期将数据备份到磁盘中(持久化),同时不仅仅支持简单的key/value 类型的数据,同时还提供list,set,hash等数据结构的存储:Memcache 只是简单的key/valu ...

  7. CentOS学习笔记--Tomcat安装

    Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...

  8. (转)redis 学习笔记(1)-编译、启动、停止

    redis 学习笔记(1)-编译.启动.停止   一.下载.编译 redis是以源码方式发行的,先下载源码,然后在linux下编译 1.1 http://www.redis.io/download 先 ...

  9. DBus学习笔记

    摘要:DBus作为一个轻量级的IPC被越来越多的平台接受,在MeeGo中DBus也是主要的进程间通信方式,这个笔记将从基本概念开始记录笔者学习DBus的过程 [1] DBus学习笔记一:DBus学习的 ...

随机推荐

  1. Thread 类中的 yield 方法有什么作用?

    使当前线程从执行状态(运行状态)变为可执行态(就绪状态). 当前线程到了就绪状态,那么接下来哪个线程会从就绪状态变成执行状态呢?可 能是当前线程,也可能是其他线程,看系统的分配了.

  2. 什么是 OAuth?

    OAuth 代表开放授权协议.这允许通过在 HTTP 服务上启用客户端应用程序(例 如第三方提供商 Facebook,GitHub 等)来访问资源所有者的资源.因此,您可 以在不使用其凭据的情况下与另 ...

  3. AQS 支持两种同步方式?

    1.独占式 2.共享式 这样方便使用者实现不同类型的同步组件,独占式如 ReentrantLock,共享式如 Semaphore,CountDownLatch,组合式的如 ReentrantReadW ...

  4. 学习FastDfs(一)

    一.简介 FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server).存储服务器(storage server)和客户端(client)三个部分组成 fastfds有 ...

  5. C语言之标识符(知识点3)

    条件:用户表示符仅由大小写英文字母,数字和下划线组成,且第一个字符不能是数字 注意: 不能和关键字或函数库相同名字 但关键字的大写就可以用了,因为关键字都是小写的,而C语言区分大小写 案例

  6. 浏览器默认解析文档模式IE7

    背景:实习期间开发了一套页面,兼容到IE8+,可是在给产品体验时,他的QQ浏览器默认解析到了文档模式IE7,出现了页面的兼容性问题.问题排查:QQ浏览器目前有两个模式,极速模式和兼容模式,其中极速模式 ...

  7. HTML5 & CSS3 内容收集(1)

    1. HTML发展历史介绍 2. 浏览器支持 2.1 新增标签支持 在html5 中新增了很多的标签,其中包括8个新增语义结构标签.header, section, footer, aside, na ...

  8. PAT B1056组合数的和

    给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字.要求所有可能组合出来的 2 位数字的和.例如给定 2.5.8,则可以组合出:25.28.52.58.82.85 ...

  9. Mxnet速查_CPU和GPU的mnist预测训练_模型导出_模型导入再预测_导出onnx并预测

    需要做点什么 方便广大烟酒生研究生.人工智障炼丹师算法工程师快速使用mxnet,所以特写此文章,默认使用者已有基本的深度学习概念.数据集概念. 系统环境 python 3.7.4 mxnet 1.9. ...

  10. Blazor组件自做四 : 使用JS隔离封装signature_pad签名组件

    运行截图 演示地址 响应式演示 感谢szimek写的棒棒的signature_pad.js项目, 来源: https://github.com/szimek/signature_pad 正式开始 1. ...