离线yum源挂载及yum服务器搭建
在进行现网环境搭建的时候,绝大多数情况下,centos或redhat(以下以centos为例)服务器是跟公网隔离的,因此需要找一台服务器挂载自己的yum源。
一、离线yum源包的制作
离线yum源可以从官网下载镜像文件直接用(具体怎么用下面会介绍),也可以自己下载rpm包后自己制作。
1、从官网下载镜像文件
既然是制作yum源,当然是希望镜像文件内包含的包越全越好,因此从官网下载时,尽量下载“Everything ISO”,另外一个“DVD ISO”是通用版,里面的包并不全,还有一个“Minimal ISO”就更不用说了,是centos最小安装版(相当于是windows的纯净系统)。centos
7版本的“Everything ISO”镜像下载地址如下(自行选择镜像服务器和下载的系统版本):
http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1511.iso
下载的文件名示例:CentOS-7-x86_64-Everything-1511.iso
2、自行下载rpm包制作
如果已经下载好了rpm包,可以自行制作一个yum源(yum仓库)。将下载的rpm包上传到centos服务器上(比如/data/rpm目录下),然后进入存放rpm包的目录,执行以下命令:
# createrepo .
这样,rpm包存放的目录就可以作为yum源目录使用了(后面说明如何使用),可以将这个目录打包后,放到其他地方也可以使用。
如上例打包 : cd /data;tar -zcvf rpm.tar.gz rpm/
【注】:如果提示找不到createrepo命令,可以使用yum install createrepo安装该程序。如果无法联网安装,需要自行到网上下载rpm包安装,尤其是还要下载一些依赖包,例如createrepo-0.9.9-23.el7.noarch版本就依赖于以下包:
[root@hps105 test]# yum deplist createrepo-0.9.9-23.el7.noarch
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* epel: mirror01.idc.hinet.net
* extras: mirrors.btte.net
* updates: mirrors.163.com
package: createrepo.noarch 0.9.9-23.el7
dependency: /bin/sh
provider: bash.x86_64 4.2.46-19.el7
dependency: /usr/bin/python
provider: python.x86_64 2.7.5-34.el7
dependency: deltarpm
provider: deltarpm.x86_64 3.6-3.el7
dependency: libxml2-python
provider: libxml2-python.x86_64 2.9.1-6.el7_2.2
dependency: pyliblzma
provider: pyliblzma.x86_64 0.5.3-11.el7
dependency: python >= 2.1
provider: python.x86_64 2.7.5-34.el7
dependency: python(abi) = 2.7
provider: python.x86_64 2.7.5-34.el7
dependency: python-deltarpm
provider: python-deltarpm.x86_64 3.6-3.el7
dependency: rpm >= 4.1.1
provider: rpm.x86_64 4.11.3-17.el7
dependency: rpm-python
provider: rpm-python.x86_64 4.11.3-17.el7
dependency: yum >= 3.4.3-4
provider: yum.noarch 3.4.3-132.el7.centos.0.1
dependency: yum-metadata-parser
provider: yum-metadata-parser.x86_64 1.1.4-10.el7
二、离线yum源的配置
如上例,下载好ISO镜像,或者是创建好rpm的包(如上例,即rpm.tar.gz)之后,就是如何使用这些包创建离线yum源(即离线yum仓库)了。
1、系统ISO镜像文件
使用iso文件制作yum源,需要先挂载,然后才能使用。
1、将iso文件上传(假设上传到/data目录下);
2、创建挂载目录:
# mkdir -p /data/iso
3、挂载iso文件:
# cd /data
# mount -o loop -t iso9660 CentOS-7-x86_64-Everything-1511.iso /data/iso
4、配置yum
# cd /etc/yum.repos.d/
# mkdir bak
# mv *repo bak/
# vim local.repo
local.repo文件内容如下:
[iso]
name=CentOS-7-x86_64-Everything-iso
baseurl=file:///data/iso
gpgcheck=0
enabled=1
5、然后验证即可:
# yum clean all
# yum makecache
看是否有报错。
2、自行制作的yum仓库
如上例,如果是自行制作的rpm.tar.gz文件,直接解压后配置一下即可。
1、上传rpm.tar.gz文件(假设上传到/data下);
2、解压
# cd /data
# tar -zxvf rpm.tar.gz -C /data/rpm
3、配置yum
# cd /etc/yum.repos.d/
# mkdir bak
# mv *repo bak/
# vim local_rpm.repo
local_rpm.repo文件内容如下:
[rpm]
name=rpm_package
baseurl=file:///data/rpm
gpgcheck=0
enabled=1
4、然后验证即可:
# yum clean all
# yum makecache
看是否有报错。
三、yum服务器搭建
上述步骤及配置,都只能在本地使用离线yum仓库,如果希望其他服务器(例如10.1.245.102)也能使用该服务器(例如10.1.245.105)的离线yum仓库,就需要在该服务器上通过http服务或者是ftp服务将yum仓库共享出去,这里提供的方法是http方式。
注:这里提供的http方式需要占用80端口,其他服务器也不能将这个端口防火墙过滤掉。
1、搭建http服务器(按上例10.1.245.105,如果已搭建,可以继续下一步)
# yum install -y httpd
# systemctl enable httpd
# systemctl start httpd
注:如果无法通过yum方式安装,请依次下载以下包进行安装(centos7.0系统为例):
# rpm -ivh apr-1.4.8-3.el7.x86_64.rpm
# rpm -ivh apr-util-1.5.2-6.el7.x86_64.rpm
# rpm -ivh httpd-tools-2.4.6-31.el7.x86_64.rpm
# rpm -ivh mailcap-2.1.41-2.el7.noarch.rpm
# rpm -ivh httpd-2.4.6-31.el7.x86_64.rpm
# systemctl enable httpd
# systemctl start httpd
2、按照如上方式启动的httpd服务,占用端口80,默认访问路径是/var/www/html/,因此需要将上例中创建的/data/rpm、/data/iso目录做个软连接到这个目录下:
# mkdir -p /var/www/html/
# ln -s /data/rpm /var/www/html/rpm
# ln -s /data/iso /var/www/html/iso
3、在其他服务器(按上例,即10.1.245.102)上配置yum源:
# cd /etc/yum.repos.d/
# mkdir bak
# mv *repo bak/
# vim http.repo
http.repo文件内容如下:
[http_iso]
name=iso_105
baseurl=http://10.1.245.105/iso
gpgcheck=0
enabled=1[http_rpm]
name=rpm_105
baseurl=http://10.1.245.105/rpm
gpgcheck=0
enabled=1
4、然后验证即可:
# yum clean all
# yum makecache
看是否有报错。
离线yum源挂载及yum服务器搭建的更多相关文章
- 基于VSFTP的本地YUM源及光盘YUM源搭建
基于VSFTP的本地YUM源及光盘YUM源搭建 一.yum环境的本地源搭建(基于VSFTP): 1)安装vsftp; *********************************** ...
- CentOS-7 本地yum源挂载
在Linux无法连接到互联网时,手动安装依赖是及其麻烦的一件事,需要花费大量的时间寻找rpm包.但在配置本地yum源后,绝决依赖问题就会变得非常简单. 一.准备 centos-7.ISO镜像文件: 二 ...
- centos yum源配置 与yum配置文件
参考博客 http://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html 1.centos . yum配置文件在目录 /etc/yum.re ...
- CentOS配置本地yum源/阿里云yum源/163yuan源,并配置yum源的优先级
一.用Centos镜像搭建本地yum源 由于安装centos后的默认yum源为centos的官方地址,所以在国内使用很慢甚至无法访问,所以一般的做法都是把默认的yum源替换成aliyun的yum源或者 ...
- Linux下更换默认yum源为网易yum源的操作记录
废话不多说,下面记录了centos下更换系统默认yum源为网易yum源的操作过程:1)备份原有的默认yum源[root@bastion-IDC ~]# cp /etc/yum.repos.d/Cent ...
- 阿里yum源与华为yum源的配置
如何使用华为云提供的CentOS镜像源(x86_64)? 更新时间: 2019/08/16 11:17 查看PDF 分享 微博 分享文档到微博 微信 扫码分享文档 ...
- centos配置网络yum源 和本地yum源
一,网络yum源 1.备份 yum文件 cd /etc/ cp -r yum.repos.d yum.repos.d.bak 2.在系统联网的情况下执行下面命令下载 wget -O /etc/yu ...
- 修改CentOS默认yum源为国内yum镜像源
CentOS默认的yum源不是国内的yum源,在通过yum安装一些软件的时候,会出现这样那样的错误,以及在下载安装的速度上也是非常慢的. 所以这个时候就需要将yum源替换成国内的yum源,国内主要开源 ...
- CentOS修改默认yum源为国内yum镜像源
修改CentOS默认yum源为mirrors.163.com 1.首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repomv /etc/yum.repos. ...
随机推荐
- centos6.8 ssh 问题
xshell用ROOT不能登录 需要把 /etc/ssh/sshd_config 中的端口新建一个 不能用默认的
- charles 验证工具
本文参考:charles 验证工具 验证工具/validate 验证工具 Charles可以通过发送到W3C HTML验证器,W3C CSS验证器和W3C Feed验证器来验证记录的响应. 验证报告在 ...
- 使用PowerCLI给ESXi批量设置时间和配置NTP
在现代的各种业务系统中,时间同步很重要.现在VMware的虚拟化解决方案应用非常广泛,给ESXi宿主机一个统一准确的时间,也给客户机系统一个准确的时间. 生产环境中主机数量少的话倒是可以手动设置,但是 ...
- Mysql统计每年每个月的数据——详细教程
Mysql统计每年每个月的数据(前端页面统计图实现) 最终想实现的效果图,在这里就不多废话了,直接上效果图,由于测试数据有几个月是为0的,所以数据图看着会有点怪怪. 接下来是数据库的两个表,这里直接给 ...
- await/async闲说
C#中await/async闲说 自从C#5.0增加异步编程之后,异步编程越来越简单,async和await用的地方越来越多,越来越好用,只要用异步的地方都是一连串的异步,如果想要异步编程的时候,需要 ...
- html5 table的表头固定的HTML代码
table的表头固定的HTML代码 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...
- Centos7安装vim8.0 + YouCompleteMe
更新yum sudo yum upgrade sduo yum update 下载git sudo yum install git 升级vim以及gcc 升级gcc sudo yum install ...
- Docker下搭建mongodb副本集
背景 有需求需要对mongodb做一个容灾备份.根据官网,发现mongodb最新版本(4.0)已经抛弃了主从模式而采用副本集进行容灾.副本集的优势在于:"有自动故障转移和恢复特性,其任意节点 ...
- Redis 常用命令学四:集合类型命令
1.增加和删除命令 127.0.0.1:6379> SADD st a (integer) 1 127.0.0.1:6379> SADD st r f g (integer) 3 127. ...
- c++ string类型成员变量在调用构造函数后未能正确赋值
struct RelItem{ string segName; Elf32_Rel* rel; string relName; RelItem(string seg, int addr, string ...