LinuxSir.Org  
| 网站首页 | 注册账号 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
精华主题  
主题工具
旧 06-03-21, 14:52 第 1 帖
ybyygu
 
 
 
注册会员  
  注册日期: Nov 2004
  帖子: 220
  精华: 1
 

标题: 发布几个跟ubuntu相关的小程序 - getfastsource, apt-axel | 补加proxy_tools


  1. getfastsources
    这个小程序用于查找最快的ubuntu mirror,并将它设置为sourses.list。这是从ubuntu.org.cn上一个帮助页上改过来的,相信现在的这个要比以前的那个好用很多。
    使用这个程序首先得安装curl。
  2. apt-axel
    axel是一个非常不错的多线程下载工具,甚至支持镜像下载,简直是梦幻级的工具。apt-axel则是将axel的多线下载能力与apt-get结合了起来。apt-axel只是一个简单的bash脚本,最初是sf上的一个项目,用于debian系统,而且老早就停止开发了。国内debian源众多,速度快的源也比比皆是,只怕用到这个东东了。但快速的ubuntu源我这里没有遇到过。平时的速度也就十几K,每次升级时的等候让上痛苦不堪。我已对这个apt-axel做了大量的改进,现在适用于ubuntu,相信会比较好用。比之以前也不致是画蛇添足,所以将apt-axel的版本号升级为0.12,大侠们还请别笑啊。
    使用这个程序需要安装axel,ubuntu的库里自带。apt-axel运行之前先得使用getfastsources来验证mirrors。mirrors默认为在主目录下.ubuntu_mirrors。
  3. **问题
    axel和curl都支持**,教育网的朋友们可以在使用这几个程序之前设置一下**变量。下面是我用到设置**的脚本:
    代码:
    #!/bin/bash # this file should be sourced proxies=$HOME/.proxies if (($#==1));then proxy=$(sed -n "$1 p" $proxies|egrep -o "[^@]*") else proxy=$(head -n 1 $proxies|egrep -o "[^@]*") fi export http_proxy="http://$proxy" export HTTP_PROXY="http://$proxy" export https_proxy="https://$proxy" export ftp_proxy="ftp://$proxy"
  4. 辅助文件
    [~/.ubuntu_mirrors.list]
    这是ubuntu全球镜像列表,我手工添加的,可用性比较高。这个列表会在上面的两个程序中用的到。
上传的附件
文件类型: gz ubuntu_tools.tar.gz (5.2 KB, 417 次查看)

此帖于 06-04-03 01:56 被 ybyygu 编辑.
  ybyygu 当前离线   回复时引用此帖
旧 06-03-22, 01:57 第 2 帖
jhuangjiahua
 
jhuangjiahua 的头像
 
 
★☆版★主☆★  
  注册日期: Apr 2004
  我的住址: 深空
  帖子: 9,502
  精华: 19
 

finely!







__________________
-
每日抽一刻钟解答 ML 中初学者的问题,
每周抽两小时整理新学知识,发表体验 Blog/Wiki/mail 分享出去,
每周至少抽四个小时来翻译自个儿喜欢的自由软件的文档,
每月至少抽八小时编程,推进自个儿的项目,
每年至少参加一次自由软件的活动,传播自由软件思想,发展一名自由人…………

只要我们每个人都坚持下去!
10年!就可以改变中国软件的整体风貌!
          ── woodpecker.org.cn

───────────────────
linux.hiweed.com  ubuntu.org.cn  sf.net/projects/pycds
  jhuangjiahua 当前离线   回复时引用此帖
旧 06-03-22, 18:46 第 3 帖
baidongyi
 
 
 
注册会员  
  注册日期: Jul 2004
  我的住址: 桂林
  帖子: 1,813
  精华: 0
 

不错支持
只是我的桂林,cn99很快,基本不需要







__________________
HP dv2539tx
  baidongyi 当前离线   回复时引用此帖
旧 06-03-22, 19:46 第 4 帖
81213464
 
 
 
注册会员  
  注册日期: Mar 2006
  帖子: 36
  精华: 0
 

呵呵 你不需要我需要阿
  81213464 当前离线   回复时引用此帖
旧 06-03-22, 20:56 第 5 帖
81213464
 
 
 
注册会员  
  注册日期: Mar 2006
  帖子: 36
  精华: 0
 

我的源里找不到getfastsources 去google搜也没有搜到 能不能告诉我再那里了?
  81213464 当前离线   回复时引用此帖
旧 06-03-22, 21:22 第 6 帖
stephenwong
 
stephenwong 的头像
 
 
注册会员  
  注册日期: Feb 2005
  帖子: 320
  精华: 0
 

