树莓派Pi4安装Ubuntu 22.04 LTS完整指南
1. 树莓派Pi4与Ubuntu 22.04的黄金组合树莓派Pi4作为目前最受欢迎的嵌入式开发板之一其性能已经足够流畅运行完整的桌面操作系统。而Ubuntu 22.04 LTS作为长期支持版本提供了5年的安全更新支持这对需要稳定运行环境的开发者来说至关重要。我最近在Pi4上部署Ubuntu 22.04时发现这个组合特别适合需要图形界面又要求稳定性的场景比如家庭媒体中心、轻量级开发环境或者物联网网关。相比树莓派官方系统Ubuntu 22.04提供了更完善的软件生态和更成熟的开发工具链。你可以直接使用apt安装绝大多数Linux软件而不需要像在Raspberry Pi OS上那样经常需要从源码编译。不过需要注意的是Pi4的ARM架构意味着某些x86平台的软件可能需要寻找替代方案。2. 准备工作与镜像选择2.1 硬件需求清单树莓派Pi4B建议4GB或8GB内存版本至少16GB的microSD卡Class 10以上速度5V/3A的USB-C电源适配器HDMI线缆如需显示输出键盘鼠标首次配置需要有线网络连接或兼容的USB无线网卡实测发现使用A2级别的SD卡可以显著提升系统响应速度特别是频繁读写操作时。闪迪Extreme Pro系列是我个人最推荐的选择。2.2 官方镜像下载Ubuntu为树莓派提供了专门的优化镜像目前22.04 LTS有两个主要版本可供选择Ubuntu Server纯净的服务器版本无图形界面下载地址https://cdimage.ubuntu.com/releases/22.04/release/ubuntu-22.04.3-preinstalled-server-arm64raspi.img.xz文件大小约1.1GBUbuntu Desktop完整的桌面环境下载地址https://cdimage.ubuntu.com/releases/22.04/release/ubuntu-22.04.3-preinstalled-desktop-arm64raspi.img.xz文件大小约2.6GB对于大多数开发者我推荐从Server版本开始需要GUI时再通过sudo apt install ubuntu-desktop安装。这样可以节省系统资源也减少不必要的后台服务。3. 使用Raspberry Pi Imager刷写镜像3.1 安装刷写工具官方推荐的Raspberry Pi Imager是目前最可靠的刷写工具支持Windows/macOS/Linux三大平台# 在Ubuntu/Debian系统上安装 sudo snap install rpi-imager # 或者使用apt安装 sudo apt update sudo apt install rpi-imagerWindows用户可以直接从官网下载安装包https://www.raspberrypi.com/software/3.2 镜像刷写步骤启动Raspberry Pi Imager点击Choose OS → Other general-purpose OS → Ubuntu选择下载好的镜像文件或直接选择在线下载插入SD卡选择对应的存储设备点击Write按钮开始刷写关键技巧刷写前勾选右下角的齿轮图标可以预先配置Wi-Fi、SSH和地区设置。这样首次启动就能直接远程连接不需要接显示器。刷写过程通常需要5-10分钟完成后系统会提示验证写入结果。建议勾选验证选项确保镜像完整写入。4. 首次启动与基本配置4.1 初始登录插入SD卡通电启动后如果是桌面版默认用户名ubuntu默认密码ubuntu首次登录会强制要求修改密码服务器版则直接进入命令行界面同样使用上述凭证登录。4.2 关键系统配置# 更新软件源索引 sudo apt update sudo apt upgrade -y # 安装常用工具包 sudo apt install -y vim git curl wget net-tools # 设置时区亚洲上海 sudo timedatectl set-timezone Asia/Shanghai # 修改主机名 sudo hostnamectl set-hostname my-pi44.3 网络配置有线网络通常会自动连接。配置WiFi可以使用netplansudo vim /etc/netplan/50-cloud-init.yaml添加以下内容替换你的SSID和密码network: version: 2 wifis: wlan0: access-points: 你的WiFi名称: password: 你的WiFi密码 dhcp4: true应用配置sudo netplan apply静态IP配置示例network: version: 2 ethernets: eth0: addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1]5. 系统优化与性能调校5.1 交换空间优化树莓派4的内存有限合理配置swap很重要# 查看当前swap free -h # 调整swappiness默认60可能太高 sudo sysctl vm.swappiness10 echo vm.swappiness10 | sudo tee -a /etc/sysctl.conf # 使用zram替代传统swap sudo apt install zram-config sudo systemctl restart zram-config5.2 文件系统优化# 禁用不必要的日志记录 sudo sed -i s/^#Storageauto/Storagepersistent/ /etc/systemd/journald.conf # 限制日志大小 sudo journalctl --vacuum-size50M5.3 温度监控与风扇控制安装温度监控工具sudo apt install -y lm-sensors sudo sensors-detect --auto watch -n 2 sensors手动控制GPIO风扇需要连接GPIO针脚# 安装GPIO工具 sudo apt install -y python3-gpiozero # 创建控制脚本 /usr/local/bin/fan_ctrl.py #!/usr/bin/python3 from gpiozero import OutputDevice from time import sleep fan OutputDevice(17) # 根据实际接线修改GPIO引脚 while True: temp int(open(/sys/class/thermal/thermal_zone0/temp).read()) / 1000 if temp 60: fan.on() elif temp 50: fan.off() sleep(10)设置为开机启动sudo chmod x /usr/local/bin/fan_ctrl.py sudo crontab -e reboot /usr/local/bin/fan_ctrl.py 6. 开发环境配置6.1 Python环境Ubuntu 22.04默认已安装Python 3.10# 安装pip和虚拟环境 sudo apt install -y python3-pip python3-venv # 创建虚拟环境 python3 -m venv ~/venv source ~/venv/bin/activate6.2 Docker安装# 卸载旧版本 sudo apt remove docker docker-engine docker.io containerd runc # 安装依赖 sudo apt update sudo apt install -y ca-certificates curl gnupg lsb-release # 添加Docker官方GPG密钥 sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 设置仓库 echo deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 安装Docker引擎 sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin # 添加用户到docker组 sudo usermod -aG docker $USER newgrp docker6.3 ROS2 Humble安装# 设置locale sudo apt update sudo apt install -y locales sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALLen_US.UTF-8 LANGen_US.UTF-8 export LANGen_US.UTF-8 # 添加ROS2仓库 sudo apt install -y software-properties-common sudo add-apt-repository universe sudo apt update sudo apt install -y curl sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg echo deb [arch$(dpkg --print-architecture) signed-by/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release echo $UBUNTU_CODENAME) main | sudo tee /etc/apt/sources.list.d/ros2.list /dev/null # 安装ROS2基础包 sudo apt update sudo apt install -y ros-humble-ros-base # 设置环境变量 source /opt/ros/humble/setup.bash echo source /opt/ros/humble/setup.bash ~/.bashrc7. 常见问题与解决方案7.1 蓝牙无法正常工作Ubuntu 22.04在Pi4上可能存在蓝牙驱动问题解决方法# 安装固件 sudo apt install -y pi-bluetooth sudo systemctl enable bluetooth sudo reboot7.2 音频输出问题如果HDMI或3.5mm接口没有声音# 查看音频设备 aplay -l # 设置默认声卡示例 sudo vim /etc/asound.conf pcm.!default { type hw card 1 } ctl.!default { type hw card 1 }7.3 USB启动配置如果想从USB设备而不是SD卡启动# 查看当前启动模式 vcgencmd bootloader_config # 更新EEPROM sudo rpi-eeprom-update -a sudo reboot然后在BIOS中设置启动顺序需要连接显示器。7.4 图形界面卡顿如果使用桌面版感觉卡顿可以尝试# 禁用不必要的视觉效果 sudo apt install -y gnome-tweaks # 然后在Tweaks工具中关闭动画效果 # 或者安装轻量级桌面 sudo apt install -y lubuntu-desktop8. 进阶应用场景8.1 家庭媒体中心安装Kodi媒体中心sudo apt install -y kodi # 启动后配置媒体库和插件8.2 物联网边缘计算使用Ubuntu Core构建安全IoT设备# 下载Ubuntu Core镜像 # 配置SSH密钥 snap install --edge ubuntu-core8.3 轻量级Web服务器安装NginxPHPMySQLsudo apt install -y nginx php-fpm mysql-server sudo mysql_secure_installation配置Nginx虚拟主机示例server { listen 80; server_name example.com; root /var/www/html; index index.php index.html; location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } }8.4 自动化运维监控安装PrometheusGrafana# 创建专用用户 sudo useradd -m -s /bin/false prometheus sudo useradd -m -s /bin/false grafana # 安装Prometheus wget https://github.com/prometheus/prometheus/releases/download/v2.47.0/prometheus-2.47.0.linux-arm64.tar.gz tar xvf prometheus-*.tar.gz sudo mv prometheus-2.47.0.linux-arm64 /opt/prometheus # 配置系统服务 sudo vim /etc/systemd/system/prometheus.service [Unit] DescriptionPrometheus Afternetwork.target [Service] Userprometheus ExecStart/opt/prometheus/prometheus --config.file/opt/prometheus/prometheus.yml Restartalways [Install] WantedBymulti-user.target # 启动服务 sudo systemctl daemon-reload sudo systemctl enable --now prometheus

