Ubuntu Server 20.04 LTS 命令行安装与初始化配置全指南

📅 2026/8/13 11:33:02
Ubuntu Server 20.04 LTS 命令行安装与初始化配置全指南
1. 项目概述为什么选择命令行安装Ubuntu Server如果你正在为你的服务器、虚拟机或者一台老旧电脑寻找一个稳定、高效且资源占用极低的操作系统Ubuntu Server 20.04 LTS长期支持版绝对是一个绕不开的经典选择。与带有图形界面的桌面版不同Server版默认不安装任何图形环境这意味着它可以将几乎所有的系统资源——CPU、内存、磁盘I/O——都投入到你真正需要的服务上比如运行网站、数据库、文件服务器或者各种开发环境。我之所以选择命令行安装而不是使用图形化安装器原因有几个。首先效率。在服务器机房或者通过远程SSH连接时图形界面不仅加载慢还会消耗不必要的网络带宽。命令行安装流程清晰、步骤固定熟练之后十分钟内就能完成基础系统部署。其次可控性。图形化安装器会帮你做很多“默认”选择而命令行安装让你能清晰地看到每一个分区方案、每一个软件包的选择真正做到“所见即所得”这对于生产环境的系统构建至关重要。最后通用性。无论是实体服务器、VMware/VirtualBox虚拟机还是云服务商提供的VPS命令行安装模式都是最通用、最可靠的安装方式掌握了它你就掌握了在任何地方部署Ubuntu Server的能力。这篇文章我将带你完整走一遍Ubuntu 20.04 Server的命令行安装全过程。我会假设你手头有一台待安装的机器物理机或虚拟机和制作好的安装U盘我们将从启动开始一步步完成分区、网络配置、用户创建直到最终进入一个纯净的命令行系统。过程中我会穿插大量我踩过的坑和总结出的最佳实践确保你一次成功。2. 安装前的核心准备工作在真正将U盘插入服务器并按下电源键之前充分的准备能避免安装过程中80%的意外。这个阶段的核心是获取正确的安装介质并理解你的硬件环境。2.1 获取官方安装镜像与制作启动盘首先访问Ubuntu官方网站的下载页面。务必选择20.04 LTS (Focal Fossa)的Server install image。LTS代表长期支持官方会提供长达5年的安全更新和维护这对于服务器系统是必须的。不要下载到“Desktop”版本。下载下来的通常是一个.iso文件。接下来需要将它写入到一个U盘建议容量8GB或以上中制作成可启动的安装盘。这里我强烈推荐使用RufusWindows平台或dd命令Linux/macOS平台这两个工具。注意切勿使用Windows自带的“格式化后复制文件”的方式这无法创建可引导的U盘。必须使用专门的工具将ISO镜像“烧录”进去。使用RufusWindows用户插入U盘打开Rufus。在“设备”中选择你的U盘。在“引导类型选择”处点击“选择”找到你下载的Ubuntu Server 20.04的ISO文件。分区类型保持“MBR”或“GPT”这通常与你的目标服务器启动模式BIOS/Legacy 或 UEFI有关。如果不确定可以先尝试“MBR”。点击“开始”在弹出的选项框中务必勾选“以DD镜像模式写入”如果Rufus提示。这个选项能确保写入方式与dd命令一致兼容性最好。然后等待写入完成。使用dd命令Linux/macOS用户 打开终端首先用lsblk或diskutil listmacOS命令确认你的U盘设备标识例如是/dev/sdb请务必确认写错磁盘会清空你的硬盘数据。 然后使用命令sudo dd if/path/to/ubuntu-20.04-server.iso of/dev/sdb bs4M statusprogress oflagsync这个命令会将ISO文件逐块写入U盘。bs4M设置块大小以提高速度statusprogress显示进度oflagsync确保数据完全写入。2.2 服务器启动顺序与虚拟化平台设置制作好启动U盘后将其插入目标服务器。开机并立即进入BIOS/UEFI设置界面通常是按F2、Delete、F12等键因主板而异。这里有两个关键设置启动顺序将“Removable Devices”或你的U盘名称调整到第一启动项。确保服务器会先从U盘引导。启动模式确认启动模式是“Legacy (BIOS)”还是“UEFI”。这会影响后续安装时的分区表类型。较新的服务器通常使用UEFI它需要GPT分区表和一个EFI系统分区。如果不确定一个兼容性较好的做法是在BIOS中关闭“Secure Boot”安全启动并将启动模式设置为“Legacy/UEFI混合模式”如果有的话。对于在VMware或VirtualBox等虚拟化平台安装过程更简单创建新的虚拟机时选择“Linux” - “Ubuntu (64-bit)”。在虚拟机的设置中将下载的ISO文件直接挂载到虚拟光驱而不是制作物理U盘。虚拟机的“启动顺序”同样需要设置成先从光驱CD/DVD启动。3. 安装流程逐步拆解与实操一切准备就绪我们开始正式的安装旅程。Ubuntu Server的文本安装界面是交互式的每一步都需要你做出选择。3.1 引导进入安装环境与语言选择服务器从U盘启动后你会看到紫色的GRUB引导菜单。直接按回车选择“Install Ubuntu Server”。系统会加载内核和初始化内存盘这个过程可能需要一两分钟。首先出现的是语言选择界面。虽然你可以上下键选择“中文简体”但我强烈建议选择“English”。原因在于在纯命令行环境下使用英文可以避免后续可能出现的终端字符编码问题如乱码并且绝大多数服务器软件、日志和文档都以英文为主保持环境一致性能减少很多麻烦。选择后按回车。接下来是区域设置选择你的国家或地区例如“United States”这会影响系统时区。3.2 键盘布局检测与配置安装程序会询问是否检测键盘布局。选择“No”手动选择更稳妥。在列表中选择“English (US)”然后选择默认的“English (US)”键盘布局。确保在后续的测试框中按下回车显示的字符与你按下的键位一致。3.3 网络连接与主机名配置系统会自动尝试通过DHCP获取网络配置。如果你的网络中有DHCP服务器家庭路由器或企业网络通常都有你会看到它自动获取到的IP地址、子网掩码和网关信息。确认无误即可。实操心得对于生产服务器我通常在这里先使用DHCP完成安装待系统装好后再手动修改/etc/netplan/00-installer-config.yaml配置文件设置为静态IP地址。这样更灵活避免在安装阶段因输错静态IP导致安装程序无法下载更新和软件包。接下来设置主机名。主机名是你的服务器在网络中的名称例如web-server或db-prod-01。起一个简短、有意义的名字方便日后管理。3.4 用户与密码的创建安全第一原则这是至关重要的一步。首先创建系统默认用户你日常登录使用的账户。输入你的全名如Admin User然后输入用户名如admin或你的名字缩写。这个用户名将用于SSH登录。然后是设置密码。服务器安全始于一个强密码。避免使用字典单词、生日等简单组合。一个好的密码策略是长度至少12位包含大小写字母、数字和特殊符号。安装程序会要求你输入两次以确认。注意事项Ubuntu Server默认禁止root用户直接登录而是通过sudo机制赋予普通用户管理权限。你刚刚创建的这个用户默认就拥有sudo权限。这是比直接使用root更安全的最佳实践。3.5 磁盘分区安装的核心与难点磁盘分区是整个安装过程中最需要谨慎对待的环节。对于新手我建议直接选择“Use an entire disk”并选择你的目标硬盘如/dev/sda然后让安装程序自动配置分区。它会创建一个合理的布局一个小的/boot分区如果需要一个/根分区以及一个交换空间swap。但对于有经验的管理员或对性能、数据分离有要求的场景手动分区是更好的选择。选择“Manual”进入分区编辑器。一个经典且实用的服务器分区方案如下以一块100GB的硬盘为例EFI系统分区仅UEFI模式需要大小512MB类型EFI System Partition挂载点/boot/efi说明UEFI启动必须的分区用于存放引导加载程序。引导分区可选但推荐大小1GB类型Ext4挂载点/boot说明将内核和引导文件单独存放即使根分区损坏也有可能修复系统。交换空间Swap大小一个经验法则是物理内存的1到2倍但如果内存很大如32GB以上4-8GB也足够了。类型swap area挂载点无说明当物理内存不足时系统会将部分内存数据暂存到交换空间。对于服务器如果内存充足可以适当减小甚至不设但某些休眠功能需要。根分区/大小剩余所有空间或分配20-30GB。类型Ext4稳定可靠或XFS适用于大文件性能好。挂载点/说明系统核心文件和所有未指定单独分区的目录都存放在这里。可选数据分区如/home, /var, /opt例如为/home单独分50GB为/var存放日志、数据库分20GB。优点数据与系统分离重装系统时可以保留这些分区的数据可以针对不同分区的IO特性进行优化。创建好分区后选择“Done”系统会提示你将更改写入磁盘。这是一个不可逆的操作请再次确认分区方案无误然后选择“Yes”继续。3.6 软件包选择与系统更新配置分区完成后安装程序会开始复制基础系统文件。之后它会询问你是否需要配置HTTP代理。如果你的网络需要代理才能访问外网在此处填写否则直接留空继续。接下来是配置Ubuntu存档镜像。系统会列出全球的软件源镜像地址。默认是archive.ubuntu.com。强烈建议选择离你地理位置近的镜像例如在国内可以选择mirrors.aliyun.com或mirrors.tuna.tsinghua.edu.cn这将极大提升后续下载和更新软件包的速度。你可以按方向键浏览并选择。然后是选择要安装的软件。Ubuntu Server提供了一个精简的列表。对于最小化安装你可以什么都不选得到一个最基础的系统。但我通常建议勾选以下两项OpenSSH server这是远程管理服务器的基石。安装后你就可以通过SSH客户端如PuTTY, Terminal远程登录了。Standard System Utilities包含一些常用的系统工具如man手册、vim编辑器基础版等非常有用。其他如Docker,Kubernetes,LAMP stack等完全可以等系统安装完成后根据实际需要再用apt命令安装这样更灵活。3.7 安装GRUB引导加载器与完成安装软件选择后安装程序会开始下载选中的软件包并安装。这需要一些时间取决于你的网速和镜像源速度。最后安装程序会询问是否将GRUB引导加载器安装到主引导记录MBR。对于绝大多数单系统服务器选择“Yes”。GRUB是启动系统的关键程序。安装完成提示你移除安装介质U盘并按回车重启。系统会从硬盘启动进入你全新安装的Ubuntu Server 20.04。4. 首次启动后的关键初始化配置重启后你会看到基于命令行的登录提示符。用之前创建的用户名和密码登录。登录成功后你面对的是一个最简化的命令行环境。为了让它更安全、更好用我们需要进行一些初始化设置。4.1 立即执行系统更新与升级登录后第一件事就是更新软件包列表并升级所有已安装的软件包到最新版本以获取最新的安全补丁和错误修复。sudo apt update sudo apt upgrade -ysudo apt update从配置的软件源镜像下载最新的软件包列表信息。sudo apt upgrade -y根据更新后的列表升级所有可升级的软件包。-y参数表示自动回答“yes”避免中途需要确认。如果内核有更新upgrade会安装新内核。更新完成后建议重启一次以确保新内核生效。sudo reboot4.2 配置静态IP地址如需要如前所述如果服务器需要一个固定的IP地址在生产环境中几乎是必须的我们需要配置Netplan。Ubuntu 20.04使用Netplan管理网络。查看当前的网络配置文件名ls /etc/netplan/通常你会看到一个名为00-installer-config.yaml的文件。使用文本编辑器如nano对新手更友好编辑这个文件sudo nano /etc/netplan/00-installer-config.yaml将其内容修改为类似下面的格式。你需要根据你的网络环境替换addresses,gateway4,nameservers的值。network: ethernets: ens33: # 你的网卡名称可能是 ens3, eth0 等用 ip a 命令查看 dhcp4: no addresses: [192.168.1.100/24] # 静态IP和子网掩码/24代表255.255.255.0 gateway4: 192.168.1.1 # 默认网关 nameservers: addresses: [8.8.8.8, 1.1.1.1] # DNS服务器这里用了Google和Cloudflare的 version: 2保存并退出在nano中按CtrlX然后按Y确认再按回车。应用新的网络配置sudo netplan apply测试网络是否通畅ping -c 4 google.com4.3 增强SSH安全性与防火墙设置默认的SSH配置存在被暴力破解的风险。我们需要进行加固。修改SSH端口编辑SSH配置文件。sudo nano /etc/ssh/sshd_config找到#Port 22这一行去掉注释#并将22改为一个1024到65535之间的高端口号例如2222。Port 2222禁止root登录确保这一行是PermitRootLogin no使用密钥认证禁用密码认证高级安全这是最推荐的方式。先在本地电脑生成密钥对然后将公钥上传到服务器。在sshd_config中设置PasswordAuthentication no PubkeyAuthentication yes警告在禁用密码认证前必须先将你的公钥正确添加到服务器的~/.ssh/authorized_keys文件中并测试用密钥可以登录。否则你会把自己锁在服务器外面每次修改sshd_config后需要重启SSH服务sudo systemctl restart sshd注意如果你修改了端口重启后新的SSH连接需要使用新端口例如ssh -p 2222 userserver_ip。配置防火墙Ubuntu默认使用ufwUncomplicated Firewall。启用防火墙sudo ufw enable放行新的SSH端口sudo ufw allow 2222/tcp放行其他必要服务端口如HTTP80、HTTPS443sudo ufw allow 80/tcpsudo ufw allow 443/tcp查看规则sudo ufw status verbose5. 常见问题与故障排查实录即使按照步骤操作你也可能会遇到一些问题。这里记录了几个最常见的情况和解决方法。5.1 安装过程中无法识别网卡或网络现象在安装的网络配置阶段看不到IP地址或者提示“No network interfaces detected”。排查思路检查物理连接确保网线已插好或虚拟机网络适配器已连接。检查驱动一些非常新的或特殊的网卡如某些Realtek或Wi-Fi网卡可能不在安装镜像的内核驱动中。可以尝试在GRUB启动菜单选择“Install Ubuntu Server”时先按e键编辑启动参数。在linux开头的那一行末尾添加nomodeset参数有时能解决显示和驱动问题或者尝试f6查看其他可选驱动。按F10启动。跳过网络配置在安装界面有时可以选择“Continue without network”先完成系统安装。进入系统后再安装所需的网卡驱动可能需要提前下载好驱动.deb包放到U盘里。使用Alternative镜像Ubuntu提供了包含更多非自由固件的“Alternative”安装镜像对硬件兼容性更好。5.2 系统安装后无法启动GRUB rescue现象重启后不是进入系统而是显示grub rescue提示符。原因GRUB引导程序找不到它的核心文件或配置文件通常是因为分区变化或安装位置错误。解决方法在grub rescue下使用ls命令列出所有磁盘分区例如(hd0,msdos1),(hd0,msdos5)等。逐个尝试找到你的Linux根分区通常包含/boot目录。假设是(hd0,msdos5)。grub rescue set prefix(hd0,msdos5)/boot/grub grub rescue set root(hd0,msdos5) grub rescue insmod normal grub rescue normal如果成功会进入正常的GRUB菜单选择Ubuntu启动。进入系统后必须在终端重新安装GRUB到正确的磁盘sudo grub-install /dev/sda # sda是你的硬盘设备 sudo update-grub5.3 忘记用户密码或sudo权限丢失忘记密码重启服务器在GRUB菜单界面选择“Ubuntu”那一行按e进入编辑模式。找到以linux开头的一行在行尾在quiet splash后面添加init/bin/bash。按F10或CtrlX启动。系统会直接进入一个root shell。此时根文件系统是只读的需要重新挂载为可写mount -o remount,rw /。使用passwd username命令修改指定用户的密码。执行exec /sbin/init或直接重启。用户丢失sudo权限用另一个有sudo权限的用户登录。或者用上述“忘记密码”的方法进入root shell。编辑sudoers文件visudo推荐或nano /etc/sudoers。找到类似%sudo ALL(ALL:ALL) ALL的行确保你的用户名在sudo组里。或者直接添加一行your_username ALL(ALL:ALL) ALL。保存退出。5.4 磁盘空间不足的预警与处理服务器运行一段时间后日志文件、缓存或上传的文件可能会占满根分区。监控命令df -h查看所有挂载点的磁盘使用情况。du -sh /var/log/*查看/var/log目录下各个日志文件夹的大小。journalctl --disk-usage查看系统日志占用的空间。常见清理操作清理旧的日志文件sudo journalctl --vacuum-time7d保留最近7天的日志。清理APT缓存sudo apt clean清理所有已下载的.deb包文件。清理不需要的内核旧版本sudo apt autoremove --purge。查找大文件sudo find / -type f -size 100M -exec ls -lh {} \; 2/dev/null。最好的预防措施就是在安装分区时为经常增长的目录如/var/home/opt分配独立的分区这样即使它们被填满也不会影响根分区的正常运行。