从楼主的附件里下载。
  stephenwong 当前离线   回复时引用此帖
旧 06-03-23, 15:52 第 7 帖
kkxm2003
 
 
 
注册会员  
  注册日期: May 2004
  帖子: 27
  精华: 0
 

为什么我的firefox一点楼主的附件就打开了满屏幕的乱码?用Dx下载也只是个php的页面呢?
  kkxm2003 当前离线   回复时引用此帖
旧 06-03-23, 22:25 第 8 帖
ybyygu
 
 
 
注册会员  
  注册日期: Nov 2004
  帖子: 220
  精华: 1
 

引用:
作者: kkxm2003
为什么我的firefox一点楼主的附件就打开了满屏幕的乱码?用Dx下载也只是个php的页面呢?
右键另存为,然后改扩展名为tar.gz
  ybyygu 当前离线   回复时引用此帖
旧 06-03-25, 11:59 第 9 帖
81213464
 
 
 
注册会员  
  注册日期: Mar 2006
  帖子: 36
  精华: 0
 

root@ubuntu:/usr/local/share/ubuntu_tools# ./getfastsources
NO ubuntu mirrors list found in /root/.ubuntu_mirrors.list.
请问这个.ubuntu_mirrors.list 一般再那里阿? 我把他换成我下载这个文件的的地址也不可以阿
  81213464 当前离线   回复时引用此帖
旧 06-03-25, 18:51 第 10 帖
ybyygu
 
 
 
注册会员  
  注册日期: Nov 2004
  帖子: 220
  精华: 1
 

引用:
作者: 81213464
root@ubuntu:/usr/local/share/ubuntu_tools# ./getfastsources
NO ubuntu mirrors list found in /root/.ubuntu_mirrors.list.
请问这个.ubuntu_mirrors.list 一般再那里阿? 我把他换成我下载这个文件的的地址也不可以阿
1. 不要使用root帐号来执行这个命令。用普通用户执行,当需要的时候会提示使用sudo 口令的。
2. .ubuntu_mirrors.list就是tar.gz包里的dot-ubuntu_mirrors.list
3. 我习惯将这几个命令文件放到主目录下的bin目录里,执行时直接输入命令就行了,当然要确保~/bin在路径变量里。

此帖于 06-03-25 18:54 被 ybyygu 编辑.
  ybyygu 当前离线   回复时引用此帖
旧 06-03-25, 20:22 第 11 帖
Jeff-cao
 
Jeff-cao 的头像
 
 
注册会员  
  注册日期: Nov 2005
  我的住址: 萨屯&青岛
  帖子: 1,748
  精华: 1
 

请问可以用在6.04中吗?







__________________
15.4-inch WUXGA (1920 x 1200) TFT Display,175 NIT, 500:1 Contrast
2.2GHz Intel Core 2 Duo T7500 (4MB L2 Cache,800MHz FSB)
WD3200BEKT+100 GB (Seagate 7200.1 7200转)
2GB x 2 RAM (PC5300, 667 MHz, DDR2 SDRAM)
DVD+-R Double layer / DVD+-RW Drive
3* USB 2.0, 火线 400, one ExpressCard 插槽, SmartCard 读卡器, VGA, 4合一读卡器,1Gb 网卡
WiFi (Intel 4965AGN 802.11a/b/g/n), 蓝牙 2.0 w/ EDR
NVIDIA Quadro FX 570M (256MB)
http://jeff-cao.blogspot.com
  Jeff-cao 当前离线   回复时引用此帖
旧 06-03-25, 20:43 第 12 帖
ybyygu
 
 
 
注册会员  
  注册日期: Nov 2004
  帖子: 220
  精华: 1
 

引用:
作者: Jeff-cao
请问可以用在6.04中吗?
可以。getfastsources默认使用的就是dapper。apt-axel不受版本影响。
  ybyygu 当前离线   回复时引用此帖
旧 06-03-30, 19:57 第 13 帖
sniknight
 
 
 
注册会员  
  注册日期: Apr 2004
  帖子: 10
  精华: 0
 

谢谢 我想那个多线程我肯定能用上
  sniknight 当前离线   回复时引用此帖
旧 06-04-03, 00:32 第 14 帖
joe45
 
 
 
注册会员  
  注册日期: Aug 2005
  帖子: 19
  精华: 0
 

请问一下,这个应该怎样使用? 用什么命令?我是新手,多谢!!
包里3个文件放到那里?
需要装curl 和axal 是不是?
bash脚本 怎样运行?
  joe45 当前离线   回复时引用此帖
旧 06-04-03, 01:53 第 15 帖
ybyygu
 
 
 
