Ubuntu 10.04 DVD里的软件比cd里的多,这是无疑的了,将其作为升级用的源,可以不用上网,对于无法上网的计算机非常重要。我在网上搜了一下,方法很多,大致说在源管理器里勾选什么的,我不喜欢这种GUI方式,因为,万一不成功,你根本就不知道问题出在哪。在Linux下就应该用Linux擅长的方式--命令行。网上还说了,用sudo apt-cdrom add命令,这我也试了,不成功。
其实,只要看一下真正的源是什么样子,我们就不会迷惑了。
打开163的源目录: , 找到ubuntu/那一项,旁边有使用帮助。在使用帮助里,有一个sources.list模板。
deb karmic main restricted universe multiverse
deb karmic-security main restricted universe multiverse
deb karmic-updates main restricted universe multiverse
deb karmic-proposed main restricted universe multiverse
deb karmic-backports main restricted universe multiverse
deb-src karmic main restricted universe multiverse
deb-src karmic-security main restricted universe multiverse
deb-src karmic-updates main restricted universe multiverse
deb-src karmic-proposed main restricted universe multiverse
deb-src karmic-backports main restricted universe multiverse
这是Karmic(Ubuntu 9.10)版本的源。表示什么意思呢?先看帮助
man sources.list
可以找到其格式
deb uri distribution [component1] [component2] ...
意思很简单,deb应该指源, 相应的deb-src自然是源文件。uri表示网址,distribution表示发行版,9.10是karmic, 而10.04是lucid。后面则是相应发行版的分量。
但是,上面的解释仅仅是逻辑上的意思,那实际上是怎么回事呢?只需要看一下源的目录就行了。
打开网址mirrors.163.com/ubuntu,有这么几个目录和文件: dists/, indices/, pool/, project/, ls-IR.gz。
不忙着急,先看一下Ubuntu 10.04 DVD里面有什么目录, DVD可以通过光盘挂载,也可以通过iso挂载。iso挂载的命令是
sudo mkdir /media/ubuntu
sudo mount -o loop -t iso9660 /media/ubuntu /yourpath/to/ubuntu-dvd-i386.iso
可以看到,DVD根目录下有两个相同的目录有dists/, pools/。
那么,自然会想到dists表示的就是发行版,打开dists目录,无论是网上mirrors.163.com/ubuntu/dists还是/media/ubuntu/dists, 下面都有lucid目录。再打开lucid,发现里面有有main和restricted目录。那么问题就清楚了,所谓的发行版,只是dists目录下面的一个子目录,而分量则是更下一层的子目录。因此这一条
deb karmic main restricted universe multiverse
表示的只不过是这样几个目录
那么问题就解决了,在/etc/apt/sources.list里加上
deb file:///media/ubuntu lucid main restricted
deb file:///media/ubuntu stable main restricted
deb file:///media/ubuntu unstable main restricted
之所以这么写,完全根据目录结构而定。即表示下面几个目录
file:///media/ubuntu/dists/lucid/main restricted
file:///media/ubuntu/dists/lucid/restricted
file:///media/ubuntu/dists/stable/main
file:///media/ubuntu/dists/stable/restricted
file:///media/ubuntu/dists/unstable/main
file:///media/ubuntu/dists/unstable/restricted
因为不能上网,清除其它源也是可以的。这些操作直接针对/etc/apt/sources.list,而不要用鼠标点来点去。
然后,更新源
sudo apt-get update
接下来,就可以根据新立得包管理器,或直接sudo apt-get安装软件了。当然,只能安装DVD里的软件,而且,里面的包显然是很不全的。
另外,还有一个问题,直接挂载DVD光盘时,更新是不成功的。查看一下源,就发现,它是这么写的
deb cdrom:[Ubuntu 10.04 LTS _Lucid Lynx_ - Release i386 (20100429)]/ lucid main restricted
看来,它是自动去光驱里面找,但无疑这没有从文件中找来得自然。找到dvd挂载实际的目录,按照前面的方法来办就行了。但是,问题是目录是有空格的,sources.list中的网址好像不容有空格,怎么办?做个软链接即可。
sudo ln -s /media/Ubuntu\ 10.04\ i386 /media/ubuntu