【B站UP主-同济子豪兄】十分钟了解华为云开源软件镜像站
十分钟了解华为云开源软件镜像站
同济大学开源软件协会 张子豪 2020-09-20
这篇博客要讲什么
华为开源镜像站(Mirrors)是由华为云提供的开源组件、开源操作系统及开源DevOps工具镜像站,目前已提供Maven、NPM、NuGet、CentOS、Ubuntu、Debian等镜像下载服务。
通过这个博客及配套的视频,介绍华为开源镜像站,并以目前火热的编程语言Python为例,使用华为开源镜像站下载Python安装包,使用华为开源镜像站下载安装人工智能、数据分析、机器学习的Python第三方工具包,大大提升下载速度。
我是同济子豪兄,这个博客跟大家聊聊程序员都使用过的开发工具,开源软件镜像站。
那么,什么是开源镜像站,为什么要有开源镜像站,有哪些开源镜像站,怎么使用开源镜像站呢?
作为开发者,程序员,我们每天都要和各种开源编程语言、操作系统、编程工具打交道。而开源软件镜像站就是帮我们在国内免费高速下载这些资源的利器。比如,如果你是Web前端或者后端开发,要用npm下载Node.js的包。如果你是数据分析师,要使用MySQL、PostgreSQL数据库。如果你是人工智能算法工程师,要使用Tensorflow,Pytorch,Keras这些深度学习和机器学习框架。如果你是云计算后端或者运维,要使用Ubuntu,CentOS,Fedora这些Linux发行版,还有Docker,Kubernets容器。就算你是小学生,现在也要学Python编程,Python之所以这么火,一方面是因为语法简单,非常容易上手。
另外一方面,Python的PyPI社区有海量第三方开源工具包,涵盖数据挖掘、人工智能、可视化、后端开发方方面面,使用包管理器pip下载pypi社区上的第三方工具包,是每一个学python同学的必备技能。
那么问题来了,刚刚上面我们说的所有第三方工具包、开发工具,和操作系统,包括开发者非常熟悉的开源代码托管平台Github里边的海量项目,虽然都是开源的,但很遗憾,绝大部分资源都在海外的服务器上,如果你想在国内网络下载,需要远隔重洋发起网络请求,下载速度会非常非常慢。比如你是一个Python初学者小白,刚刚在电脑上安装好Python,想使用包管理器pip下载著名的人工智能框架Tensorflow,在我的电脑上竟然要二十个小时之久。
开源软件镜像站的原理
这个时候,开源软件镜像站就闪亮登场了,它完美解决了在国内下载外网开源资源慢的问题。
这张图说的非常明白。这个男士,就是我们,椰子是外网的开源资源,但是资源远在海外服务器,直接下载的话会非常慢,甚至完全无法访问,而开源软件镜像站呢,就是这位红衣女郎,她已经帮我们提前从国外获取了这个资源,我们不需要直接去喝椰子,直接从她这里喝就可以了。这位红衣女郎会保持和椰子里一模一样的资源,像照镜子一样,所以称之为“镜像站”。
有哪些开源软件镜像站
世界著名互联网大厂和高校,比如Facebook、哈佛、MIT都有自己的公共开源镜像站。
除了软件行业之外,谷歌学术也有国内镜像站。便于国内的科研人员查论文使用。
国内有很多知名的互联网大厂、高校都设立了开源软件镜像站,比如著名的清华大学开源软件镜像站、中科大、阿里云开源镜像站、网易、豆瓣、华为云开源镜像站。
有趣的时,不同互联网大厂的开源镜像站,UI界面设计也有天壤之别,从豆瓣pypi镜像站土土的程序猿界面,到网易开源镜像站的工科直男风,再到阿里巴巴镜像站的淘宝橙系风,还有华为云开源镜像站走心的UI设计,华为云开源软件镜像站,由华为云Devcloud运营维护,我们开发者虽说都是直接通过命令行使用镜像站,不会专门看UI设计,但是还是看到了华为对开发者使用体验的尊重。同时,还有一些诸如点击收藏、过滤筛选、关键词搜索的附加功能,便于后续使用。
这里有一个帖子,列举了国内所有知名的开源镜像站。这些镜像站呢,分为站点类镜像站、操作系统类镜像站、服务器类镜像站、开发工具和编程语言类镜像站,还有教你怎么搭建自己的镜像站。
上面这些国内企业和高校的镜像站,专门服务国内的开发者,提供高速免费的下载服务。
在知乎上有一个帖子,里面有清华、中科大、浙大、网易、上科大镜像站的创始人或者运营负责人的心路历程。
还有很多高校的开源镜像站,大多服务于校内学生,比如华中科技大学、同济大学、重庆大学、青岛大学镜像站。
比如清华大学开源软件镜像站,就是由清华大学学生网络与开源软件协会这个社团负责运营,自动定期和国外源保持镜像同步。
比如,Python的Pypi社区每隔五分钟和国外源同步一次。你只需要在命令行里运行这行命令,
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
就可以一劳永逸把Python的pip包下载源永久切换到清华镜像站。
也可以把这个链接换成其它的镜像站,达到同样的效果。比如换到华为云开源镜像站。
pip config set global.index-url https://repo.huaweicloud.com/repository/pypi/simple
换源后,如果你想下载python的第三方工具包,直接在命令行运行 pip install <第三方包名>即可快速下载安装 例如:pip install pandas
这里,我们使用华为云开源镜像站,下载速度还是很快的,不到十秒就下载好pandas了,这是python里面最常用的数据分析工具之一,可以代替excel实现自动化办公,大大提升你的工作效率。
像华为云、阿里云、网易、豆瓣这些开源镜像站,背后由互联网和云计算大厂专人维护,无论是基础算力设施、服务器硬件、网络带宽、CDN加速、数据安全隐私,都是稳定可信赖的,而且有覆盖全国,乃至全世界的数据中心,用户体验会很不错。
下面我就以华为云开源镜像站为例,详细讲讲,除了Python的第三方包之外,还可以获取哪些开源资源,
其它国内镜像站呢使用方法都大同小异。
作为一个开发者,首先要和各种编程语言打交道,每种编程语言都有自己的包管理器和第三方工具包社区生态,比如JAVA的maven包管理器,Node.js的npm包管理器,Python的pip包管理器和PyPI社区,PHP的Packagist社区,顺便一提,PHP号称是最好的编程语言。Ruby、PHP、.NET语言的开源依赖包,都可以在镜像站中找到。
如果你的电脑里安装了这些编程语言,就可以把对应的包管理器的下载源切换到华为云开源镜像站。
刚刚讲了python的换源,你同样也可以给Node.js的npm换源,给PHP的packgist换源。都是只需要在命令行里输入一行命令,就可以一劳永逸完成。
你还可以在语言组件里指定第三方包社区,以及包的名称,来进行搜索。
比如我指定Python的pypi社区,搜索Tensorflow,点击就可以看到最新版本的下载链接,复制这个命令到命令行里运行即可。这是谷歌开源的人工智能和深度学习框架。
比如我指定Node.js的npm社区,搜索echarts,点击就可以看到最新版本的下载链接,复制这个命令到命令行里运行即可。这是百度和阿帕奇开源的数据可视化神器。
讲完编程语言,再看开发工具,镜像站里涵盖了各种编程语言安装包,比如Python,Node.js,Ruby,还有Web服务器,比如Apache、Nginx,数据库,比如MySQL、PostgreSQL,跨平台应用开发工具Electron,写代码必备的开源文本编辑器Atom,版本控制软件git,Web自动化工具PhatonJs,以及网络自动化调试爬虫神器Selenium。
轻量化ssh工具PuTTY,用来连树莓派或者服务器很方便。
Linux毫无疑问是程序员和开发者最爱的操作系统,在华为云开源镜像站里可以下载所有常见的Linux发行版,比如CentOS Ubuntu Debian Fedora Deepin Arch Linux Kali OpenSUSE等等。
你可以选择x86架构,或者是ARM架构。对于后端运维和云开发者,还有Docker及Kubernetes容器安装包。在OS镜像栏目里,左侧选择Linux发行版,比如ubuntu,fedora,在右侧就可以看到不同版本、不同架构的镜像
对于常用到的镜像,点击小爱心收藏,在我的收藏栏目里就能看到。非常方便。
感谢华为云、开源社、同济大学开源软件协会、重庆大学开源协会和Linux用户组、网络信息协会对本视频制作的大力支持。
最后我想说,不管是阿里、网易还是华为,不管是清华,浙大还是同济,开源软件镜像站都是公益性,非盈利,并且长期维护的,创办开源镜像站不仅需要服务器硬件、网络带宽、技术运维成本,更需要一人栽树、众人乘凉的开源精神和极客风范,让我们向开源镜像站的运营者致敬,他们代表着中国开源社区的过去,现在和未来。
偷偷告诉大家,华为全联接2020大会快到了,9月23日至26日在上海世博中心开启,
众多大咖共话5G通信、新基建、智能交通、各行业全场景智能连接和数字化转型。
9月25日和26日属于开发者日。
我到时候也会去参加,给大家带来全程的直播。欢迎大家来找我玩。
好了我们下期视频再见,拜拜~
- 点赞
- 收藏
- 关注作者
评论(0)