[原创]在linux无法联网, windows可以联网的情况下使用apt

包含网卡/无线网的网络问题和ADSL/校园网/宽带拨号支持及代理/共享等网络使用问题
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

[原创]在linux无法联网, windows可以联网的情况下使用apt

#1

帖子 BigSnake.NET » 2007-11-09 17:36

通常同一台机器是不会出现win可以联网但ubuntu不可以联网的情况的, 但是在中国特色的校园网环境中, 这种请况很常见. 虽然有本地源的解决方案, 但需要有联网的linux, 和巨大的硬盘空间(还有快的网络速度), apt的优势不能体现出来.

下面介绍一种比较迂回的方法:

首先, 下载源上面的包信息, 下载列表见附件. 这里以cn99源和gutsy为例(我还没看建源的手册, 所以只是下载了pool文件夹外的跟gutsy有关的东西, 其他请况请自己类比).
注意要使用能重建目录结构的下载软件来下载, 就像是 wget 的 -x 选项

代码: 全选

wget -B -i cn99_gutsy.lst -w 2 -x
做人要厚道,下载请用单线程+延时, 封ip自负
下载完后, 看起来应该像这样

代码: 全选

autumncat@autumncat-host:~/apt-source/ubuntu.cn99.com
$ find
.
./ubuntu
./ubuntu/dists
./ubuntu/dists/gutsy
./ubuntu/dists/gutsy/Contents-amd64.gz
./ubuntu/dists/gutsy/Contents-i386.gz
./ubuntu/dists/gutsy/Release
./ubuntu/dists/gutsy/Release.gpg
./ubuntu/dists/gutsy/main
./ubuntu/dists/gutsy/main/binary-amd64
./ubuntu/dists/gutsy/main/binary-amd64/Packages.bz2
./ubuntu/dists/gutsy/main/binary-amd64/Packages.gz
./ubuntu/dists/gutsy/main/binary-amd64/Release
./ubuntu/dists/gutsy/main/binary-i386
./ubuntu/dists/gutsy/main/binary-i386/Packages.bz2
./ubuntu/dists/gutsy/main/binary-i386/Packages.gz
./ubuntu/dists/gutsy/main/binary-i386/Release
./ubuntu/dists/gutsy/main/debian-installer
./ubuntu/dists/gutsy/main/debian-installer/binary-amd64
./ubuntu/dists/gutsy/main/debian-installer/binary-amd64/Packages.bz2
....
然后就可以把整个目录复制到linux下的某个目录

接着修改源列表, 就像这样

代码: 全选

$ cat /etc/apt/sources.list
deb file:///home/autumncat/apt-source/ubuntu.cn99.com/ubuntu/ gutsy main restricted universe multiverse
deb file:///home/autumncat/apt-source/ubuntu.cn99.com/ubuntu/ gutsy-security main restricted universe multiverse
deb file:///home/autumncat/apt-source/ubuntu.cn99.com/ubuntu/ gutsy-updates main restricted universe multiverse
deb file:///home/autumncat/apt-source/ubuntu.cn99.com/ubuntu/ gutsy-proposed main restricted universe multiverse
deb file:///home/autumncat/apt-source/ubuntu.cn99.com/ubuntu/ gutsy-backports main restricted universe multiverse
deb-src file:///home/autumncat/apt-source/ubuntu.cn99.com/ubuntu/ gutsy main restricted universe multiverse
deb-src file:///home/autumncat/apt-source/ubuntu.cn99.com/ubuntu/ gutsy-security main restricted universe multiverse
deb-src file:///home/autumncat/apt-source/ubuntu.cn99.com/ubuntu/ gutsy-updates main restricted universe multiverse
deb-src file:///home/autumncat/apt-source/ubuntu.cn99.com/ubuntu/ gutsy-proposed main restricted universe multiverse
deb-src file:///home/autumncat/apt-source/ubuntu.cn99.com/ubuntu/ gutsy-backports main restricted universe multiverse
最后

代码: 全选

