用DVD鏡像離線安裝Debian的軟件包


 

先介紹一下環境:

虛擬機: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鏡像裝入

image

如下圖所示:(注意:由於已經安裝了Debian7.2,所以我把DVD1放在了第二個,即第一IDE控制器從通道,將DVD2放在了第一IDE控制器主通道上,目的是防止每次啟動時都自動進入Debian安裝界面,DVD1中也有很多軟件包

image

由於添加了三個虛擬光驅,需要修改/etc/fstab,

image

修改為:

image

同時在/media目錄下新建一個目錄cdrom2,重啟后系統就自動把DVD2掛載到/media/cdrom0,將DVD1掛載到/media/cdrom1,將DVD3掛載到/media/cdrom2下面,如下圖:

image

 

掛載好之后,就可以修改/etc/apt/sources.list了,添加如下內容:

image

如果不知道路徑后面寫什么可以執行 apt-cdrom add,系統會自動搜索cdrom,並自動填寫/etc/apt/sources.list文件,可以看他是怎么寫的,使用apt-cdrom add這種方法,有事會出現無法找到軟件包的問題。

image

最后就可以執行 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.8-i386-DVD-1.iso  debian-6.0.8-i386-DVD-5.iso  debian-update-6.0.8-i386-DVD-1.iso debian-6.0.8-i386-DVD-2.iso  debian-6.0.8-i386-DVD-6.iso  debian-update-6.0.8-i386-DVD-2.iso debian-6.0.8-i386-DVD-3.iso  debian-6.0.8-i386-DVD-7.iso debian-6.0.8-i386-DVD-4.iso  debian-6.0.8-i386-DVD-8.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.8-i386-DVD-1.iso ./cdrom0
pengdl@debian:/media$ sudo mount -o loop /media/work/software/虛擬機/debian/debian6/dvd/debian-6.0.8-i386-DVD-2.iso ./cdrom1 pengdl@debian:/media$ sudo mount -o loop /media/work/software/虛擬機/debian/debian6/dvd/debian-6.0.8-i386-DVD-3.iso ./cdrom2 pengdl@debian:/media$ sudo mount -o loop /media/work/software/虛擬機/debian/debian6/dvd/debian-6.0.8-i386-DVD-4.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=0755) 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=0755) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620) /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=1001,rw) /dev/sde5 on /media/work type fuseblk (rw,allow_other,blksize=4096) /dev/sde1 on /media/entertainment type fuseblk (rw,allow_other,blksize=4096) /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 2 lr-xr-xr-x 1 root root    7 Oct 19 23:23 oldstable -> squeeze dr-xr-xr-x 1 root root 2048 Oct 19 23:23 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM