换用国内apt源解决树莓派安装ubuntu后apt-get速度慢的问题

最近两代树莓派变化

手里有两块树莓派
一块raspberry pi 3b
购于大四毕业前夕,做毕业设计用的
一块raspberry pi 3b+
公司买来学习研究的
换用国内apt源解决树莓派安装ubuntu后apt-get速度慢的问题_第1张图片
3b+和3b相比,主要部件变化不大,主要是CPU主频提高了0.2GHz,支持5GHz wifi了,以太网卡也升级到了千兆,还有个最大的亮点是支持以太网卡POE供电,个人感觉这点非常有用,使得树莓派可以静静的呆在需要它的地方,而不用拖个220V的插座过去再配个电源适配器了。

树莓派系统的选择

树莓派上手把玩至今,各种系统都安装尝试过来了,还是觉得ubuntu最好用,毕竟平时工作都是用ubuntu server部署实施产品,习惯了以后再也不想尝试其他系统了,当然,树莓派也被我装上了ubuntu
如果你需要桌面环境,可以在树莓派上安装
ubuntu mate: https://ubuntu-mate.org/download/
如果你不需要桌面环境,主要使用ssh连接上去工作的话,可以在树莓派上安装
ubuntu server 针对树莓派适配的arm版:https://wiki.ubuntu.com/ARM/RaspberryPi
也可以安装更精简的ubuntu server on raspberry
snappy ubuntu core: https://www.ubuntu.com/download/iot/raspberry-pi-2-3

由于我对树莓派的使用,很少涉及影音娱乐的内容,主要涉及传感器的使用和微型服务器的搭建,所以直接在上面安装arm版的ubuntu server,通过ssh sftp开发和调试程序

解决apt get速度慢的问题

根据官方教程在树莓派上安装好ubuntu server后,使用apt-get安装软件包,会发现巨慢无比,下载速度只有10几kb,因为默认使用的apt源是位于英国的服务器 ports.ubuntu.com
遇到这种问题,当然是到网上搜索查询,知道应该更换国内apt镜像源来解决
关键点是这个配置文件 /etc/apt/sources.list
但是从网上文章copy来的sources.list内容直接粘贴进去,往往是不合套的,稍加对比,就会发现除了host,很多地方不一样,直接copy的结果是apt update时出现了一些404错误,毕竟别人的ubuntu可能是ubuntu16,而你的是ubuntu18,别人是x86 x64版本,你的是arm版本
简单看一下我的树莓派中的/etc/apt/sources.list文件,去掉注释如下:

deb http://ports.ubuntu.com/ubuntu-ports bionic main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports bionic main restricted

deb http://ports.ubuntu.com/ubuntu-ports bionic-updates main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports bionic-updates main restricted

deb http://ports.ubuntu.com/ubuntu-ports bionic universe
deb-src http://ports.ubuntu.com/ubuntu-ports bionic universe
deb http://ports.ubuntu.com/ubuntu-ports bionic-updates universe
deb-src http://ports.ubuntu.com/ubuntu-ports bionic-updates universe

deb http://ports.ubuntu.com/ubuntu-ports bionic multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports bionic multiverse
deb http://ports.ubuntu.com/ubuntu-ports bionic-updates multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports bionic-updates multiverse

deb http://ports.ubuntu.com/ubuntu-ports bionic-backports main restricted universe multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports bionic-backports main restricted universe multiverse

deb http://ports.ubuntu.com/ubuntu-ports bionic-security main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports bionic-security main restricted
deb http://ports.ubuntu.com/ubuntu-ports bionic-security universe
deb-src http://ports.ubuntu.com/ubuntu-ports bionic-security universe
deb http://ports.ubuntu.com/ubuntu-ports bionic-security multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports bionic-security multiverse

这些bionic、main、restricted、universe、multiverse是什么意思呢,该怎么修改才对,实在是让人头大。简单了解一下:

bionic是指你的ubuntu版本代号,可以用 lsb_release -c 命令查看:
ubuntu 12.04 代号为precise
ubuntu 14.04 代号为trusty
ubuntu 15.04 代号为vivid
ubuntu 15.10 代号为wily
ubuntu 16.04 代号为xenial
ubuntu18.04 代号为bionic
如果不注意这个,可能拷贝别人的sources.list文件对应的ubuntu版本和你的不一样,就出错了

main、restricted、universe、multiverse的意义是:
main 即“基本”组件,其中只包含符合Ubuntu的协议要求并由Ubuntu团队维护支持的软件。
restricted 即“受限”组件,其中包含了非常重要的,但并不具有合适的自由协议的软件,如显卡驱动,同样有 ubuntu团队维护支持。
universe 即“社区维护”组件,其中包含的软件种类繁多,它们可能采用受限于协议,可能不是,但都不为ubuntu 团队维护。
multiverse 即“非自由”组件,其中包括了不符合自由软体要求而且不被Ubuntu团队支援的软件,通常为商业公司编写的软件。

其实不必了解他们的具体含义,最好的方法就是不改动它们,保持原样,只改动url部分,观察到我的sources.list中,url均为:http://ports.ubuntu.com/ubuntu-ports
那么改为阿里云的镜像节点URL就行了:
http://mirrors.aliyun.com/ubuntu/

可是改了以后,apt update仍然出现了很多404错误,查看错误信息才发现阿里云的镜像节点 http://mirrors.aliyun.com/ubuntu/ 只包含x86 x64的bin,并不包含arm的bin,怎么会这样呢,难道阿里云偷懒了吗?只拷贝了PC版ubuntu需要的包?
后来才发现不是这样的,是URL路径不对,应该改为 http://mirrors.aliyun.com/ubuntu-ports

重点

所以,直接生搬硬套copy网上的资料,是有可能会出问题的,最好,最简单,最靠谱的办法,就是打开你原本的/etc/apt/sources.list 只替换其中的host部分,其它部分一个字符都不要动
sudo vim /etc/apt/sources.list
:%s/ports.ubuntu.com/mirrors.aliyun.com/g
:wq
sudo apt update

perfect !



本文由CharlesSimonyi发表于CSDN博客:https://blog.csdn.net/CharlesSimonyi/article/details/89346473 转载请注明出处

你可能感兴趣的:(【Linux】,WEB开发与运维)