|
楼主 |
发表于 2006-4-3 01:53:25
|
显示全部楼层
Post by 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导入。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|