概述

  YUM 主要用于自动安装、升级 rpm 软件包,它能自动查找并解决 rpm 包之间的依赖关系。要功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的 repository(件仓库),这个软件仓库我们习惯称为 yum 源。网络上有大量的 yum 源,但由于受到网络环的限制,导致软件安装耗时过长甚至失败。特别是当有大量服务器大量软件包需要安装时,慢的进度条令人难以忍受。因此我们在优化系统时,都会更换国内的源。相比较而言,本地 YUM 源服务器最大优点是局域网的快速网络连接和稳定性。有了局域网中YUM 源服务器,即便在 Internet 连接中断的情况下,也不会影响其他 YUM 客户端的软件安装升级。

1.YUM是什么?

  YUM(Yellow Dog Updater Modified)为多个 Linux 发行版的软件包管理器,例如 Redhad RHEL、CentOS & Fedora。YUM 主要用于自动安装,升级 rpm 软件包,他能自动查找并解决 rpm 包的依赖关系,YUM 自动下载 YUM 包并安装,类似软件管家的一键安装功能。

2.YUM源是什么

(1)要成功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的repository(软件仓库),这个软件仓库我们习惯称为 yum 源,
(2)网络上有大量的 yum 源,但由于受到网络环境的限制,导致软件安装耗时过长甚至失败,特别是当有大量服务器大量软件包需要安装时,缓慢的进度条令人难以忍受,因此我们在优化系统时,都会更换国内的源
(3)相比较而言,本地 YUM 源服务器最大优点是局域网的快速网络连接和稳定性,有了局域网中的 YUM 源服务器,即便在 Internel 连接中断的情况下,也不会影响其他 YUM 客户端的软件安装和升级。

搭建内网中的YUM源

系统:CentOS6.5

YUM 源配置文件的存放路径

[root@aery ~]# cd /etc/yum.repos.d/
[root@aery yum.repos.d]# ls
CentOS-Base.repo CentOS-Base.repo.bak
CentOS-Media.repo CentOS-Debuginfo.repo
CentOS-Vault.repo

对比修改后的 YUM 源与原 YUM 配置文件的区别

[root@aery yum.repos.d]# vimdiff CentOS-Base.repo CentOS-Base.repo.bak

服务端配置

1. 创建目录用来做YUM仓库使用

[root@aery ~]# mkdir /yum_source
[root@aery ~]# cd /yum_source/
[root@aery yum_source]#
# 上传 rpm 包到此目录,此目录下面还可以包括文件夹
获取 rpm 软件包的几种方法
() 开启 YUM 缓存
() yumdownloader pcre-devel openssl-devel # 只下载软件不安装,作为忘记开启YUM 缓存的补救手段

我们这里使用系统光盘中的RPM包作为我们YUM仓库的YUM源文件

[root@aery yum_source]# mount /dev/cdrom /mnt/            //挂载系统光盘
[root@aery yum_source]# cp /mnt/Packages/* /yum_source/ //将光盘下的所有rpm包拷贝到我们创建的YUM仓库的目录下

2. 安装 createrepo 软件,用于生成 yum 仓库数据库的软件

[root@aery ~]# yum -y install createrepo        //安装createrepo(YUM仓库软件)软件
[root@aery ~]# rpm -q createrepo //检查软件是否安装

3. 初始化 repodata 索引文件(每次发布新的内容都需要更新)

更多createrepo命令的使用参考:http://linux.51yip.com/search/createrepo

[root@aery ~]# createrepo -pdo /yum_source/ /yum_source/        //初始化
Spawning worker with pkgs
...... //部分内容省略
Sqlite DBs complete
[root@aery ~]# createrepo --update /yum_source/ //每加入一个rpm包就要更新一次

4. 使用 python 命令开启 80 端口,(要求在 rpm 的路径下执行此命令,)此命令的功能就是通过浏览器把内容发布出去

[root@aery ~]# cd /yum_source/
[root@aery yum_source]# python -m SimpleHTTPServer &> /dev/null &
[]

5. 提供 web 服务查看 80 端口是否开启

[root@aery yum_source]# lsof -i :
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python root 3u IPv4 0t0 TCP *:http (LISTEN)

打开浏览器测试

客户端配置

[root@aery ~]# curl -I 192.168.1.105                //检查 YUM 发布的页面客户端是否可以访问
HTTP/1.0 OK
Server: SimpleHTTP/0.6 Python/2.6.
Date: Sat, Sep :: GMT
Content-type: text/html; charset=UTF-
Content-Length: [root@aery ~]# cd /etc/yum.repos.d/ //切换到 yum 配置文件
[root@aery yum.repos.d]# mkdir bak //创建一个存放暂时不用的yum源配置文件目录
[root@aery yum.repos.d]# mv CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo bak/ //将暂时不用的yum源配置文件移动到其他目录
[root@aery yum.repos.d]# > CentOS-Base.repo //清空 yum 配置文件
[root@aery yum.repos.d]# vim CentOS-Base.repo //编辑 YUM 配置文件
[inside]
name=inside yum source
baseurl=http://192.168.1.105
enabled=
gpgcheck= [root@aery yum.repos.d]# yum clean all //需要先清除 yum 以前的缓存
Loaded plugins: fastestmirror, refresh-packagekit, security
Cleaning repos: inside
Cleaning up Everything
[root@aery yum.repos.d]# yum makecache //更新 YUM 缓存

