在linux相关平台下开发与调试程序经常会遇到各种耗时的问题:比如目标机器不能联网安装依赖包,内核相关定义和函数不方便查找等。
接下来,先从下载包开始,为大家推荐几个网站提高编程效率。
Belnet
Debian系列包下载
ubuntu系列包下载
bootlin
内核信息查找
mirrors
内核下载
Belnet
Belnet公共FTP服务器,该服务器位于比利时布鲁塞尔,由比利时教育和研究网络Belnet运营。主要用于linux相关系统、依赖包下载,其中Debian、ubuntu系列依赖包最为方便寻找。
Belnet地址:Belnet.
主址有一条信息需要留意:
注意:打开太多与此主机的并行连接被视为滥用。记录所有访问。
接下来,从Debian系列包下载开始介绍(http://ftp.belnet.be/debian/pool/main/):
假如我需要一个arm64架构的cmake包如何下载?
答:拼写完整地址为 :http://ftp.belnet.be/debian/pool/main/包首字母/包名称(大部分包都可以按照这种方式搜索),即http://ftp.belnet.be/debian/pool/main/c/cmake,在浏览器中打开:
参考图1,我们可以看到页面中有不同类型、不同架构的cmake可以选择,其中cmake类型可以大致分为:
cmake: A command line interface (CLI). 命令行接口
cmake-curses-gui: An ncurses (terminal) GUI. (only available on Unix-like systems). 一个ncurses(终端)GUI。(仅适用于类unix系统)
cmake-qt-gui: A Qt-based GUI. 基于Qt的GUI
通常情况下,我们选择cmake_3.XX_arm64.deb,即我们所需的arm64架构。
ubuntu系列包下载开始介绍(http://ftp.belnet.be/ubuntu/pool/main/):
假如我需要一个amd64架构的openssl包如何下载?
答:拼写完整地址为 :http://ftp.belnet.be/ubuntu/pool/main/包首字母/包名称,即http://ftp.belnet.be/ubuntu/pool/main/o/openssl/,在浏览器中打开:
参考图2,我们可以看到页面中有不同类型、不同架构的包可以选择:
udeb: 这个软件包专门用于构建 Debian 安装程序(debian-installer)镜像。不要在一个普通的 Ubuntu 系统上安装它。
通常情况下,我们选择libcrypto1.XX_amd64.deb与libssl1.XX_amd64.deb,libcrypto与libssl版本对应即可。
bootlin
bootlin是一家提供在线查找阅读linux大部分内核源码的社区,并提供公开和专用在线培训课程。在这里可以非常方便查找linux内核中遇到的宏定义、函数定义、函数源码等信息。
bootlin地址:bootlin.
内核信息查找(https://elixir.bootlin.com/linux/latest/source):
如何查看宏定义或函数源码的原型?
答:以“__NR_openat”为示例,在浏览器中打开上述网址(https://elixir.bootlin.com/linux/latest/source):
mirrors
mirrors是一家提供大部分linux发行版和linux内核下载的站点,在这里也可以找到其他站点的镜像存档。
mirrors.kernel.org地址:mirrors.kernel.org.
内核下载(https://mirrors.edge.kernel.org/pub/linux/kernel):
如何下载不同版本的内核?
答:在3.0及3.0以下版本需要指定明确版本号,拼写完整地址为 :https://mirrors.edge.kernel.org/pub/linux/kernel/v版本号,即https://mirrors.edge.kernel.org/pub/linux/kernel/v3.0,在浏览器中打开:
在3.0以上版本指定主版本号(比如5.2),拼写完整地址为 :https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x,在浏览器中打开: