本文参考链接:https://segmentfault.com/a/1190000015155966

*有时候在我们本地搭建一些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源搭建完毕,此方式的灵活性较高,可以供其他的同一个网段内的主机配置使用。

 

通过ISO镜像简单搭建本地yum仓库的更多相关文章

  1. 如何手工搭建本地Yum仓库

    如何手工搭建本地Yum仓库(重点推荐)  https://www.linuxidc.com/Linux/2016-09/135480.htm CentOS7.2 创建本地YUM源和局域网YUM源: h ...

  2. 其他综合-搭建本地yum仓库及自制rpm包

    搭建本地yum仓库及自制rpm包 实验目的 为方便本地 yum 的管理,建本地 yum 仓库,实现局域网内部快速安装常用软件 实验环境 VMware:12版本 系统版本:CentOS Linux re ...

  3. Linux挂载iso镜像、配置本地yum源

    Linux挂载iso镜像.配置本地yum源 1.备份原yum源配置文件 [root@localhost ~]# ll /etc/yum.repos.d/ [root@localhost ~]# mkd ...

  4. 搭建本地YUM仓库

    YUM介绍 yum(yellow dog updater modified)为多个Linux发行版的软件包管理工具,Redhat RHEL CentOS Fedora YUM主要用于自动安装,升级rp ...

  5. CentOS7搭建本地YUM仓库,并定期同步阿里云源

    CentOS7同步阿里云镜像rpm包并自建本地yum仓库 系统环境 # cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) # u ...

  6. 在VMware下通过挂载系统光盘搭建本地yum仓库的方法

    一.虚拟机的安装 首先你要有一个VMware虚拟机,没有软件的朋友可以看我的前几篇博客 安装VMware虚拟机 二.进入虚拟机(在这里我们进入一个Linux虚拟机下的CentOS操作系统进行演示) 首 ...

  7. linux通过挂载系统光盘搭建本地yum仓库的方法

    1.挂载光盘 [root@localhost ~]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载 /media下的cdrom ...

  8. CentOS 7 搭建本地YUM仓库,并定期同步阿里云源

    目录导航: 1. 系统环境 2. 修改yum 源为阿里云源 3. 安装yum相关的软件 4. 根据源标识同步源到本地目录 5. 安装nginx开启目录权限保证本地机器可以直接本地yum源 6. 客户端 ...

  9. 使用3种协议搭建本地yum仓库

    关闭防火墙和selinux [root@qls yum.repos.d]# systemctl stop firewalld (stop,start,disable,enable) [root@qls ...

随机推荐

  1. Word文档操作知识

    Word文档操作知识 #持续更新 本次更新时间:2019-03-06 14:34 一.换行时字体空间过大 问题情景:当我们编写中文的文档时,中间插入了西方的字体或符号,在以它为行尾换行时: 会出现字体 ...

  2. [动态规划]高数Umaru系列(9)——哈士奇(背包问题)

    高数Umaru系列(9)——哈士奇 http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/3358.ht ...

  3. asp.net 重写OnException返回json或跳转新页面

    protected override void OnException(ExceptionContext filterContext) { // 此处进行异常记录,可以记录到数据库或文本,也可以使用其 ...

  4. Tomcat基本知识(一)

    顶层架构先上一张Tomcat的顶层结构图(图A),如下: Tomcat中最顶层的容器是Server,代表着整个服务器,从上图中可以看出,一个Server可以包含至少一个Service,用于具体提供服务 ...

  5. 你也可以写个服务器 - C# Socket学习2

    前言 这里说的服务器是Web服务器,是类似IIS.Tomcat之类的,用来响应浏览器请求的服务. Socket模拟浏览器的Url Get请求 首先浏览器的请求是HTTP协议.我们上一篇说过,HTTP是 ...

  6. 马蜂窝 IM 移动端架构的从 0 到 1

    (马蜂窝技术原创内容,公众号 ID:mfwtech) 移动互联网技术改变了旅游的世界,这个领域过去沉重的信息分销成本被大大降低.用户与服务供应商之间.用户与用户之间的沟通路径逐渐打通,沟通的场景也在不 ...

  7. Eclipse 创建 Maven 项目

    本人也是新手小白,在创建 Maven 项目的时候几乎踩完了所有的坑.特此总结如下: 1.咱先选中 File -> New -> Maven Project 2.然后如下图    在这里说明 ...

  8. 如何巧妙地在基于 TCP Socket 的应用中实现用户注册功能?

    通常,在基于TCP的应用中(比如我开源的GGTalk即时通信系统),当TCP连接建立之后,第一个请求就是登录请求,只有登录成功以后,服务器才会允许客户端进行其它性质的业务请求.但是,注册用户这个功能比 ...

  9. vue——同一局域网内访问项目

    1.想要在手机上访问本地的vue项目,首先要保证手机和电脑处在同一局域网内(连着同一个无线网) 2.将你电脑的ip设置为固定ip(ipconfig查找本地的ip,然后修改它,改为你想变的数字) 3.在 ...

  10. Cassandra官方介绍及安装

    Cassandra官方介绍及安装 这个数据库有很高的伸缩性和可用性,你完全不需要向性能妥协.在硬件或者云设施上做修改 官网:Cassandra官网 一.简介 cassandra这个数据库有很高的伸缩性 ...