相关新闻

UE5 Widget Blueprint实战:动态血量条与得分UI的实现与优化

UE5 Widget Blueprint实战:动态血量条与得分UI的实现与优化

1. 项目概述与核心价值在虚幻引擎5(UE5)的项目开发中,无论是独立游戏还是大型作品,一个直观、响应迅速的用户界面(UI)都是连接玩家与游戏世界的桥梁。很多开发者,尤其是刚接触蓝图系统的朋友&am…

2026/10/27 1:17:25 阅读更多 →
SpringBoot+Vue3课程管理系统实战:从环境搭建到生产部署

SpringBoot+Vue3课程管理系统实战:从环境搭建到生产部署

这次我们来看一个基于 SpringBoot 和 Vue3 的前后端分离课程管理系统。对于高校、培训机构或企业内部培训部门来说,一套能管理课程、教师、学生、选课和成绩的系统是刚需。这个项目用当前主流的技术栈(SpringBoot Vue3)实现了这些核心功能&a…

2026/10/27 1:18:09 阅读更多 →
为什么你的AI文案总像“不同人写的”?揭秘神经风格嵌入(NSE)技术在生产环境的3个关键阈值

为什么你的AI文案总像“不同人写的”?揭秘神经风格嵌入(NSE)技术在生产环境的3个关键阈值

更多请点击: https://kaifayun.com 第一章:为什么你的AI文案总像“不同人写的”?揭秘神经风格嵌入(NSE)技术在生产环境的3个关键阈值 当多个大模型实例或微调版本协同生成营销文案、客服话术或产品描述时,…

2026/10/24 23:48:09 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/25 22:36:10 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/26 4:52:12 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/26 5:00:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/26 3:16:46 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 12:00:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 13:21:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 8:34:37 阅读更多 →