注册会员  
  注册日期: Nov 2004
  帖子: 220
  精华: 1
 

引用:
作者: joe45
请问大侠,你发表的这两个bash脚本怎样使用?
需要装那些相关的软件?
我也是在局域网,网速非常地幔,我是新手,刚使用ubuntu,多谢指教。

包里3个文件放到那里?
需要装curl 和axal 是不是?
bash脚本 怎样运行?
先说安装的问题:
包里有三个文件,apt-axel, getfastsources, dot-ubuntu_mirrors.list。
getfastsources用来帮你设置最快的软件源。你可以直接将这个文件放到你的主目录下bin目录里。记住将这个文件加上可执行权限。
如果~/bin目录在PATH变量里的话,你就可以命令行里直接执行getfastsources了。getfastsources内部使用sudo来执行需要root权限的操作,所以不用要sudo 来运行getfastsources。apt-axel的设置类似。
这个程序会用到文件".ubuntu_mirrors.list",将包里的dot-ubuntu_mirrors.list改名后放到主目录下即可。程序运行后会生成一个位于主目录下的隐藏文件".ubuntu_mirrors",这个文件就是按速度排序好的ubuntu mirrors列表。第二个程序apt-axel也会用到这个列表。
getfastsources接受两类参数,一种是这样子的:
getfastsources breezy,这样将设置软件源为breezy。如果不加任何参数直接运行的话,将设置软件源为dapper。
另一种是这样子的:getfastsources 2。这样将设置.ubuntu_mirrors里的第二个mirror加到软件源里。前提是你已经运行过getfastsources了。
getfastsources使用curl下验证mirrors速度,在使用它之前你得安装curl。"sudo aptitude install curl"

第二个程序用来多线下载并安装软件包。使用时要安装axel工具。"sudo aptitude install axel"
在运行apt-axel之前,先使用getfastsources来生成.ubuntu_mirrors列表。然后就可以执行如下命令了。
代码:
apt-axel install something apt-axel dist-upgrade apt-axel upgrade
很多FTP源,尤其是国内的,往往后限制同时连接数。apt-axel可以从.ubuntu_mirrors里选取几个不同的源来下载,这有点像flashget的镜像下载功能。apt-axel使用的镜像个数以及线程(其实是进程)数可以在apt-axel文件里设置,前者默认为3,后者为20。

ubuntu的很多源在国外,如果在教育网内使用的话,可供选择的软件源只怕很少。如果使用出国**的话,情况就会好很多。getfastsources和apt-axel都支持**,只要在使用之前导出相关的proxy变量就可以使用了。可以这么做:
export http_proxy="http://202.201.5.XX:8080"
export https_proxy="https://202.201.5.XX:8080"
export ftp_proxy="ftp://202.201.5.XX:8080"
export FTP_PROXY="ftp://202.201.5.XX:8080"
export HTTP_PROXY="http://202.201.5.XX:8080"

我还写过几个搜索、验证**的几个小程序。这次一起附上吧。
一共有三个,getproxy.sh, checkproxy.sh, setproxy。使用时将这几个小东西扔到~/bin目录下。程序里仍然用到了curl。
第一个是getproxy.sh。顾名思义,这个用来从网上下载**的,运行结束后会生成一个名为.proxylist的隐藏文件。
第二个是checkproxy.sh。这个用来验证**。运行结束后会生成名为按速度排序的.proxies的隐藏文件。getproxy.sh运行后会自动调用“checkproxy.sh ~/.proxylist”来验证.proxylist中的**。
setproxy用来在shell里方便的设置**变量,以供各种命令行程序使用。这个命令必须被source执行,也就是这样来"source setproxy"。最好是将此设置为alias,编辑.bashrc,添加如下alias
代码:
alias setproxy='source setproxy' alias showproxy='export|grep -i proxy'
这样使用时就很方便了。setproxy 5,即将选取.proxies里的第五个**。还可以用-f参数来临时指定**文件,比如这样:
setproxy -f proxyfile 5
将getproxy.sh和checkproxy.sh加到crontab。下面是我的crontab,供参考:

代码:
15,35,55 * * * * $HOME/bin/checkproxy.sh ~/.proxies 8 9,13,16,19,23 * * * $HOME/bin/getproxy.sh
我曾经改写过一个xyzproxy.xpi,用来在firefox里周期性的读取.proxies文件,方便firefox里的**使用。需要的话可以email 我。

生成的.proxies也可被flashget导入。
上传的附件
文件类型: gz proxy_tools.tar.gz (2.6 KB, 31 次查看)
  ybyygu 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 12:42


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2010, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2009, LinuxSir.Org