`

为apt-get限速

阅读更多

原文:http://www.linux-wiki.cn/index.php?title=%E4%B8%BAapt-get%E9%99%90%E9%80%9F&variant=zh-cn

为apt-get限速
此页由Linux Wiki用户Chenxing于2008年8月28日 (星期四) 10:12的最后更改。

如果与他人共享互联网,一个人下载速度过快可能会导致同网络的其它用户无法正常上网。尤其是教育网用户,找一个快速的apt-get源并不难,但下载时可能会影响他人使用网络(尤其是对实时性要求很高的局域网游戏)。 目录
[隐藏]
1 方法一:配置apt
2 方法二:使用限速软件trickle
3 方法三:限制网络接口的速度
4 参考资料

方法一:配置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/

分享到:
评论

相关推荐

    nginx-1.23.4安装服务启动

    2. **更新系统**:首先确保系统已经更新到最新版本,运行`sudo apt-get update`和`sudo apt-get upgrade`。 3. **添加Nginx存储库**:在Debian或Ubuntu上,我们需要添加Nginx的官方存储库,执行`sudo apt-get ...

    基于lnmp环境搭建nextcloud资源包文件.rar

    3. 安装PHP:确保版本为7.4或更高,例如:`sudo apt-get install php-fpm php-mysql` 或 `sudo yum install php php-fpm php-mysqli`。 4. 安装MySQL:`sudo apt-get install mysql-server` 或 `sudo yum install ...

    squid限速

    sudo apt-get install squid3 ``` - 对于 CentOS/RHEL 系统: ```bash sudo yum install squid ``` 2. **配置 Squid:** - 编辑 `/etc/squid/squid.conf` 文件。 - 添加以下配置以启用基本的 HTTP 代理服务...

    ftp服务器的安装

    在基于Debian或Ubuntu的Linux系统中,可以使用`apt-get`命令来安装: ``` sudo apt-get update sudo apt-get install vsftpd ``` 对于Fedora或CentOS用户,可以使用`yum`或`dnf`: ``` sudo yum install ...

    nginx-服务器配置

    在 Linux 系统中,通常通过包管理器(如 apt-get 或 yum)进行安装。例如,在 Ubuntu 上: ```bash sudo apt-get update sudo apt-get install nginx ``` **三、Nginx 配置文件结构** Nginx 的配置文件通常位于 `...

    samba服务器搭建

    在大多数Linux发行版中,你可以通过包管理器(如`apt-get`或`yum`)来安装samba: ```bash sudo apt-get install samba samba-common-bin # 或者 sudo yum install samba samba-common ``` 安装完成后,启动samba...

    树莓派bt下载机.pdf

    - `alt-speed-time-begin` 和 `alt-speed-time-end`: 设定限速计划的开始和结束时间(以分钟计算,注意转换为GMT时间)。 - `download-dir`: 定义下载文件的保存位置。 - `dht-enabled`: 是否启用DHT,PT站点通常...

    nginx安装文件

    sudo apt-get install build-essential libpcre3-dev zlib1g-dev libssl-dev ``` 二、Nginx源码安装 1. 下载Nginx源码:你可以从Nginx官方网站获取最新的稳定版本源码。例如,使用wget命令下载: ```bash wget ...

    vsFTP服务器初步管理

    在Ubuntu/Debian上,可以使用`apt-get`命令: ```bash sudo apt-get update sudo apt-get install vsftpd ``` 在CentOS/RHEL上,使用`yum`或`dnf`: ```bash sudo yum install vsftpd # 或者 sudo dnf install ...

    nginx汇总整理及安装包.rar

    1. **使用包管理器**:对于基于 Debian 或 Ubuntu 的系统,可以使用 `apt-get` 命令: ``` sudo apt-get update sudo apt-get install nginx ``` 对于基于 Red Hat 或 CentOS 的系统,使用 `yum` 或 `dnf`: `...

    nginx上传下载之nginx-upload-module-2.3.0

    sudo apt-get install build-essential libpcre3-dev zlib1g-dev ``` 对于基于 Red Hat 或 CentOS 的系统,使用: ```bash sudo yum install epel-release sudo yum install nginx sudo yum install gcc pcre-...

    再Linux系统中限制网络带宽使用的教程.docx

    要在Ubuntu、Debian及其衍生版上安装`trickle`,只需执行`sudo apt-get install trickle`;在Fedora或CentOS/RHEL(启用EPEL仓库)上,使用`sudo yum install trickle`。 `trickle`的基本用法是在目标命令前加上`...

    nginx配置教程.rar

    以Ubuntu为例,可以使用`apt-get`命令进行安装: ```bash sudo apt-get update sudo apt-get install nginx ``` 如果是通过源代码编译安装,需要下载最新版本的Nginx源码,然后配置、编译、安装: ```bash wget ...

    nginx-1.7.6.tar.gz

    sudo apt-get install build-essential libssl-dev libpcre3-dev zlib1g-dev ``` 对于基于Red Hat或CentOS的系统,执行以下命令: ```bash sudo yum update sudo yum groupinstall "Development Tools" sudo yum ...

    linux下ftp搭建

    sudo apt-get install vsftpd ``` 对于基于RPM的系统(如CentOS/RHEL),使用: ``` sudo yum install vsftpd ``` 3. **配置vsftpd** 安装完成后,我们需要编辑vsftpd的配置文件。通常位于`/etc/vsftpd/...

    nginx安装工具及配置

    在Ubuntu或Debian系统中,可以使用apt-get命令来安装Nginx: ``` sudo apt-get update sudo apt-get install nginx ``` 2. **CentOS/RHEL系统安装** 对于基于RPM的系统,如CentOS或RHEL,使用yum命令: ``` ...

    路由器Checklist.zip

    - **软件更新**:定期运行`apt-get update && apt-get upgrade`或`yum update`来更新系统软件包。 - **日志审核**:启用syslog,配置日志服务器,监控系统活动。 - **SSH安全**:禁止root通过SSH登录,使用密钥对...

Global site tag (gtag.js) - Google Analytics