本文参考链接: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. Kafka技术原理知识点总结

    1.Kafka是由Linkedin公司开发的,使用Scala语言编写的,分布式,多副本,多分区的,发布订阅模式的消息系统,他通常用于日志系统的搭建,2.Kafka和Zookeeper:Kafka通过Z ...

  2. A-08 拉格朗日对偶性

    目录 拉格朗日对偶性 一.原始问题 1.1 约束最优化问题 1.2 广义拉格朗日函数 1.3 约束条件的考虑 二.对偶问题 三.原始问题和对偶问题的关系 3.1 定理1 3.2 推论1 3.3 定理2 ...

  3. 乱七八糟的学习资料汇总(python3.x,pyqt,svn,git)

    入门涉猎资料: python3.6.3中文文档:https://www.runoob.com/manual/pythontutorial3/docs/html/interpreter.html pyt ...

  4. apply、bind、call方法的作用与区别

    js中call.apply.bind方法的作用和区别 1. call方法 作用:专门用于修改方法内部的 this 指向 格式:xxx.call( 对象名, 参数1, 参数2 , ...);.即:将 x ...

  5. mac专业视频剪辑软件 Final Cut Pro 10.4.6破解版

    Final Cut Pro简称FCP,它是 Mac平台上最好的视频剪辑软件,可用来视频剪辑.后期特效等.可编辑从标清到4K的各种分辨率视频,ColorSync管理的色彩流水线则可保证全片色彩的一致性. ...

  6. Linux命令行与shell脚本

    一.Linux简介 1.linux系统内部结构 划分为以下四部分:linux内核.GNU工具组件.图形化桌面环境.应用软件. 2.Linux系统的核心——内核 内核基本负责以下四项主要功能:系统内存管 ...

  7. mfc字符转码

    std::wstring UTF8ToUnicode(const std::string& utf8string) {  , utf8string.c_str(), -, NULL, );   ...

  8. PHP安装amqp拓展(win环境)

    安装php扩展amqp 先查看自己的php版本 记住版本  至于这个线程安全问题 这里引用了别人的自己看看吧  http://blog.csdn.net/aoyoo111/article/detail ...

  9. H5实现图表和地图

    H5实现图表和地图的代码如下: <!DOCTYPE html> <html> <head> <title>图表和地图</title> < ...

  10. .Net轻量状态机Stateless的简单应用

    对于大部分系统中流程的变更,是十分正常的事情,小到一个状态的切换,大到整个系统都是围绕业务流再走,复杂点的有工作流引擎,简单点的几个if/else收工,但是往往有那种,心有余而力不足的,比简单复杂,比 ...