apt-get/pip/wget速度慢?花式加速apt-get/pip/wget下载

本文介绍如何通过更改源、使用代理等方法提升apt-get、pip和wget在国内的下载速度,包括更改源、Shadowsocks与Proxychains4/tsocks组合及离线下载等技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

花式优化加速apt-get/pip/wget下载速度


本文由tonovate原创,禁止转载。保留一切法律权利。

在国内用Ubuntu/python,有时候下载一些包的速度比较慢。慢的结果是一致的,原因各有不同,但是最深处的原因还是外网带宽低导致下载速度只有数kb甚至停顿。本文从简单到复杂,分类总结笔者认为有效的apt-get/pip/wget下载速度的优化方案。

第一式 更改源。

进入设置-软件和更新,根据地理位置选择最佳的镜像(比如我选的是aliyun或者99cn的镜像)。

优点:可以优化大部分可以在apt-get下载的包。
缺点:对pip无效;对wget无效;对只能从launchpad的ppa源获取的包无效(如最新的nvidia驱动)。

第二式 Shadowsocks-qt与Proxychains4(For Ubuntu)组合拳

在此不详细讨论以上两款软件的安装方法。Shadowsocks-qt只能对浏览器进行代理,终端的代理就要交给Proxychains4了。

介绍一个招数,不用每次执行一个命令都得在前面输入proxychains4:

proxychains4 -q /bin/bash

该命令仅对当前终端窗口有效。若想默认对所有bash生效,可以把该语句加入到.bashrc内。
之后可以试试curl一下ip.cn(注:Proxychains4对ping命令无效),看看是否成功在终端走了代理。

优点:对pip、wget有显著效果。
缺点:对只能从launchpad的ppa源获取的包无效。
注意:如果换用了国内的源,如果使用了前面的招数,apt-get时请退出proxychains4。

For Mac:mac在安装了shadowsocks的条件下,可以直接通过设置bash达到终端走代理的目的,加速homebrew。

方法:在~/.bashrc下(如果没有可自行创建)添加如下语句:

alias setproxy="export ALL_PROXY=socks5://(socks5服务器的ip,一般为127.0.0.1,外边括号不要):(端口号,一般为1086或1087,外边括号不要)"
alias unsetproxy="unset ALL_PROXY"

之后就可以在终端下使用setproxy开启代理,使用unsetproxy关闭代理。

第三式 Shadowsocks-qt与tsocks组合拳

Ubuntu上,有的包只能通过launchpad的ppa源获取,下载速度仅数kb,甚至屡次停顿,令人抓狂。

究其原因,有的包不在国内的镜像站提供(如最新的nvidia显卡驱动),因此第一招不能用。而apt-get走的是http协议,因此第二招也不管用。

在此,我们可以使用tsocks。在此不赘述它的安装方法。在apt-get只能通过launchpad的ppa源下载的包时,在sudo和apt-get之间加上tsocks命令即可。

优点:对只能从launchpad的ppa源获取的包有效。
缺点:可移植性差;不适用于安装显卡驱动这种需要停止图形界面,从而停止了Shadowsocks-qt的情况。

第四式 离线下载与本地ppa源

在此介绍一下背景:笔者在之前安装显卡驱动的时候,发现国内服务器只提供到nvidia-375.66,然而因为笔者笔记本的GPU是今年新款,笔者安装375.66驱动以后因为该驱动的bug,所以只能跑出五分之一的显卡效能。之后笔者在nvidia论坛看到帖子,说该bug已经在384.98驱动中修复。于是笔者兴高采烈地在官网下载了.run驱动。然而.run文件令人崩溃,永远会把电脑搞坏,或者循环启动,无解。于是笔者想到利用apt-get安装。然而最新的nvidia-384.98只在ppa:graphics-drivers提供,下载速度奇慢,难以接受。因此笔者想用前面的第三式来解决,然而关闭xserver图形界面后,shadowsocks也断了,这一招也用不成。因此笔者只能曲线救国,离线安装,为大家祭出第四式。

该方法同时适用于给未联网或者无法使用前三招加速的Ubuntu主机高速安装软件的目的。请首先阅读第三式,并安装shadowsocks-qt与tsocks。

第一步 添加目的ppa源。如我要安装显卡驱动,我就运行:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo tsocks apt-get update

第二步 下载对应安装包(.deb)到终端当前所在目录(Working Directory)。如我要下载nvidia-384.98:

sudo tsocks apt-get download nvidia-384

第三步设置-软件和更新中,取消勾选ppa:graphics-drivers/ppa
第四步 将刚才下载好的所有deb包复制到待安装主机的某个文件夹下,如/var/debs

  • 注意:请将deb包的名字改成好拼好记的名字,之后apt-get install会用到。

第五步 生成包索引文件

cd /var
sudo touch debs/Packages.gz
sudo chmod -R 777 debs/
sudo dpkg-scanpackages debs /dev/null | gzip > debs/Packages.gz

第六步/etc/apt/sources.list中添加本地目录。

sudo gedit /etc/apt/sources.list

在该文件中添加:

deb file:/var debs/

第七步 索引更新。

sudo apt-get update

第八步 安装。

sudo apt-get install (deb包名,外面括号去掉)
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值