sudo apt-get update
但此时 apt-get install 是没用的, 因为巨大的pool目录没有下载

下一步就是获得包的地址, 方法有很多, 例如使用apt-get

代码: 全选

$ apt-get install --print-uris -y gedit|cut -d\' -s -f 2-2
file:///home/autumncat/apt-source/ubuntu.cn99.com/ubuntu/pool/main/g/gtksourceview2/libgtksourceview2.0-common_2.0.1-0ubuntu1_all.deb
file:///home/autumncat/apt-source/ubuntu.cn99.com/ubuntu/pool/main/g/gtksourceview2/libgtksourceview2.0-0_2.0.1-0ubuntu1_i386.deb
file:///home/autumncat/apt-source/ubuntu.cn99.com/ubuntu/pool/main/g/gedit/gedit-common_2.20.3-0ubuntu1_all.deb
file:///home/autumncat/apt-source/ubuntu.cn99.com/ubuntu/pool/main/p/pygtksourceview/python-pygtksourceview_2.0.0-0ubuntu3_i386.deb
file:///home/autumncat/apt-source/ubuntu.cn99.com/ubuntu/pool/main/g/gedit/gedit_2.20.3-0ubuntu1_i386.deb
或者新立得
图片

但是大家可以看到, URL是错误的, 我们把它修正一下(把前面那部分用正确的来替换):

代码: 全选

$ apt-get install --print-uris -y gedit|cut -d\' -s -f 2-2|sed 's|file:///home/autumncat/apt-source/|http://|g'
http://ubuntu.cn99.com/ubuntu/pool/main/g/gtksourceview2/libgtksourceview2.0-common_2.0.1-0ubuntu1_all.deb
http://ubuntu.cn99.com/ubuntu/pool/main/g/gtksourceview2/libgtksourceview2.0-0_2.0.1-0ubuntu1_i386.deb
http://ubuntu.cn99.com/ubuntu/pool/main/g/gedit/gedit-common_2.20.3-0ubuntu1_all.deb
http://ubuntu.cn99.com/ubuntu/pool/main/p/pygtksourceview/python-pygtksourceview_2.0.0-0ubuntu3_i386.deb
http://ubuntu.cn99.com/ubuntu/pool/main/g/gedit/gedit_2.20.3-0ubuntu1_i386.deb
最后就可以到windows下下载需要的deb包了.
需要的deb包下载完后, 就可以 dpkg -i 或者放到 cache 目录安装.
附件
cn99_gutsy.lst.gz
gzip 压缩了的下载列表
(3.31 KiB) 已下载 1351 次
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
chattan
帖子: 3922
注册时间: 2007-07-11 20:59
联系:

#2

帖子 chattan » 2007-11-09 18:07

SF

解决了不少用中国式校园网的同学们的问题呀!!!
头像
chattan
帖子: 3922
注册时间: 2007-07-11 20:59
联系:

#3

帖子 chattan » 2007-11-09 18:14

开发在WIN下用的APT吧!!!这让我联想到了这张图片
附件
dos2.jpg
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#4

帖子 bones7456 » 2007-11-09 20:39

呵呵,顶一下.
不过还是觉得挺麻烦的...
关注我的blog: ε==3
头像
wwdlyx
帖子: 85
注册时间: 2006-11-20 17:26
来自: 福建厦门
联系:

#5

帖子 wwdlyx » 2007-11-15 10:26

还好我没有使用校园网。
欢迎访问我的qzone
http://21351142.qzone.qq.com
欢迎访问我的blog
http://wuwd.blog.ubuntu.org.cn
paopaozj
帖子: 823
注册时间: 2007-10-28 23:35

#6

帖子 paopaozj » 2007-11-15 12:15

呵呵 对我没什么作用。。
头像
yang
帖子: 190
注册时间: 2007-10-18 19:57

#7

帖子 yang » 2007-11-15 12:30

