在宿舍搞开发的时候经常遇到有些工具需要安装,没有网络,这时候只能靠mount本地的iso镜像来搞,结果像Debian有3张安装光盘,CentOS有2张光盘,有时候安装包不在第一张光盘里,而在第二张光盘里,这时候需要卸载掉第一张盘,然后进入虚拟机设置,载入第二张盘,重新挂载,重新更新源数据库,有时候挂载一次还不一定成功要反复折腾多次才行,实在是烦人,所以研究了下能不能直接将iso挂载成本地的源,结果测试成功,写下来分享下。

Debian8:debian8有3张光盘,先将光盘拷贝到虚拟机里面,然后找个目录新建三个挂载点,我这里用了/home下面的file1、file2、file3作为挂载点,执行:

 mount -o loop debian-8.4.-i386-DVD-.iso /home/file1
mount -o loop debian-8.4.-i386-DVD-.iso /home/file2
mount -o loop debian-8.4.-i386-DVD-.iso /home/file3

挂在成功后,进入/etc/apt目录下,将source.list拷贝为source.list.bk做备份,然后vim source.list,修改为:

 deb file:///home/file1 jessie contrib main
deb file:///home/file2 jessie contrib main
deb file:///home/file3 jessie contrib main

保存退出,执行:

 apt update

发现确实识别到了仓库:

 Get: file: jessie Release [18.5 kB]
Get: file: jessie Release [16.3 kB]
Get: file: jessie Release [13.8 kB]
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.

然后就可以随便 apt install 了,又方便,又快捷。。。

CentOS6:CentOS6有2张光盘,先将iso文件拷贝到虚拟机里面,然后随便找两个目录做挂载点,我这里在/mnt下面新建了file1和file2两个目录作为挂载点,然后执行:

 mount -o loop /home/CentOS-6.9-i386-bin-DVD1.iso /mnt/file1
mount -o loop /home/CentOS-6.9-i386-bin-DVD2.iso /mnt/file2

并将/etc/yum.repos.d/下面除了CentOS-Media.repo之外所有的以.repo结尾的文件全部重命名为:.repo.bk,然后修改CentOS-Media.repo:

 [local-iso]
name=CentOS-$releasever - Media
baseurl=file:///mnt/file1
file:///mnt/file2
gpgcheck=
enabled=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

第1行[ ]里面的内容随便写,不改也可以,我这里修改了主要是为了方便查看安装软件包的时候是否真是从这个仓库安装的。修改完后保存退出,执行:

 yum makecache

生成仓库数据缓存时就可以发现确实是识别了 local-iso 这个仓库:

 已加载插件:fastestmirror, security
Determining fastest mirrors
* local-iso:
local-iso | 4.0 kB : ...
local-iso/group_gz | kB : ...
local-iso/filelists_db | 5.2 MB : ...
local-iso/primary_db | 3.7 MB : ...
local-iso/other_db | 2.1 MB : ...
元数据缓存已建立

然后安装个软件试试看:

 root@CentOS /etc/yum.repos.d# yum -y install gcc
