本文参考链接: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. 使用 Sealos 在 3 分钟内快速部署一个生产级别的 Kubernetes 高可用集群

    本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...

  2. idea tomcat提示Unable to ping server at localhost:1099

    idea启动tomcat报错Unable to ping server at localhost:1099 是 IDEA配置的jdk版本 与 tomcat的jdk版本不配导致的

  3. Vue-懒加载(判断元素是否在可视区域内)

    上公式: 元素距离顶部高度(elOffsetTop) >= dom滚动高度(docScrollTop) 并且元素距离顶部高度(elOffsetTop) < (dom滚动高度 + 视窗高度) ...

  4. Java后端工程师必备书单(从Java基础到分布式)

    Java开发工程师一般负责后端开发,当然也有专门做Java Web的工程师,但是随着前后端的分离,越来越多的Java工程师需要往大后端方向发展. 今天我们就来介绍一下Java后端开发者的书单. 首先要 ...

  5. idea 新建项目 coding上新建项目 idea推送到coding

    1. 注册coding a. 首先在(https://coding.net)上创建项目 ps:跳过注册 ![file](https://img2018.cnblogs.com/blog/1416679 ...

  6. Java字符串课后作业

    [实验任务] 1.实验题目:字串加密 2.实验内容:古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:

  7. SQL创建和调用有默认值的存储过程

    先创建一个有默认值的存储过程 create procedure usp_unpass ), --有默认值的参数放到最后 as select @score go 该存储过程有2个参数 ,其中@score ...

  8. Python调用GithubAPI并进行初步的数据分析

    找到一个Github 上的公开api url = 'https://api.github.com/search/repositories?q=language:python&sort=star ...

  9. std::multiset

    Set.multiset都是集合类, 差别在与set中不允许有重复元素, multiset中允许有重复元素. sets和multiset内部以平衡二叉树实现.   multiset 多重集合容器是一个 ...

  10. [七年技术总结系列][理论篇]-RBAC权限模型由浅入深

    权限部分将分两章介绍,第一章由浅入深介绍权限理论知识及应用,第二章介绍具体实现.后期再讲述中间件的使用时,还会插入一些权限内容,本质上属于中间件的应用. 权限模块是业务系统最常见.最基本的子集.本章假 ...