百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

在树莓派上:安装Ubuntu Server 20.04

liuian 2025-06-03 23:27 19 浏览

什么是树莓派



树莓派是英国树莓派基金会(
https://www.raspberrypi.org
)开发的卡片式电脑,采用高通的BCM2711 ARM64处理器,可用于机器人、物联网、边缘计算、通用计算等多种场景,由于性能不错、扩展丰富、价格便宜,很多开发者也会使用树莓派作为自己的实验性开发平台,或作为低成本服务器使用。

树莓派最新的硬件版本为4B,板载内存包括2GB、4GB和8GB三个版本,其他部分的硬件完全一致:1个ARM64(ARM v8)64位四核处理器,Cortex A72内核,运行在1.5GHz;1个USB Type-C供电口;两个Micro HDMI显示接口,支持双4K显示器;双通道MIPI DSI显示输出和双通道MIPI CSI摄像头输入;2个USB 2.0 Type A接口;2个USB 3.0 Type A接口;1个“真”千兆RJ45接口;支持IEEE 802.11ac标准的2.4G/5G无线网卡;支持Bluetooth 5.0;40针的GPIO针脚;1个用于引导系统的MicroSD(TF)卡插槽。核心板版本的树莓派4还支持选择板载eMMC芯片。

这一代树莓派4的供电需求比树莓派3多一些,官方建议使用5V3A或最低5V2.5A的供电。供电可以采用三种方式:使用USB Type-C供电口;GPIO供电针脚;使用PoE供电针脚。其中PoE供电需要外接HAT板,直接通过PoE交换机从网线供电。

从扩展能力上来说,树莓派4已经非常强悍,完全不比普通的电脑差,而且开箱即用,可以做到完全静音。


什么是Ubuntu Server


Ubuntu(https://www.ubuntu.com)是2004年开始发布的一款Linux发行版,多年处于最流行的Linux发行版前几名,在Linux桌面用户中已经超越曾经的王者Redhat Fedora。随着云计算生态的发展,Ubuntu也推出了针对云服务器的Server版,专门针对云计算进行了优化。

树莓派官方有点用心做硬件用脚做软件的感觉,迟迟都没有推出64位版本的Raspberry Pi OS的系统固件,而经过第三方测试,64位环境下才能够真正发挥出树莓派4的全部能力。

自2020年4月发布20.04版起,Ubuntu对树莓派提供了更好的支持。如果我们想搭建LNMP服务、内网域服务、区块链节点、Git仓库服务、NAS服务、容器服务、arm集群、分布式开发环境等等,在树莓派4上安装Ubuntu Server也成为了一个更适合的选择。

今天我们就讲一下如何在树莓派4B上安装Ubuntu Server。


准备工作

首先,我们得有树莓派^_^。

国内无论是马爸爸家还是东哥家都可以买得到树莓派4B的硬件,大部分商家还提供各种套餐。如果是开发用,我个人建议直接买主板、32G内存卡(MicroSD)和读卡器、国产电源、1根MicroHDMI=>HDMI转接线、网线。另外根据环境来选择使用裸板、散热片还是带小风扇的散热“装甲”。如果重度使用,建议选择带小风扇的散热方案。

如果是用于嵌入式开发、或者直接当服务器使用可以考虑不买HDMI转接线。有触控产品开发需求可选择有7寸液晶屏的套餐。如果当机器人或者嵌入式控制板用,直接买裸板就好了。如果想进行分布式开发或者自建arm集群,可以考虑一些商家提供的堆叠外壳。

接下来我们要准备安装软件的环境。先去Ubuntu官网下载预制好的树莓派4固件系统(
https://ubuntu.com/download/raspberry-pi
),记得选择Raspberry Pi 4的64-bit版本,然后去树莓派官网下载烧录工具Raspberry Pi Imager
https://www.raspberrypi.org/downloads/
),根据自己的操作系统选择对应的版本下载。