已加载插件:fastestmirror, security
设置安装进程
Loading mirror speeds from cached hostfile
* local-iso:
解决依赖关系
--> 执行事务检查
---> Package gcc.i686 :4.4.-.el6 will be 安装
--> 处理依赖关系 cpp = 4.4.-.el6,它被软件包 gcc-4.4.-.el6.i686 需要
--> 处理依赖关系 cloog-ppl >= 0.15,它被软件包 gcc-4.4.-.el6.i686 需要
--> 执行事务检查
---> Package cloog-ppl.i686 :0.15.-1.2.el6 will be 安装
--> 处理依赖关系 libppl_c.so.,它被软件包 cloog-ppl-0.15.-1.2.el6.i686 需要
--> 处理依赖关系 libppl.so.,它被软件包 cloog-ppl-0.15.-1.2.el6.i686 需要
---> Package cpp.i686 :4.4.-.el6 will be 安装
--> 处理依赖关系 libmpfr.so.,它被软件包 cpp-4.4.-.el6.i686 需要
--> 执行事务检查
---> Package mpfr.i686 :2.4.-.el6 will be 安装
---> Package ppl.i686 :0.10.-.el6 will be 安装
--> 完成依赖关系计算 依赖关系解决 =====================================================================================================================================================================
软件包 架构 版本 仓库 大小
=====================================================================================================================================================================
正在安装:
gcc i686 4.4.-.el6 local-iso 8.2 M
为依赖而安装:
cloog-ppl i686 0.15.-1.2.el6 local-iso k
cpp i686 4.4.-.el6 local-iso 3.4 M
mpfr i686 2.4.-.el6 local-iso k
ppl i686 0.10.-.el6 local-iso 1.3 M 事务概要
=====================================================================================================================================================================
Install Package(s) 总下载量: M
Installed size: M
下载软件包:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 MB/s | MB :
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
Userid : CentOS- Key (CentOS Official Signing Key) <centos--key@centos.org>
Package: centos-release--.el6.12.3.i686 (@anaconda-CentOS-.i386/6.9)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-
运行 rpm_check_debug
执行事务测试
事务测试成功
执行事务
正在安装 : ppl-0.10.-.el6.i686 /
正在安装 : cloog-ppl-0.15.-1.2.el6.i686 /
正在安装 : mpfr-2.4.-.el6.i686 /
正在安装 : cpp-4.4.-.el6.i686 /
正在安装 : gcc-4.4.-.el6.i686 /
Verifying : cpp-4.4.-.el6.i686 /
Verifying : cloog-ppl-0.15.-1.2.el6.i686 /
Verifying : mpfr-2.4.-.el6.i686 /
Verifying : ppl-0.10.-.el6.i686 /
Verifying : gcc-4.4.-.el6.i686 / 已安装:
gcc.i686 :4.4.-.el6 作为依赖被安装:
cloog-ppl.i686 :0.15.-1.2.el6 cpp.i686 :4.4.-.el6 mpfr.i686 :2.4.-.el6 ppl.i686 :0.10.-.el6 完毕!

发现确实安装成功了,将挂载动作写入fstab让开机时自动挂载,再就不用为了安装软件切换光盘了,方便了不少。。。而且,从光盘安装软件,速度快得很呢。。。。写入fstab方式如下:

 /home/CentOS-6.9-i386-bin-DVD1.iso /mnt/file1    iso9660    defaults,loop,ro
/home/CentOS-6.9-i386-bin-DVD2.iso /mnt/file2 iso9660 defaults,loop,ro

保存退出,然后执行:

 mount -a

就可以啦。。。

Debian & CentOS建立本地iso源的更多相关文章

  1. CentOS使用安装光盘建立本地软件源

    本实验的目的是使用CentOS的两张DVD安装光盘作为本地软件源,避免执行yum安装命令时每次都要从网络重新下载. 安装createrepo软件包 createrepo是制作软件源所需要的一个工具,默 ...

  2. CentOS配置本地yum源(使用镜像iso文件)

    本人在使用yum安装软件的时候,感觉最不爽的是网络不佳时,安装的速度特别慢.所以,个人就上网search了一下如何使用Linux的安装文件作为其yum源.经过几次尝试,已经可以成功的配置了.下面是详细 ...

  3. CentOS下建立本地YUM源并自动更新

    1. 尽管有很多的免费镜像提供yum源服务,但是还是有必要建立自己的yum服务器,主要出于以下几点考虑: l 网络速度:访问互联网可能比较慢 l 节省带宽:如果有大量的服务器,架设自己的yum源可以有 ...

  4. Redhat/CentOS 制作本地yum源

    一.制作本地yum源的场景有: (1) 操作系统ISO文件是通过光驱读取的 (2) 操作系统ISO文件是通过USB设备挂载的 (3) 操作系统ISO文件是被上传到本地文件夹的形式 二. 这3种配置方式 ...

  5. Centos制作本地yum源

    本地YUM源制作 1. YUM相关概念 1.1. 什么是YUM YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shel ...

  6. CentOS配置本地yum源/阿里云yum源/163yuan源,并配置yum源的优先级

    一.用Centos镜像搭建本地yum源 由于安装centos后的默认yum源为centos的官方地址,所以在国内使用很慢甚至无法访问,所以一般的做法都是把默认的yum源替换成aliyun的yum源或者 ...

  7. centos添加本地yum源

    一.简介 centos6系列于2020年11月份已经停止提供服务,现在各大镜像源已经关闭centos6的yum源,需要下载镜像后在本地搭建yum源方便使用. 最好将镜像下载后传到OSS中,这样从阿里云 ...

  8. CentOS 配置本地yum源

    [root@localhost ~]#ls /media/dvd/                                                                   ...

  9. RedHat和CentOS使用本地yum源配置

    2013-04-01 11:38:30 标签:本地yum源 版权声明:原创作品,谢绝转载!否则将追究法律责任. 使用yum命令安装所需的软件,如果设备网络状况很好,当然也没必要去配置本地yum源,直接 ...