安装DNS服务测试

[root@aery ~]# yum -y install bind
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bind.x86_64 :9.8.-0.17.rc1.el6_4. will be installed
--> Finished Dependency Resolution
...... //部分内容省略

搭建YUM仓库的更多相关文章

  1. 搭建yum仓库与定制rpm包

    笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 当我们自动化部署集群的时候,想要快速的安装所有服务,搭建yum仓库与定制rpm包是我们首先要做的 原创作品,转载请 ...

  2. linux局域网搭建yum仓库(本地(file)、网络(ftp、http))

    linux局域网搭建yum仓库(本地(file).网络(ftp.http)) yum配置文件解释: [ ]:定义仓库,base为仓库的名字,可任意 name:仓库的简短文字描述 baseurl:仓库的 ...

  3. 使用ftp搭建yum仓库

    此次操作在VMware Workstation虚拟机的CentOS7.5下进行 这里使用两台Linux主机,下表是它们所使用的操作系统以及IP地址. 两台Linux主机所使用的操作系统以及IP地址 操 ...

  4. VMware15.5版本通过挂载系统光盘搭建yum仓库

    VMware15.5版本通过挂载系统光盘搭建yum仓库一.1.打开CentOS 7虚拟机. 2.登录虚拟机,选择未列出  用户名:root 密码:输入自己设置的密码 点击登录. 3.右键单击打开终端. ...

  5. 最简化搭建yum仓库

    在使用rpm安装软件包时,时常会遇到一些软件依赖性问题,如果是简单的一两个依赖性还是可以手动解决.要是出现大量的依赖性问题的话会让增大工作量.yum是一个很好的前端程序,可解决软件包相关依赖性,可在多 ...

  6. 同步阿里云镜像到本地,在本地搭建YUM仓库

    1.下载阿里云镜像repo文件 项目使用CentOS6系统,因此我下载的文件是: # CentOS-Base.repo # # The mirror system uses the connectin ...

  7. 自动化部署必备技能—搭建YUM仓库

    导言: YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库) ...

  8. CentOS7下搭建yum仓库

    服务端配置: 1.开启yum缓存 sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf [root@control /]# cat /etc/yum.c ...

  9. 搭建 yum 仓库

    翻译来自:https://wiki.centos.org/HowTos/CreateLocalRepos 本地仓库 http 仓库 测试 Steps: 1.把rpm包放在一个目录中.可以根据需要在该目 ...

随机推荐

  1. NPOI生成excel并下载

    NPOI文件下载地址:http://npoi.codeplex.com/ 将文件直接引用至项目中即可,,,,, 虽然网上资料很多,但有可能并找不到自己想要的功能,今天闲的没事,所以就稍微整理了一个简单 ...

  2. LNK2022: 元数据操作失败(8013118D): 重复类型(FactoryContext)中的布局信息不一致: (0x02000230)

    1. c++项目 A 编译成A.lib文件 2. c++项目B引用这个A.lib文件 3. A项目存在一个类跟B项目一样,但是A项目其他文件需要这个类里面的某些东西,我将不需要的全部注释掉,然后编译A ...

  3. make太慢了,加快编译速度的方法 make -j

    make -j 既然IO不是瓶颈,那CPU就应该是一个影响编译速度的重要因素了. 用make -j带一个参数,可以把项目在进行并行编译,比如在一台双核的机器上,完全可以用make -j4,让make最 ...

  4. Flask入门的第一个项目进阶版

    前言: 此次版本增加[一对多]数据库关系和动态路由设置. 一.数据库设计 environments表与variable1表的关系为:一对多.variable1.env_id设置为外键,与environ ...

  5. Python_练习题_49

    # 3.用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb name=['alex','wupeiqi','yuanhao','nezha'] def func(item): re ...

  6. HDU - 4027 线段树减枝

    这题太坑了...满满的都是坑点 1号坑点:给定左右区间有可能是反的...因为题目上说x,y之间,但是没有说明x,y的大小关系(害我一直RE到怀疑人生) 2号坑点:开根号的和不等于和开根号(还好避开了) ...

  7. Python_迭代器、生成器、列表推导式,生成器表达式

    1.迭代器 (1)可迭代对象 s1 = ' for i in s1: print(i) 可迭代对象 示例结果: D:\Python36\python.exe "E:/Python/课堂视频/ ...

  8. 学习yii2.0——行为

    学习yii框架的行为之前,需要先了解yii的事件,可以参考这篇博客: 怎么理解行为 yii框架的行为有点类似于trait,可以有个大体的概念: 1.有一个类A,包含一些属性和方法,很普通的一个类A. ...

  9. Druid Monitor开启登录界面

    <!-- druid --> <filter> <filter-name>druidWebStatFilter</filter-name> <fi ...

  10. JSON for-in 遍历

    (代码均以js代码示例) 1.可以使用 for-in 来循环对象的属性,使用中括号([])来访问属性的值: 这中方法便于一些在不确定有属性的情况下使用. var myObj = { "nam ...