当然我们也可以用其他烧录工具进行烧录,例如dd、imagewriter也都可以,只是Raspberry Pi Imager更省事一些。

烧录系统固件

将用于安装系统固件的内存卡通过读卡器插到安装Raspberry Pi Imager的电脑上。

安装好Raspberry Pi Imager后,打开的界面如下:


选择“Choose OS”,会弹出来一个支持树莓派的系统列表,我们把列表滚动到最下面,选择“Usecustom”,然后找到我们下载的UbuntuServer固件,文件名应该类似:
ubuntu-20.04.1-preinstalled-server-arm64+raspi.img.xz


然后点击“WRITE”,等一会之后系统就烧录好了。

把内存卡插入到树莓派主板背面的TF插槽,接上电源、显示器,我们就可以开始配置系统了。

配置Ubuntu Server系统

接通电源后,系统进入引导状态,第一次会进行很多自检工作,并且把内存卡上未被固件占用的空间重新划分为可用的磁盘空间。

当出现登录界面Login提示符的时候,请不要着急登录系统,等个半分钟,这时候系统自带的Cloud-init进程会自动监测内网是否有Nova Metadata服务,熟悉Openstack的小伙伴一定知道这是什么。也就是假如内网有一个私有云的环境的话,Ubuntu Server会自动获取包括主机名、用户设置、IP地址等相关的配置信息。

如果没有获取到metadata信息,系统才真正进入可以登录的状态。默认的用户名和密码都是ubuntu,登录之后第一件事系统就会提示修改密码,修改后,就可以开始使用系统了。

如何配置Ubuntu系统的IP地址,网上有很多教程,我就不复述了,记得系统默认自带的网络渲染器是networkd即可。

接下来大家可能会配置一下国内的Ubuntu软件源,阿里云、网易、清华Tuna都是不错的选择。不过大家要注意ARM64的Ubuntu源类似是
https://mirrors.aliyun.com/ubuntu-ports
,而不是
https://mirrors.aliyun.com/ubuntu。

由于树莓派4内存资源毕竟有限,例如我就买了几个2GB的版本,所以我会停掉一些比较消耗内存且对我没什么用的服务。

我会:

$ sudo apt remove snapd cloud-init

还会:

$ sudo systemctl stop unattended-upgrades && sudo systemctl disable unattended-upgrades

桌面环境

如果大家想安装一些桌面环境的话,Ubuntu官方也给出了选择:

$ sudo apt search ubuntu-desktop

可以选择kde环境、gnome环境、xfce环境、lxde环境,个人推荐lubuntu-desktop,资源占用少,性能不错。

不过大家不要对树莓派4上跑桌面环境期待太多,在图形性能上还是跟pc机差距巨大,看优酷爱奇艺网易视频什么的能卡到你怀疑人生。但是装个sublime text或者vscodium之类的编辑器,配置个双屏幕开发一下php、python、nodejs程序,还是毫无问题的。

系统装好之后干点什么

正如前面所言,树莓派4可以当作一个很不错的服务器环境使用,我就用5块树莓派搭建了个分布式开发环境,部署了k8s集群、tidb集群、tdengine集群、sawtooth区块链节点等。在后续的文章中,我会详细介绍我是如何安装部署相关环境的。

接下来会是“在树莓派上”系列的下两篇《在树莓派上:安装CoreDNS服务》、《在树莓派上:安装部署TDengine时序数据库集群》,敬请期待。

相关推荐

总结下SpringData JPA 的常用语法

SpringDataJPA常用有两种写法,一个是用Jpa自带方法进行CRUD,适合简单查询场景、例如查询全部数据、根据某个字段查询,根据某字段排序等等。另一种是使用注解方式,@Query、@Modi...

解决JPA在多线程中事务无法生效的问题

在使用SpringBoot2.x和JPA的过程中,如果在多线程环境下发现查询方法(如@Query或findAll)以及事务(如@Transactional)无法生效,通常是由于S...

