详解使用ISO镜像搭建私有yum源

有时候在我们本地搭建一些Linux上的程序运行环境或者安装一些软件的时候,难免会遇到需要使用yum方式安装一些依赖库,但是苦于没有网,无法下载依赖库软件的情况。又或者是在机房中无法连接外网的情况下需要安装一大堆依赖的基础软件,怎么解决这种问题呢?下面我就这种情况介绍两种搭建私有yum源的方案:

一、基于文件协议的本地yum源的搭建:

1、准备工作:
(1)CentOS镜像,此处我使用CentOS-6.9-x86_64-bin-DVD1.iso,可从网络自行下载
(2)已经安装好的一台虚拟机,此处我使用的是Vmware虚拟机工具,虚拟机安装步骤此处略

2、打开本地的虚拟机实例

3、选中打开之后的虚拟机实例,右键->设置,如下所示:

4、选择本地下载好的ISO镜像文件,如下所示:

5、勾选已连接和启动时连接选项,如下所示:

6、使用远程连接工具SecureCRT或者XShell远程连接到该Linux实例,首先创建ISO镜像的挂载目录,然后将ISO镜像挂载在创建好的挂载目录下,挂载过程是通过Linux的光驱/dev/cdrom完成,操作过程如下:

[root@WB-BLOG ~]# mkdir -pv /media/cdrom/
[root@WB-BLOG ~]# mount /dev/cdrom /media/cdrom/


挂载完成可以使用"df -h"命令查看:

7、进入到yum源的配置文件目录,/etc/yum.repos.d/,首先备份原有的yum源配置文件

[root@WB-BLOG ~]# cd /etc/yum.repos.d/
[root@WB-BLOG yum.repos.d]# ls
[root@WB-BLOG yum.repos.d]# mkdir -pv backup
[root@WB-BLOG yum.repos.d]# mv ./*.repo ./backup/

8、编辑自定义yum源配置文件server.repo :

[root@WB-BLOG yum.repos.d]# vim server.repo

写入如下内容:

[LocalRepo]
name=LocalRepo
baseurl=file:///media/cdrom/
enabled=1
gpgcheck=0

参数含义:

[LocalRepo]: 表示一个yum源配置段的名称,可以随意命名
name:表示该yum源的名称
baseurl:表示yum源的目录,使用file:///表示指向的是本地文件系统上的目录,注意:有三个斜杠。
enabled:表示该yum配置段是否生效,1表示生效,0表示无效
gpgcheck:表示是否对yum源指定的软件包进行安全校验,0表示不校验,本地挂载的镜像可以认为软件就是安全的,不必校验;

9、保存退出,然后执行"yum clean all"命令清楚原有的yum源缓存:

[root@WB-BLOG yum.repos.d]# yum clean all

10、然后执行"yum list all"查看本地yum源是否生效,如果可以输出常用软件包,表示本地yum源配置成功,如下:

[root@WB-BLOG yum.repos.d]# yum list all

11、至此,基于本地文件协议的yum源配置完成,可以使用"yum install [软件名称]" 命令安装常见的软件,如:"yum install gcc gcc-c++"。如果软件安装完成之后,可以使用"umount /media/cdrom/" 将挂载目录卸载。

二、基于http的远程私有yum的搭建:

1、准备工作:
(1)CentOS镜像,此处我使用CentOS-6.9-x86_64-bin-DVD1.iso,可从网络自行下载
(2)已经安装好的一台虚拟机,此处我使用的是Vmware虚拟机工具,虚拟机安装步骤此处略
(3)确保服务器上安装了http服务器,可以是任意的可以提供http的web服务器即可,此处使用httpd

2、将ISO镜像文件上传至需要作为yum源的虚拟机,此处假设该虚拟机的主机名称为WB-BLOG,ip为:192.168.0.10,使用SecureCRT或者XShell远程连接工具连接至WB-BLOG主机,然后使用sz命令或者使用图形界面工具FlashFXP上传至WB-BLOG主机的/home/software目录下

[root@WB-BLOG ~]# rz

3、创建挂载目录,为了方便,此处直接使用httpd默认的目录,/var/www/html/

4、将上传的ISO镜像文件挂载到/var/www/html目录下,如下所示:

代码如下:

[root@WB-BLOG software]# mount -o loop -t iso9660 /home/software/CentOS-6.9-x86_64-bin-DVD1.iso /var/www/html

参数含义:
  -o loop:指定设备的挂载方式,loop表示把一个文件当成硬盘分区挂载到系统
  -t iso9660:指定文件系统的类型,ISO文件的类型对应为iso9660,其他文件类型可以自行查资料

5、进入到yum源的配置文件目录,备份原有的yum源配置文件,然后编辑server.repo配置文件,添加如下内容:

[root@WB-BLOG ~]# cd /etc/yum.repos.d/
[root@WB-BLOG yum.repos.d]# mkdir -pv backup && mv ./*.repo ./backup
[root@WB-BLOG yum.repos.d]# vim server.repo

添加如下内容:

 [HttpRepo]
 name=HttpRepo
 baseurl=http://192.168.0.10
 enabled=1
 gpgcheck=0
参数含义:
 name:表示该yum源的名称
 baseurl:表示yum源的软件目录,"http://"表示该yum源为一个远程的http协议的yum源。当然此处还可以为ftp协议或者是其他的文件传输协议;
 enabled:表示该yum配置段是否生效,1表示生效,0表示无效
 gpgcheck:表示是否对yum源指定的软件包进行安全校验,0表示不校验,本地挂载的镜像可以认为软件就是安全的,不必校验;

6、启动httpd服务,然后执行"yum clean all"命令清除之前的缓存,如下所示:

