树莓派软件源加速完全攻略(测试Markdown)
# 前言原创文章,转载引用务必注明链接。水平有限,如有疏漏,欢迎指正。
最近群里看到好些新入手树莓派的,关于软件源的问题存在疑惑,所以特地写这篇文章,讨论关于软件源的设置问题。
通过本文你将学到:
* 树莓派的软件源一探
* 如何查找最快的软件源
* 如何通过多线程加速软件更新下载
* 如何使用tsocks让任意程序使用地图
本文仅在Raspbian及其衍生系统(这里是DietPi)上验证。
# 树莓派软件源探秘
## 什么是软件源
相当于软件仓库的地址。我们在Windows下安装软件,需要手动到网站去下载,以及安装.Net/C/VB运行环境才行,升级软件也要一个一个去弄,虽然有了各种软件管家,但是基本过程都是一样的。
然而,在Linux下,通过软件包管理系统,可以很方便地一个命令安装升级各种软件,你要做的不过是搜索并安装。而存放软件文件并提供软件目录索引的服务器就是软件仓库。由于世界各地网络情况并不相同,所以有大量软件仓库镜像,方便大家可以方便地选择最近的服务器下载以加快速度,而Debian系的操作系统会把软件仓库的访问地址存在`/etc/apt/sources.list`里面。`/etc`是Linux系统存放配置文件的地方,`apt`是Debian使用的软件包管理系统,用来自动管理软件并满足依赖。`sources.list`字面意思就是源地址。
## 一探软件源
我们看看`sources.list`里面有什么:
```shell
cat /etc/apt/sources.list # 内容如下:
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main non-free contrib
```
`deb`表示deb软件包|软件源地址|系统版本|软件包类型。
* deb是Debian的软件包格式,类似exe之于Windows,rpm之于RedHat
* ☆软件源地址:告诉系统去哪里搜索下载软件
* Debian一般有三个版本oldstable, stable, testing。其中stable是稳定版,目前版本代号jessie,软件包较新,上一版是wheezy。
* 软件包类型,默认是主要、非自由和贡献。
## 如何寻找最快的软件源
好多人都会直接说,换个国内源就行啦,然而国内源很多,加上ISP有电信联通等,那么如何找到最快的软件源呢?
可以看我之前写的文章[《树莓派笔记之使用netselect选择最快Raspbian软件源》](http://www.cnblogs.com/sjqlwy/p/4453612.html) 。
特地在github上建了个脚本(https://github.com/sjqlwy/ccrm) ,简介如下:
* 包含Raspbian官方亚洲源,补齐国内软件源
* 本质是使用netselect命令
运行之后会输出连接质量最高的三个软件源,修改sources.list文件即可,以中国科技大学(ustc)为例,编辑`/etc/apt/sources.list`文件,删除原文件所有内容,用以下内容取代:
```
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main non-free contrib
deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main non-free contrib
```
更新源地址之后,还要重建本地软件列表:`sudo apt-get update`。
## 还有一个拖后腿的
更新过程中发现一个archive.raspbian.org地址访问速度很慢,但是sources.list里面并没有看到这个地址,原来`/etc/apt/sources.list.d`里面还有东西。
`d`代表`directory`目录的意思,该目录下存放第三方源,作为主源的补充。
内容如下:
我们搜索了之后发现ustc有该源的镜像,修改`/etc/apt/sources.list.d/raspi.list`为以下内容:
`deb https://mirrors.ustc.edu.cn/archive.raspberrypi.org/ jessie main ui`
此时再执行`sudo apt-get update`会发现速度大大提升。
# 加速软件包下载
## apt-fast多线程下载
迅雷、旋风之类的工具要比用IE浏览器下载文件速度快很多,这是因为他们使用了多线程下载技术,从服务器下载文件时,会将一个文件分为多个文件块同时下载,然后在本地合并成完整的文件,这相比于单线程从头下载要快很多。同样的,apt系统默认单文件从头下载,我们如果使用多线程方式可以加快下载速度,当然如果你本身下载就很快的话就不要这么做了,毕竟会加大服务器负担。
* (https://github.com/ilikenwf/apt-fast)
* (http://www.mattparnell.com/projects/apt-fast-and-axel-roughly-26x-faster-apt-get-installations-and-upgrades.html)
该工具使用shell脚本配合Linux下流行的下载工具aria2实现加速下载的作用。
## 安装使用apt-fast
```shell
# 自动下载安装apt-fast(会自动安装aria2和git)
sudo /bin/bash -c "$(curl -sL http://dwz.cn/5nTqJK)"
```
完成以上命令即可使用apt-fast代替apt-get命令,如
```shell
apt-fast update
apt-fast upgrade
apt-fast install XXX
apt-fast clean
```
### 使用多个软件源
我们可以修改`/etc/apt-fast.conf`配置文件,增加多个软件源地址,相当于多服务器加速下载,但是务必保证各个软件源同步上游进度一致,否则可能会出现软件包依赖环境不满足或者冲突的问题。
## 其他软件源
常用的还有Node.js, 这个可以使用淘宝源或者ustc。
## 终极大法tsocks
@Ash 效果很棒,非常感谢! pATAq 发表于 2017-9-8 23:13
@Ash 效果很棒,非常感谢!
呦吼~ 好棒! {:5_190:}
感谢测试反馈~
页:
[1]