当linux无法联网,windows可以联网时用apt
来源:优易学  2011-11-24 13:42:54   【优易学:中国教育考试门户网】   资料下载   IT书店
  通常同一台机器是不会出现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

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训