[root@WB-BLOG yum.repos.d]# service httpd restart
[root@WB-BLOG yum.repos.d]# yum clean all
[root@WB-BLOG yum.repos.d]# yum list all

7、至此,基于http协议的私有yum源搭建完毕,此方式的灵活性较高,可以供其他的同一个网段内的主机配置使用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解使用ISO镜像搭建私有yum源

    有时候在我们本地搭建一些Linux上的程序运行环境或者安装一些软件的时候,难免会遇到需要使用yum方式安装一些依赖库,但是苦于没有网,无法下载依赖库软件的情况.又或者是在机房中无法连接外网的情况下需要安装一大堆依赖的基础软件,怎么解决这种问题呢?下面我就这种情况介绍两种搭建私有yum源的方案: 一.基于文件协议的本地yum源的搭建: 1.准备工作: (1)CentOS镜像,此处我使用CentOS-6.9-x86_64-bin-DVD1.iso,可从网络自行下载 (2)已经安装好的一台虚拟机,此处

  • 详解Ubuntu Docker Registry 搭建私有仓库

    服务器版本 Ubuntu 16.04 LTS. 安装命令: 复制代码 代码如下: $ docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry Registry 服务默认会将镜像保存在/var/lib/registry目录下,上面命令设置保存目录在/opt/registry下,我们可以看下 Registry 容器状态: $ docker ps CO

  • 详解CentOS配置Nginx官方的Yum源

    一直都在使用阿里云购买的centos进行项目部署,最近在本地机器搭建了虚拟机进行某些项目联系时,却发现使用命令yum -y install nginx不能安装nginx,本地centos系统的yum仓库并没有nginx,查找资料得以解决,做记录如下: 由于yum源中没有我们想要的nginx,那么我们就需要创建一个"/etc/yum.repos.d/nginx.repo"的文件,其实就是新增一个yum源. [root@localhost ~]# vim /etc/yum.repos.d/

  • 详解CentOS7用阿里云Docker Yum源在线安装Docker 17.03.2

    参考文档 官方Docker安装文档:https://docs.docker.com/install/linux/docker-ce/centos 阿里云Docker安装文档:https://yq.aliyun.com/articles/110806 一键安装Docker https://github.com/cookcodeblog/OneDayDevOps/blob/master/components/docker/install_docker_ce.sh 安装步骤 删除已安装的Docker

  • 详解Django+Vue+Docker搭建接口测试平台实战

    一. 开头说两句 大家好,我叫林宗霖,是一位测试工程师,也是全栈测开训练营中的一名学员. 在跟着训练营学习完Docker容器技术系列的课程后,理所应当需要通过实操来进行熟悉巩固.正好接口自动化测试平台需要迁移到新的测试服务器上,就想要体验一番Docker的"一次构建,处处运行".这篇文章简单介绍了下这次部署的过程,其中使用了Dockerfile定制镜像和Docker-Compose多容器编排. 二. 项目介绍 项目采用的是前后端分离技术来实现的,前端是Vue+ElementUI,后端是

  • 详解三分钟快速搭建分布式高可用的Redis集群

    这里的Redis集群指的是Redis Cluster,它是Redis在3.0版本正式推出的专用集群方案,有效地解决了Redis分布式方面的需求.当单机内存.并发.流量等遇到瓶颈的时候,可以采用这种Redis Cluster方案进行解决. 分区规则 Redis Cluster采用虚拟槽(slot)进行数据分区,即使用分散度良好的哈希函数把所有键映射到一个固定范围的整数集合里,这里的整数就是槽(slot).Redis Cluster槽的范围是0~16383,计算公式:slot=CRC16(key)

  • 详解用Docker快速搭建一个博客网站

    目录 一.准备工作 二.部署流程  三.访问测试 Halo 是一款现代化的个人独立博客系统,给习惯写博客的同学多一个选择. 官网地址:https://halo.run/ 一.准备工作 本章教程基于Docker搭建,所以需要你提前在服务器上安装好Docker环境. Docker安装教程:https://www.jb51.net/article/94067.htm 二.部署流程 (1)创建工作目录 mkdir ~/.halo && cd ~/.halo (2)下载配置文件到工作目录 wget

  • 详解ES6实现类的私有变量的几种写法

    闭包实现类的私有变量方式 私有变量不共享 通过 new 关键字 person 的构造函数内部的 this 将会指向 Tom,开辟新空间,再次全部执行一遍, class Person{ constructor(name){ let _num = 100; this.name = name; this.getNum = function(){ return _num; } this.addNum = function(){ return ++_num } } } const tom = new Pe

  • 详解Redis集群搭建的三种方式

    一.单节点实例 单节点实例还是比较简单的,平时做个测试,写个小程序如果需要用到缓存的话,启动一个 Redis 还是很轻松的,做为一个 key/value 数据库也是可以胜任的 二.主从模式(master/slaver) redis 主从模式配置 主从模式: redis 的主从模式,使用异步复制,slave 节点异步从 master 节点复制数据,master 节点提供读写服务,slave 节点只提供读服务(这个是默认配置,可以通过修改配置文件 slave-read-only 控制).master

  • 详解java实践SPI机制及浅析源码

    1.概念 正式步入今天的核心内容之前,溪源先给大家介绍一下关于SPI机制的相关概念,最后会提供实践源代码. SPI即Service Provider Interface,属于JDK内置的一种动态的服务提供发现机制,可以理解为运行时动态加载接口的实现类.更甚至,大家可以将SPI机制与设计模式中的策略模式建立联系. SPI机制: 从上图中理解SPI机制:标准化接口+策略模式+配置文件: SPI机制核心思想:系统设计的各个抽象,往往有很多不同的实现方案,在面向的对象的设计里,一般推荐模块之间基于接口编

随机推荐