ubuntu的离线升级一直是我研究的课题。我也曾下载过论坛里提供的离线升级软件包,但真的用起来并不是那么顺手,原因有两个:1、离线包中的软件通常因缺少依赖关系文件而无法升级或安装;2、没有提供你想安装的软件。后来在网上偶然发现一个升级方法(转贴在http://forum.ubuntu.org.cn/viewtopic.php?t=115458&highlight=,),试行之,居然成功,特与大家分享,希望无法上网的坛友能有受益。
1、首先登录ftp://debian.cn99.com/ubuntu/dists/gutsy/ (我是7.10,所以是gutsy),在该目录及其下的几个子目录中下载软件信息包,包括ls-lR.gz, Contents-i386.gz, Release, Release.gpg, Packages.bz2, Packages.gz, Source.gz,保存时要注意与网站的目录树一致,我是在U盘建ubuntu文件夹,然后在其中建main,multiverse,restricted,universe四个子文件夹,再在其下依ftp目录树建立相同名称的子文件夹,如在main下建binary-i386,source文件夹,将上述文件下载到对应在U盘的相同名称文件夹下(注意路径相同)。
2、在要离线升级的电脑上修改source.list :
sudo gedit /etc/apt/sources.list
在source.list里加入:
deb file:/media/disk/ubuntu/ gutsy main restricted multiverse universe
deb-src file:/media/disk/ubuntu/ gutsy main restricted multiverse universe
deb file:/media/disk/ubuntu/ gutsy main restricted multiverse universe
deb-src file:/media/disk/ubuntu/ gutsy main restricted multiverse universe
3、更新软件列表:
sudo apt-get update
然后打开“新立得软件包管理器”(Synaptic),选择你要安装的软件,然后是文件 ->生成软件包下载脚本,保存成下载脚本downloadlist。关闭新立得。
4、修改downloadlist,形成文件下载列表:
把刚才的downloadlist的属性改为777:
sudo chmod 777 /XXXXXX/downloadlist (XXXXXX为该文件路径)
用Gedit打开这个downloadlist,把第一行“#!/bin/sh”删掉,把所有包含cdrom的行删掉,
用Gedit里的Search -> Replace把所有的“wget -cfile:/media/disk/”换成“ftp:/”。
保存这个重要的downloadlist,复制到U盘。
5、下载软件包:
使用迅雷或fleshget,下载downloadlist中所有deb包。
6、安装。
把下载到的deb包复制到/var/cache/apt/archives/里,插入安装光盘,打开“新立得软件包管理器”,把你生成下载列表时选择的软件包勾选,你会发现已可正常安装。
感觉使用这种方式升级或安装软件,没有缺少依赖包的情况发生,而且完全是个性定制升级包。
[分享]ubuntu离线升级
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
- anway
- 帖子: 403
- 注册时间: 2007-07-22 12:13
- Final_x
- 帖子: 383
- 注册时间: 2008-05-03 23:05
- 联系:
-
- 帖子: 36
- 注册时间: 2009-06-24 11:32