先介绍一下环境:

虚拟机:debian7.2.0

主机: Win7


方法一:

由于有时候无法联网就需要离线安装软件包,可以把debian官网上列出的几个DVD镜像都下下来,其实主要是DVD1,这样就不需要每次安装软件都得联网。

下面是我从Debian官网上下下来的DVD镜像:

debian-7.2.0-i386-DVD-1

debian-7.2.0-i386-DVD-2

debian-7.2.0-i386-DVD-3

在每张DVD中都有一个README.txt,其中有如下说明:

About This Disc
===============

   This disc is labeled

        Debian GNU/Linux 7.2.0 "Wheezy" - Official i386 DVD Binary-1
                               20131012-12:56

   which means that this disc is number 1 of a set of 10 discs It
   contains programs ("binaries") for `i386' computers.

   The programs on the Binary discs are ordered by popularity. The
   Binary-1 disc contains the most popular programs and the installation
   tools; it is possible to install and run Debian with only the Binary-1
   disc. The other discs, up to Binary-10, contain mostly
   special-interest programs.

   The Release Notes for "wheezy" are available on the Debian web site.

在DVD1中有关于Debian的安装手册,中文的手册路径是doc/manual/zh_CN/,其中也有关于DVD安装的介绍

CD(和 DVD) 里面包含的软件包按照流行程度排列次序。也就是说,第一张光盘里面是最常用的软件,而最后一张光盘里面包含的是很少有人用到的软件。

这也意味着购买或者下载刻录所有 CD 是一种浪费,因为大部分光盘您根本不会用到。多数情况下,只需要使用前 3 到 8 张 CD,然后从网络镜像安装其他要用的软件包。DVD 的情况类似:只要一张,或者前两张 DVD 就能满足您大部分要求。

根据经验,常见的桌面安装(使用 GNOME 桌面环境)只需要前三张 CD。其他的桌面环境(KDE 或 Xfce),就需要额外的 CD。而第一张 DVD 就可以轻松地满足所有的三种桌面环境。

下面开始安装:

先给虚拟机添加三个虚拟光驱,将刚下载的三个DVD镜像装入

如下图所示:(注意:由于已经安装了Debian7.2,所以我把DVD1放在了第二个,即第一IDE控制器从通道,将DVD2放在了第一IDE控制器主通道上,目的是防止每次启动时都自动进入Debian安装界面,DVD1中也有很多软件包

由于添加了三个虚拟光驱,需要修改/etc/fstab,

修改为:

同时在/media目录下新建一个目录cdrom2,重启后系统就自动把DVD2挂载到/media/cdrom0,将DVD1挂载到/media/cdrom1,将DVD3挂载到/media/cdrom2下面,如下图:

挂载好之后,就可以修改/etc/apt/sources.list了,添加如下内容:

如果不知道路径后面写什么可以执行 apt-cdrom add,系统会自动搜索cdrom,并自动填写/etc/apt/sources.list文件,可以看他是怎么写的,使用apt-cdrom add这种方法,有事会出现无法找到软件包的问题。

最后就可以执行 apt-get update了。


方法二:

与方法一的不同点是,不用给虚拟机添加虚拟光驱,只要Linux能够识别放有光盘镜像的存储器就可以,比如我们把要用的几块光盘镜像放到Samba共享目录或者移动硬盘中,(对于使用移动硬盘的方案,Linux识别后系统会自动挂载如果没有,需要手动挂载)。

比如将移动硬盘挂载到了/media/work/下,光盘镜像的路径是:

/media/work/software/虚拟机/debian/debian6/dvd

其中的镜像如下:

pengdl@debian:/media/work/software/虚拟机/debian/debian6/dvd$ ls
debian-6.0.-i386-DVD-.iso debian-6.0.-i386-DVD-.iso debian-update-6.0.-i386-DVD-.iso
debian-6.0.-i386-DVD-.iso debian-6.0.-i386-DVD-.iso debian-update-6.0.-i386-DVD-.iso
debian-6.0.-i386-DVD-.iso debian-6.0.-i386-DVD-.iso
debian-6.0.-i386-DVD-.iso debian-6.0.-i386-DVD-.iso

在/media下创建几个用于挂载的目录,cdrom1 cdrom2 cdrom3 cdrom4 cdrom5 cdrom6 ....,为了说明问题,我们这里只创建cdrom1 cdrom2 cdrom3

pengdl@debian:/media$ ls
cdrom cdrom0 cdrom1 cdrom2 cdrom3 entertainment sf_share work

分别将DVD1~DVD4挂载到cdrom0~cdrom3下:

pengdl@debian:/media$ sudo mount -o loop /media/work/software/虚拟机/debian/debian6/dvd/debian-6.0.-i386-DVD-.iso ./cdrom0
pengdl@debian:/media$ sudo mount -o loop /media/work/software/虚拟机/debian/debian6/dvd/debian-6.0.-i386-DVD-.iso ./cdrom1
pengdl@debian:/media$ sudo mount -o loop /media/work/software/虚拟机/debian/debian6/dvd/debian-6.0.-i386-DVD-.iso ./cdrom2
pengdl@debian:/media$ sudo mount -o loop /media/work/software/虚拟机/debian/debian6/dvd/debian-6.0.-i386-DVD-.iso ./cdrom3
pengdl@debian:/media$ mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=,mode=)
/dev/sdc5 on /home type ext3 (rw)
/dev/sdd1 on /home/pengdl/ext_disk type ext3 (rw)
/dev/sdb5 on /usr type ext3 (rw)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
nfsd on /proc/fs/nfsd type nfsd (rw)
share on /media/sf_share type vboxsf (gid=,rw)
/dev/sde5 on /media/work type fuseblk (rw,allow_other,blksize=)
/dev/sde1 on /media/entertainment type fuseblk (rw,allow_other,blksize=)
/dev/loop0 on /media/cdrom0 type iso9660 (rw)
/dev/loop1 on /media/cdrom1 type iso9660 (rw)
/dev/loop2 on /media/cdrom2 type iso9660 (rw)
/dev/loop3 on /media/cdrom3 type iso9660 (rw)
pengdl@debian:/media$

修改sources.list

#deb http://192.168.8.64/debian6/debian squeeze main contrib non-free
#deb file:/home/pengdl/ext_disk/debian6_source/mirror/192.168.8.64/debian6/debian squeeze main contrib non-free
#deb http://192.168.253.130/debian squeeze main contrib non-free
#deb http://127.0.0.1 squeeze main contrib non- #deb http://ftp.debian.org/debian/ squeeze main non-free contrib
#deb http://ftp.debian.org/debian/ squeeze-proposed-updates main non-free contrib #deb http://mirrors.163.com/debian/ squeeze main non-free contrib
#deb http://mirrors.163.com/debian/ squeeze-proposed-updates main non-free contrib
#deb-src http://mirrors.163.com/debian/ squeeze main non-free contrib
#deb-src http://mirrors.163.com/debian/ squeeze-proposed-updates main non-free contrib deb file:///media/cdrom0 squeeze main contrib
deb file:///media/cdrom1 squeeze main contrib
deb file:///media/cdrom2 squeeze main contrib
deb file:///media/cdrom3 squeeze main contrib

注意 :

为什么要填写 squeeze main contrib,而没有non-free,因为

pengdl@debian:/media/cdrom1$ ls
css debian dists firmware md5sum.txt pics pool README.html README.mirrors.html README.mirrors.txt README.txt
pengdl@debian:/media/cdrom1$ cd dists/
pengdl@debian:/media/cdrom1/dists$ ls
oldstable squeeze
pengdl@debian:/media/cdrom1/dists$ ls -l
total
lr-xr-xr-x root root Oct : oldstable -> squeeze
dr-xr-xr-x root root Oct : squeeze
pengdl@debian:/media/cdrom1/dists$ cd squeeze/
pengdl@debian:/media/cdrom1/dists/squeeze$ ls
contrib main Release

在squeeze下没有non-free目录。

最后执行sudo apt-get update 即可。



可以参考:

http://forums.debian.net/viewtopic.php?f=10&t=108300

http://comments.gmane.org/gmane.linux.debian.user/460036

用DVD镜像离线安装Debian的软件包的更多相关文章

  1. Windows 10通过本地镜像离线安装.NET 3.5

    在Windows10中,当我们安装某些软件的时候会提示"你的电脑上的应用需要使用以下Windows功能:.NET Framework 3.5(包括.NET 2.0和3.0)",由于 ...

  2. python使用pip 18以上版本离线安装package

    在内网办公环境,常常需要使用离线安装python的软件包. 一般都会先在互联网的电脑上下载,再拷贝到内网办公机器上进行离线安装. 一般来说,我是这样做的: 1.拷贝和外网电脑上版本一致,且32位或64 ...

  3. ubuntu Linux离线安装软件包

    ubuntu Linux离线安装软件包 http://www.myir-tech.com/bbs/thread-337-1-1.html(出处: 米尔科技论坛) 方法一 在可上网的ubuntu电脑上, ...

  4. 基于 debian 操作系统的 docker 镜像,安装 vim

    基于 debian 操作系统的 docker 镜像,安装 vim,步骤: apt-get update apt-get install vim 注意: 直接运行步骤2,可能会报错: Reading p ...

  5. Ubuntu和centos离线安装软件包(apt和yum)

    linux安装软件包要解决包依赖问题,不能简单安装包本身. 离线安装基本思想都是先在一台设备上安装下载所有依赖包,然后拷贝所有依赖包到新设备上安装. Ubuntu下apt离线安装包 执行apt upd ...

  6. 离线安装 Visual Studio Express 而不下载整个镜像文件的方法(转载)

    转 visual studio 2010 express 全序列号 phone开发工具YDK44-2WW9W-QV7PM-8P8G8-FTYDF VC# 2010 Express: PQT8W-68Y ...

  7. 运维笔记--Debian/Ubuntu系统离线安装pymssql,连接SqlServer

    场景描述: 开始之前,先对Debian和Ubuntu操作系统做个了解,两者都是Linux阵营中很有影响力的发行版本,可以简单理解成“Ubuntu源自Debian,两者系统操作命令基本相同,相比Ubun ...

  8. Ubuntu离线安装软件包

    一.应用场景 a.当我们需要在多台电脑安装同一个软件,并且这个软件很大,下载需要很长时间时 b.需要安装软件的ubuntu不能上网 二.离线安装包的制作 2.1.通过如下指令下载XXXX软件所需要的d ...

  9. pip离线安装软件包

    1. 首先一台主机上安装所有python包,然后运行如下命令下载依赖包: pip freeze > requirements pip download -r requirements 当然可以在 ...

随机推荐

  1. vb如何将数据库中某个字段显示在一个文本框

    Dim mrc As ADODB.Recordset Private Sub cmdQuery_Click() Dim txtSQL As String Dim MsgText As String t ...

  2. C++ Programming with TDD之一:GMOCK框架简介

    所谓测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法.就是在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测 ...

  3. BZOJ 2730:[HNOI2012]矿场搭建(割点+连通块)

    [HNOI2012]矿场搭建 Description 煤矿工地可以看成是由隧道连接挖煤点组成的无向图.为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处.于是矿主决定在某些挖 ...

  4. [洛谷P4389]付公主的背包

    题目大意:有$n(n\leqslant10^5)$种物品,第$i$个物品体积为$v_i$,都有$10^5$件.给定$m(m\leqslant10^5)$,对于$s\in [1,m]$,请你回答用这些商 ...

  5. APIO2017游记

    铁牌选手爆零滚粗记QAQ........ CCF说不让讨论APIO相关内容不过现在应该没事了吧QAQ day0:上午还在学校填清北夏令营的表,下午上火车去北京,晚上颓颓颓...... day1:上午网 ...

  6. bzoj 4443 [Scoi2015]小凸玩矩阵 网络流,二分

    [Scoi2015]小凸玩矩阵 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1564  Solved: 734[Submit][Status][Di ...

  7. sublime text 3将px换算为rem的插件的安装及使用

    标签: rem这个单位对于移动端来说是比较强大的,所以这里给大家介绍sublime text 3将px换算为rem的插件的安装及使用,只要安装了这个插件,输入多少px,sublime就会提示相应的re ...

  8. 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---57

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  9. android hook 框架 xposed 如何实现挂钩

    Android so注入-libinject2 简介.编译.运行 Android so注入-libinject2  如何实现so注入 Android so注入-Libinject 如何实现so注入 A ...

  10. linux缺页异常处理--内核空间【转】

    转自:http://blog.csdn.net/vanbreaker/article/details/7867720 版权声明:本文为博主原创文章,未经博主允许不得转载. 缺页异常被触发通常有两种情况 ...