PostgreSQL系列(一):数据类型和基本类型转换

自从厂子里出来后,数据库的主力就从Oracle变成MySQL了。有一说一哈,贵确实是有贵的道理,不是开源能比的。后面的工作里面基本上就是主MySQL,辅MongoDB、ES等NoSQL。最近想写一点跟...

基于MCP实现text2sql

目的:基于MCP实现text2sql能力参考:https://blog.csdn.net/hacker_Lees/article/details/146426392服务端#选用开源的MySQLMCP...

ORACLE 错误代码及解决办法

ORA-00001:违反唯一约束条件(.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。ORA-00017:请求会话以设置跟踪事件ORA-00018:超出最大会话数ORA-00...

从 SQLite 到 DuckDB:查询快 5 倍,存储减少 80%

作者丨Trace译者丨明知山策划丨李冬梅Trace从一开始就使用SQLite将所有数据存储在用户设备上。这是一个非常不错的选择——SQLite高度可靠,并且多种编程语言都提供了广泛支持...

010:通过 MCP PostgreSQL 安全访问数据

项目简介提供对PostgreSQL数据库的只读访问功能。该服务器允许大型语言模型(LLMs)检查数据库的模式结构,并执行只读查询操作。核心功能提供对PostgreSQL数据库的只读访问允许L...

发现了一个好用且免费的SQL数据库工具(DBeaver)

缘起最近Ai不是大火么,想着自己也弄一些开源的框架来捣腾一下。手上用着Mac,但Mac都没有显卡的,对于学习Ai训练模型不方便,所以最近新购入了一台4090的拯救者,打算用来好好学习一下Ai(呸,以上...

微软发布.NET 10首个预览版:JIT编译器再进化、跨平台开发更流畅

IT之家2月26日消息,微软.NET团队昨日(2月25日)发布博文,宣布推出.NET10首个预览版更新,重点改进.NETRuntime、SDK、libraries、C#、AS...

数据库管理工具Navicat Premium最新版发布啦

管理多个数据库要么需要使用多个客户端应用程序,要么找到一个可以容纳你使用的所有数据库的应用程序。其中一个工具是NavicatPremium。它不仅支持大多数主要的数据库管理系统(DBMS),而且它...

50+AI新品齐发,微软Build放大招:拥抱Agent胜算几何?

北京时间5月20日凌晨,如果你打开微软Build2025开发者大会的直播,最先吸引你的可能不是一场原本属于AI和开发者的技术盛会,而是开场不久后的尴尬一幕:一边是几位微软员工在台下大...

揭秘:一条SQL语句的执行过程是怎么样的?

数据库系统能够接受SQL语句,并返回数据查询的结果,或者对数据库中的数据进行修改,可以说几乎每个程序员都使用过它。而MySQL又是目前使用最广泛的数据库。所以,解析一下MySQL编译并执行...

各家sql工具,都闹过哪些乐子?

相信这些sql工具,大家都不陌生吧,它们在业内绝对算得上第一梯队的产品了,但是你知道,他们都闹过什么乐子吗?首先登场的是Navicat,这款强大的数据库管理工具,曾经让一位程序员朋友“火”了一把。Na...

详解PG数据库管理工具--pgadmin工具、安装部署及相关功能

概述今天主要介绍一下PG数据库管理工具--pgadmin,一起来看看吧~一、介绍pgAdmin4是一款为PostgreSQL设计的可靠和全面的数据库设计和管理软件,它允许连接到特定的数据库,创建表和...

Enpass for Mac(跨平台密码管理软件)

还在寻找密码管理软件吗?密码管理软件有很多,但是综合素质相当优秀且完全免费的密码管理软件却并不常见,EnpassMac版是一款免费跨平台密码管理软件,可以通过这款软件高效安全的保护密码文件,而且可以...