ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Ubuntu 20.04 LTS 安装与配置全指南:从稳定系统到高效开发环境

Ubuntu 20.04 LTS 安装与配置全指南:从稳定系统到高效开发环境 1. 项目概述为什么Ubuntu 20.04依然是当下的明智之选最近帮几个刚入行的朋友装系统发现他们拿到新电脑或者准备搞开发环境时第一反应还是去搜“Ubuntu 20.04安装教程”。这让我有点感慨虽然24.04 LTS已经发布但20.04这个三年前的老版本其生命力之顽强在开发者社区里依然是个绕不开的存在。你可能会问为什么不直接用最新的原因其实很实际稳定压倒一切。对于一个需要长期运行服务器、搭建深度学习环境或者进行嵌入式开发的人来说系统的稳定性和软件生态的成熟度远比追新那几个花哨的桌面特效来得重要。Ubuntu 20.04 LTS长期支持版本的支持周期直到2025年4月这意味着它背后有庞大的、经过充分测试的软件仓库和几乎无穷无尽的社区解决方案。你遇到的绝大多数问题在Stack Overflow或各种博客上都能找到现成的答案这种“确定性”对于生产力环境是至关重要的。从技术角度看20.04搭载的Linux 5.4内核对硬件支持已经相当完善同时它又是许多主流软件和框架如ROS Noetic、CUDA 11.x系列官方钦定的兼容版本。我见过太多在22.04上折腾ROS2 Humble或最新CUDA时遇到的兼容性坑最后又默默退回20.04的案例。所以如果你是学生、研究者、后端开发者或者任何需要搭建一个“省心”且“可靠”的Linux工作站的用户选择Ubuntu 20.04作为起点依然是一个非常稳健和高效的决定。这篇内容我就以一个老手的视角带你走一遍从准备到配置完成的完整流程过程中我会穿插那些官方文档不会告诉你的“坑点”和“骚操作”确保你一次成功少走弯路。2. 安装前的核心准备细节决定成败安装系统本身不复杂但前期准备工作的细致程度直接决定了你后续是顺畅开发还是焦头烂额。很多人卡在第一步不是镜像下错了就是启动盘没做好。2.1 镜像下载与校验避开“薛定谔的镜像”首先获取官方镜像。最可靠的来源永远是Ubuntu官网或国内公认的镜像站如阿里云、清华TUNA镜像。直接搜索“Ubuntu 20.04.6 LTS”下载注意版本号.6代表包含了截至发布时的所有更新比最初的20.04.0更省事。这里有个关键动作务必校验SHA256哈希值。镜像损坏导致安装过程中出现各种灵异错误的情况我见多了。下载页面通常会提供校验码在Windows下可以用certutil -hashfile yourfile.iso SHA256命令在Mac或Linux下用sha256sum yourfile.iso。花30秒核对一下能避免几小时的无谓折腾。关于镜像选择桌面用户无脑选ubuntu-20.04.6-desktop-amd64.iso即可。如果你是用于服务器不需要图形界面可以下载Server版。但就我经验而言即使是服务器用途先装桌面版再手动关闭图形界面对于新手排查问题会更友好。2.2 制作启动盘别再用那些“经典”工具了制作启动盘是第二个关键点。很多教程还在推荐UltraISO或老版本的Rufus但对于现代电脑尤其是UEFI启动的我强烈推荐使用Rufus 3.8及以上版本或Ventoy。Rufus的优势是简单直接。插入U盘建议8GB以上打开Rufus设备选你的U盘引导类型选择你下载的ISO文件。关键在“分区类型”和“目标系统类型”这里对于2012年以后出厂的大部分电脑请选择“GPT”分区方案和“UEFI非CSM”目标系统。这能确保你的系统以纯UEFI模式安装避免后续引导相关的麻烦。点击开始采用默认的“以ISO镜像模式写入”即可。Ventoy则是更革命性的工具。你只需要安装一次Ventoy到U盘之后就可以直接把各种ISO文件Ubuntu, Windows, 其他Linux发行版像普通文件一样拷贝到U盘里。启动时Ventoy会提供一个菜单让你选择要启动哪个镜像。这对于需要频繁测试不同系统或版本的人来说效率是碾压式的。制作方法也简单下载Ventoy运行选择你的U盘点击安装即可。注意无论用哪种工具制作启动盘都会清空U盘所有数据请提前备份。2.3 硬盘分区规划针对物理机双系统如果你是在物理机上与Windows组成双系统分区规划是重中之重。我建议在Windows下使用“磁盘管理”工具从一个已有分区通常是数据盘中压缩出一块至少50GB的未分配空间。千万不要在Ubuntu安装程序里直接调整Windows分区大小风险极高容易导致数据丢失。对于Ubuntu自身分区一个经典且够用的方案如下以100GB空间为例EFI系统分区如果Windows已存在EFI分区通常100-500MBUbuntu可以与之共用无需新建。如果没有则需要新建一个大小512MB类型EFI System Partition。交换空间swap关于swap大小有个经验公式如果内存小于8GBswap设为内存的2倍内存8GB-16GBswap等于内存大小内存大于16GBswap可以设为8-16GB。对于现在动辄16G、32G内存的电脑我个人习惯直接设一个8GB的swap分区类型swap area。根分区/用于安装系统和软件剩余空间的大部分都可以给它比如80GB以上。文件系统选ext4这是最稳定成熟的选择。家目录分区/home强烈建议独立分区。这是存放你个人配置文件和数据的地方。独立分区的巨大好处是将来重装系统时你可以选择不格式化/home分区从而保留所有的个人设置、文档、下载内容实现“无缝重装”。可以分配剩余的所有空间文件系统ext4。这个方案兼顾了系统稳定性和使用便利性尤其/home独立是资深用户都会做的操作。3. 图形化安装流程步步解析启动盘做好后重启电脑按快捷键通常是F12、F2、Del或Esc因主板而异进入启动菜单选择从U盘启动。你会看到Ubuntu的GRUB菜单直接选择“Try or Install Ubuntu”进入Live CD环境。3.1 安装器关键选项配置在Live桌面双击“Install Ubuntu 20.04”开始。前面几步是语言、键盘布局按你实际情况选。到了“安装类型”这个关键页面清除整个磁盘并安装Ubuntu如果你是在一台空电脑或虚拟机里安装选这个最省心。其他选项这就是我们上面提到的用于双系统或自定义分区。选择它然后你会看到磁盘分区列表。找到你事先准备好的“空闲”空间点击号按照上一节的规划逐个创建分区/swap/home。务必注意在下方“安装启动引导器的设备”下拉菜单中要选择你的EFI系统分区所在的磁盘通常是/dev/sda或/dev/nvme0n1而不是某个具体分区。这是引导能否成功的关键。接下来是地理位置和用户创建。用户名和密码记住就行计算机名可以起个自己喜欢的。这里有个小技巧如果你打算用这台机器做服务器或者远程开发用户名建议不要用空格或特殊符号纯小写字母加数字最好以后用SSH连接时会少很多麻烦。3.2 安装过程中的“后台任务”与驱动处理点击“继续”后安装程序就开始拷贝文件了。这个过程大概10-20分钟取决于你的U盘和硬盘速度。此时安装程序会弹出一个窗口询问你是否“在安装时下载更新”和“为图形和Wi-Fi硬件安装第三方软件”。我的建议是勾选“为图形和Wi-Fi硬件安装第三方软件”这个选项会安装闭源的显卡驱动、Wi-Fi网卡驱动等对于NVIDIA显卡和某些Broadcom无线网卡是必需的。不勾选可能导致安装完成后无法使用Wi-Fi或屏幕分辨率不正常。暂时不要勾选“在安装时下载更新”虽然这能让你一开始就获得最新补丁但它会极大地拖慢安装速度并且依赖于你当时的网络环境。如果网络不好可能会导致安装进程卡住或失败。完全可以等系统装好后在稳定的网络环境下再执行sudo apt update sudo apt upgrade来更新。安装完成后会提示你重启。重启前务必拔掉U盘否则可能会再次进入安装界面。4. 安装后的首要配置与优化系统首次启动进入桌面这只是一个开始。一个“能用”的系统和一个“好用”的生产力环境之间还差着下面这些关键的配置步骤。4.1 更换软件源加速你的apt系统默认的软件源服务器可能在国外更新和安装软件速度会很慢。更换为国内镜像源是必做操作。备份原有源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup编辑源列表文件sudo nano /etc/apt/sources.list也可以用vim或gedit。将文件内容全部替换为阿里云或清华的源。以阿里云为例内容如下deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse注意focal是Ubuntu 20.04的代号必须保留保存退出在nano中是CtrlX然后按Y确认再按回车。更新软件包列表sudo apt update。如果看到大量链接从mirrors.aliyun.com获取速度飞快说明换源成功。4.2 显卡驱动安装NVIDIA用户的专属关卡如果你用的是NVIDIA显卡并且希望在Ubuntu上进行机器学习、CUDA开发或者获得更好的图形性能那么安装官方驱动是必须的。Ubuntu自带的nouveau开源驱动兼容性好但性能一般。最稳妥的方法是通过Ubuntu的附加驱动管理工具打开“软件和更新”应用。切换到“附加驱动”标签页。系统会自动检测可用的专有驱动版本通常会推荐一个带“proprietary, tested”字样的版本例如nvidia-driver-535。选择这个推荐版本点击“应用更改”。系统会下载并安装驱动完成后必须重启电脑。重启后在终端输入nvidia-smi如果能看到显卡信息表格说明驱动安装成功。这个方法比去NVIDIA官网下载.run文件要安全简单得多因为它能更好地与系统的内核更新协同工作。4.3 基础开发环境搭建Python, Git, Docker系统基础打好了接下来就是搭建开发环境。对于大多数开发者以下几样是标配Python及pip20.04默认安装了Python 3.8。但我们需要确保pipPython包管理器是最新的。sudo apt install python3-pip python3-venv python3-dev pip3 install --upgrade pip我强烈建议**永远不要使用sudo pip install**来安装全局Python包这极易引起系统Python环境的混乱。正确的做法是为每个项目创建独立的虚拟环境python3 -m venv myproject_env然后激活环境再安装包。Git版本控制工具。sudo apt install git git config --global user.name Your Name git config --global user.email your.emailexample.com配置SSH Key连接到GitHub/GitLabssh-keygen -t ed25519 -C your.emailexample.com然后将~/.ssh/id_ed25519.pub的内容添加到你的代码托管平台。Docker容器化部署利器。# 卸载旧版本 sudo apt remove docker docker-engine docker.io containerd runc # 安装依赖添加Docker官方GPG密钥和仓库 sudo apt update sudo apt install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository deb [archamd64] https://download.docker.com/linux/ubuntu focal stable # 安装Docker引擎 sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io # 将当前用户加入docker组避免每次用sudo sudo usermod -aG docker $USER执行完usermod命令后你需要完全注销并重新登录用户组更改才会生效之后就可以直接运行docker ps了。5. 高频问题排查与解决实录即使按照最标准的流程操作也难免会遇到一些“特色”问题。这里我总结几个最高频的附上排查思路。5.1 安装后无法连接Wi-Fi这是最常见的问题之一尤其是对于较新的或使用博通Broadcom芯片的网卡。检查驱动首先在终端输入lspci | grep -i network查看无线网卡型号。如果看到Broadcom字样很可能需要安装bcmwl-kernel-source驱动包。在有有线网络的情况下执行sudo apt update sudo apt install bcmwl-kernel-source安装完成后重启。检查软硬开关有些笔记本有物理的无线开关FnFx组合键确保它是开启状态。检查网络管理器运行nmcli radio wifi如果显示disabled用nmcli radio wifi on开启它。也可以尝试重启网络服务sudo systemctl restart NetworkManager。5.2 双系统时间不一致安装Ubuntu后回到Windows发现时间快了8小时或慢了。这是因为两个系统对硬件时钟RTC的解读方式不同Windows认为硬件时钟存储的是本地时间而Linux默认认为硬件时钟存储的是UTC时间。解决方法在Ubuntu中让Ubuntu也使用“本地时间”。timedatectl set-local-rtc 1 --adjust-system-clock执行后重启进入两个系统检查时间是否一致。如果想改回UTC将1换成0即可。5.3 “Software Updater”无更新或更新失败这通常是因为软件源列表有问题或网络连接不畅。首先检查网络ping mirrors.aliyun.com。更新软件包列表在终端执行sudo apt update观察是否有错误信息。常见的错误是某些源的GPG密钥过期或无法验证。可以尝试暂时注释掉sources.list里出问题的源行首加#或者运行sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys [缺失的密钥ID]来导入密钥。清除apt缓存有时候旧的缓存会导致问题sudo apt clean和sudo apt autoclean可以清理。5.4 开机卡在紫屏或黑屏这通常与显卡驱动特别是NVIDIA驱动有关。进入恢复模式开机时在GRUB菜单如果没看到开机时按住Shift键选择“Advanced options for Ubuntu”然后选择一个后面带(recovery mode)的内核启动。在恢复菜单中选择root进入命令行。重新配置驱动可以尝试卸载当前驱动并重装开源驱动。# 卸载所有NVIDIA相关包谨慎操作 sudo apt purge nvidia-* sudo apt autoremove # 安装开源驱动并重新配置图形界面 sudo apt install xserver-xorg-video-nouveau sudo dpkg-reconfigure xserver-xorg重启后如果能进入图形界面再尝试通过“附加驱动”安装一个不同版本的专有驱动比如从535换到470试试。6. 进阶配置与生产力工具推荐系统稳定运行后我们可以进一步打磨把它变成真正趁手的生产力工具。6.1 Shell环境与终端美化默认的bash shell和终端已经够用但zsh配合oh-my-zsh能极大提升命令行效率。sudo apt install zsh sh -c $(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)安装过程中会提示是否将默认shell切换为zsh选择“是”。oh-my-zsh有海量主题和插件我常用的插件是git显示git状态、z目录快速跳转和sudo按两下ESC快速在命令前加sudo。配置文件在~/.zshrc里修改。6.2 必备软件选型与安装代码编辑器Visual Studio Code是跨平台首选。直接从微软官网下载.deb包用sudo dpkg -i code_*.deb安装。或者通过Snap安装sudo snap install code --classic但Snap版本在读写某些目录时可能会有权限问题。系统监控htop是加强版的topneofetch可以在终端显示炫酷的系统信息。sudo apt install htop neofetch压缩解压确保支持所有常见格式。sudo apt install unrar rar p7zip-full6.3 外设与硬件兼容性调优蓝牙如果蓝牙设备连接不稳定可以尝试安装pulseaudio-module-bluetooth并重启蓝牙服务。sudo apt install pulseaudio-module-bluetooth pactl load-module module-bluetooth-discover sudo systemctl restart bluetooth触摸板觉得触摸板不跟手可以调整加速和灵敏度。创建一个配置文件sudo nano /etc/X11/xorg.conf.d/30-touchpad.conf加入以下内容数值可以自行调整Section InputClass Identifier touchpad Driver libinput MatchIsTouchpad on Option AccelSpeed 0.2 Option Tapping on Option NaturalScrolling true EndSection保存后注销重登录生效。走到这一步你的Ubuntu 20.04已经从一个刚安装好的“毛坯房”变成了一个坚固、高效、可随时投入生产的“精装工作站”。整个过程中最重要的经验就是耐心阅读终端输出的每一条信息善用搜索引擎用英文关键词往往能找到更核心的解决方案并且大胆尝试但记得备份关键数据。Linux的魅力就在于这种可掌控感和可定制性你付出的每一分学习成本最终都会转化为实实在在的生产力提升。
返回列表