随机推荐

  1. BZOJ2223[Coci 2009]PATULJCI——主席树

    题目描述 输入  先输入一个数n,然后一个数表示这n个数中最大的是多少,接下来一行n个数.然后一个数m,最后m行询问每次两个数l,r. 输出 no或者yes+这个数 样例输入 10 3 1 2 1 2 ...

  2. BUPT2017 wintertraining(15) #3 题解

    我觉得好多套路我都不会ヘ(;´Д`ヘ) 题解拖到情人节后一天才完成,还有三场没补完,真想打死自己.( ˙-˙ ) A - 温泉旅店 UESTC - 878  题意 ​ 有n张牌,两人都可以从中拿出任意 ...

  3. [HNOI2005]狡猾的商人 ,神奇做法——贪心

    洛谷P2294 [HNOI2005]狡猾的商人 ,神奇做法--贪心 看到大牛都是写的差分约束或带权并查集,本蒟蒻都不太会(还是用差分约束过了的QAQ),但是想出一种贪心的策略,运用神奇的优先队列实现. ...

  4. JS循环中使用bind函数的参数传递问题

    JS循环中使用bind函数的参数传递问题,问题代码如下: for (var sc in result) { var tempp = '<div class="sidebar_todo_ ...

  5. 洛谷P3953 逛公园

    DP+图论大毒瘤. 推荐这个博客. 先跑两遍最短路,搞掉一些无用点. 然后选出最短路上的边,做拓扑排序. 然后每层DP. 具体看代码. 用到的数组较多,记得清空. #include <cstdi ...

  6. 洛谷P3952 时间复杂度

    大毒瘤...... 时隔快半年我终于花了两个小时堪堪A掉这一题...果然我还没有准备好. 想法:用DFS模拟递归. 时间复杂度的处理:每层循环取max,然后相加. 最大难点:各种繁杂而令人发指的特判. ...

  7. 平台加载面板的方法$.loadPml

    $.loadPml({ paneId:"", paneName:"", loadUrl:"/"+globalURL+"/mvcco ...

  8. NOIP 普及组 2013 表达式求值

    传送门 https://www.cnblogs.com/violet-acmer/p/9898636.html 题解: 哇哇哇,又是一发暴力AC. 用字符数组存储表达式. 然后将表达式中的 数字 与 ...

  9. 自动检测ie低版本,并显示升级浏览器的自定义页面,当用f12再把浏览器版本提高的时候,又会自动显示正常的页面。

    代码: <!--[if lte IE 9 ]> <div class=""> //这里面可以添加自己定义的内容 </div> <scrip ...

  10. Curl中的参数知多少

    我们常用的curl命令,后面有好多参数,都是什么含义呢?遂记录此文以备用. Curl命令参数解释: -a/--append 上传文件时,附加到目标文件 -A/--user-agent <stri ...