为apt-get限速
此页由Linux Wiki用户Chenxing于2008年8月28日 (星期四) 10:12的最后更改。
出自Linux Wiki
提示:此文已超过 16 年(5929 天)未更新,如发现内容过时或有误,欢迎改进:)
如果与他人共用互联网,一个人下载速度过快可能会导致同网络的其它用户无法正常上网。尤其是教育网用户,找一个快速的apt-get源并不难,但下载时可能会影响他人使用网络(尤其是对实时性要求很高的局域网游戏)。
目录 |
方法一:配置apt
一位朋友在邮件列表中发布了限速的文章:[1]
创建文件/etc/apt/apt.conf.d/76download
Acquire { Queue-mode "access"; http { Dl-Limit "65"; }; };
Queue-mode使用access使apt-get只建立一个连接,而不是像默认的那样为每个服务器建立一个连接。以避免两个连接占满带宽。
apt软件包提供的方案稍有缺陷,下面给出几种间接的解决方法。
方法二:使用限速软件trickle
在Ubuntu Forum中,francesc给出了一个解决方案。[2]该方法使用能限制带宽的软件trickle实现了这一目标。
这一方法针对性强,有限速效果,但CPU占用率极高。
切换至root用户,执行下面的程序:
# 安装trickle apt-get install trickle # 备份apt-get的http下载程序 dpkg-divert --local --rename /usr/lib/apt/methods/http # 生成限速脚本 echo '#!/bin/sh' > /usr/lib/apt/methods/http echo '/usr/bin/trickle -s -d 25 /usr/lib/apt/methods/http.distrib' >> /usr/lib/apt/methods/http #添加执行权限 chmod 755 /usr/lib/apt/methods/http
注意上面的-d 25表示限速为25Kb/s。可以根据实际需要做修改。类似地,也可以对ftp协议做修改。
# 备份apt-get的ftp下载程序 dpkg-divert --local --rename /usr/lib/apt/methods/ftp # 生成限速脚本 echo '#!/bin/sh' > /usr/lib/apt/methods/ftp echo '/usr/bin/trickle -s -d 25 /usr/lib/apt/methods/ftp.distrib' >> /usr/lib/apt/methods/ftp #添加执行权限 chmod 755 /usr/lib/apt/methods/ftp
如果要恢复成原状:
rm /usr/lib/apt/methods/{http,ftp} dpkg-divert --local --remove /usr/lib/apt/methods/http dpkg-divert --local --remove /usr/lib/apt/methods/ftp
方法三:限制网络接口的速度
wondershaper可以限制整个网络接口的速度[3]
先安装wondershaper:
# apt-get install wondershaper
限制上、下行带宽(单位Kb):
# wondershaper eth0 2000 240
取消限制:
# wondershaper clear eth0
更多的信息,详见wondershaper的说明。
参考资料
- ↑ http://linux.derkeiler.com/Mailing-Lists/Debian/2008-02/msg01872.html
- ↑ http://ubuntuforums.org/showthread.php?t=20342
- ↑ http://brainstorm.ubuntu.com/idea/2806/
本文对您有帮助?分享给更多朋友!
反馈与讨论
发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。