通过ISO镜像简单搭建本地yum仓库
本文参考链接: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仓库的更多相关文章
- 如何手工搭建本地Yum仓库
如何手工搭建本地Yum仓库(重点推荐) https://www.linuxidc.com/Linux/2016-09/135480.htm CentOS7.2 创建本地YUM源和局域网YUM源: h ...
- 其他综合-搭建本地yum仓库及自制rpm包
搭建本地yum仓库及自制rpm包 实验目的 为方便本地 yum 的管理,建本地 yum 仓库,实现局域网内部快速安装常用软件 实验环境 VMware:12版本 系统版本:CentOS Linux re ...
- Linux挂载iso镜像、配置本地yum源
Linux挂载iso镜像.配置本地yum源 1.备份原yum源配置文件 [root@localhost ~]# ll /etc/yum.repos.d/ [root@localhost ~]# mkd ...
- 搭建本地YUM仓库
YUM介绍 yum(yellow dog updater modified)为多个Linux发行版的软件包管理工具,Redhat RHEL CentOS Fedora YUM主要用于自动安装,升级rp ...
- CentOS7搭建本地YUM仓库,并定期同步阿里云源
CentOS7同步阿里云镜像rpm包并自建本地yum仓库 系统环境 # cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) # u ...
- 在VMware下通过挂载系统光盘搭建本地yum仓库的方法
一.虚拟机的安装 首先你要有一个VMware虚拟机,没有软件的朋友可以看我的前几篇博客 安装VMware虚拟机 二.进入虚拟机(在这里我们进入一个Linux虚拟机下的CentOS操作系统进行演示) 首 ...
- linux通过挂载系统光盘搭建本地yum仓库的方法
1.挂载光盘 [root@localhost ~]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载 /media下的cdrom ...
- CentOS 7 搭建本地YUM仓库,并定期同步阿里云源
目录导航: 1. 系统环境 2. 修改yum 源为阿里云源 3. 安装yum相关的软件 4. 根据源标识同步源到本地目录 5. 安装nginx开启目录权限保证本地机器可以直接本地yum源 6. 客户端 ...
- 使用3种协议搭建本地yum仓库
关闭防火墙和selinux [root@qls yum.repos.d]# systemctl stop firewalld (stop,start,disable,enable) [root@qls ...
随机推荐
- 关于ajax提交表单的一些实例及遇到的问题和解决办法
ajax提交的表单有两种情况: 第一种:input type类型没有file上传文件类型的表单 第二种:input type类型有file上传文件类型的表单 之所以分为两种:是因为原生ajax是不能提 ...
- js时间查询补充
先来看下JS中的日期操作: var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年 ...
- 02-05 scikit-learn库之线性回归
目录 scikit-learn库之线性回归 一.LinearRegression 1.1 使用场景 1.2 代码 1.3 参数详解 1.4 属性 1.5 方法 1.5.1 报告决定系数 二.ARDRe ...
- ES6 —— entries(),keys()和values()
ES6 提供三个新的方法 —— entries(),keys()和values() —— 用于遍历数组.它们都返回一个遍历器对象,可以用for...of循环进行遍历,唯一的区别是keys()是对键名的 ...
- LeetCode_844-Backspace String Compare
输入两个字符串S和T,字符串只包含小写字母和”#“,#表示为退格键,判断操作完退格键剩下字符串是否相等例子:S = “ab#c", T = "ad # c” 返回true,剩下的字 ...
- [JLOI2014]天天酷跑
请允许我对记忆化搜索进行一个总结,我认为所有的搜索只要数据范围允许,都可以转化为记忆化搜索, 只是,用处的多与少的关系,其本身是求出设出状态之后,为求出当前状态进行递推(搜索),推到 已知状态,之后再 ...
- .netCore+Vue 搭建的简捷开发框架--目录
.netCore+Vue 搭建的简捷开发框架 .netCore+Vue 搭建的简捷开发框架 (2)--仓储层实现和EFCore 的使用 .netCore+Vue 搭建的简捷开发框架 (3)-- Ser ...
- react-native开发经验
# **RN开发经验** ## 一.环境配置关于环境配置,前辈已有完整的总结:http://tvrn.devops.letv.com/docs/Environment.html **IDE准备:** ...
- AlexNet网络
AlexNet 中包含了比较新的技术点,首次在CNN中成功应用了 ReLu .Dropout和LRN等Trick. 1.成功使用了Relu作为CNN的激活函数,并验证其效果在较深的网络中超过了Sigm ...
- Django实现WebSSH操作Kubernetes Pod
优秀的系统都是根据反馈逐渐完善出来的 上篇文章介绍了我们为了应对安全和多分支频繁测试的问题而开发了一套Alodi系统,Alodi可以通过一个按钮快速构建一套测试环境,生成一个临时访问地址,详细信息可以 ...