不能直接在win下下载个dvd的吗?不比这搞来搞去简单又安全。
ACER TM3220 | XP Pro & Ubuntu Hardy --------
Intel M 740 1.73 Ghz | 14.1" WXGA TFT LCD 1280x800
ATI Mobility Radeon X700 PCI EX/64MB VRAM
80 GB HDD & 802.11 b/g wireless LAN
studying
帖子: 10
注册时间: 2007-08-22 23:50

#8

帖子 studying » 2007-11-20 0:27

我就是因为上不了网(可恶的瑞杰),才在虚拟机里装的,不过还不错,在虚拟机virtualbox(开源的,功能强大,设置简单)既可以上网(不用认证 :lol: ),还可以共享文件,在校内网好多资源用迅雷下载速度快多了,对了,我很想知道迅雷的工作原理,为什么是盗链接.
bestnf
帖子: 4
注册时间: 2007-11-20 5:20

#9

帖子 bestnf » 2007-11-20 5:21

支持
palxex
帖子: 136
注册时间: 2006-10-30 11:23

#10

帖子 palxex » 2007-11-20 16:00

虽然不是校园网,不过现在的情况颇为异曲同工:)
现在的法子是在windows下用andlinux(基于colinux,用ubuntu的),直接用它的apt,只下载不安装。回到ubuntu下直接mount colinux的硬盘文件,下面就不用说了。
头像
lovewine
帖子: 1233
注册时间: 2006-03-25 10:36
联系:

Re: [原创]在linux无法联网, windows可以联网的情况下使用apt

#11

帖子 lovewine » 2007-11-20 18:46

适用于类似特例
头像
cdaxcy
帖子: 97
注册时间: 2007-06-07 15:59
联系:

#12

帖子 cdaxcy » 2007-11-20 22:02

用中科大的源,5M/S
校园网用户沾光,下载几乎是瞬间的事
#传说中的中国科技大学 5M/s

deb http://debian.ustc.edu.cn/ubuntu/ gutsy main restricted universe multiverse

deb http://debian.ustc.edu.cn/ubuntu/ gutsy-backports restricted universe multiverse

deb http://debian.ustc.edu.cn/ubuntu/ gutsy-proposed main restricted universe multiverse

deb http://debian.ustc.edu.cn/ubuntu/ gutsy-security main restricted universe multiverse

deb http://debian.ustc.edu.cn/ubuntu/ gutsy-updates main restricted universe multiverse

deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy main restricted universe multiverse

deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-backports main restricted universe multiverse

deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-proposed main restricted universe multiverse

deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-security main restricted universe multiverse

deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-updates main restricted universe multiverse :D
头像
lrk
帖子: 83
注册时间: 2007-10-11 17:44

#13

帖子 lrk » 2007-11-20 22:26

palxex 写了:虽然不是校园网,不过现在的情况颇为异曲同工:)
现在的法子是在windows下用andlinux(基于colinux,用ubuntu的),直接用它的apt,只下载不安装。回到ubuntu下直接mount colinux的硬盘文件,下面就不用说了。
我就是用被校园网折磨着的啊,对这个方法很兴趣,不知这个andlinux哪里有?

另里这个办法是不是也有一定的局限性,当而要apt-get涉及内核版本的对应下载是时,是不是要特殊情况特殊处理啊?
palxex
帖子: 136
注册时间: 2006-10-30 11:23

#14

帖子 palxex » 2007-11-21 12:40

http://wiki.gp2x.org/wiki/AndLinux
不过它用的是dapper,下来以后要做跨版升级。还好,它里面包不多……也就几百兆吧。
涉及内核的,恩,只要apt认为在用什么版本的内核,实际上在用的colinux内核版本是啥它不会管也管不到的。
其实更好的法子是用colinux直接启动硬盘上的ubuntu,用它自己的元数据,这样保险的多;不过我情况特殊些,上班时那块硬盘根本不在手上。
截个图~
附件
andlinux.PNG
openatone
帖子: 160
注册时间: 2007-12-03 13:57

#15

帖子 openatone » 2007-12-03 16:23

初次进来学习中
回复