
很多刚接触 Linux 的朋友一上来就问想装个“英文版 Linux”应该下哪个镜像这里我得先说破一个认知误区——Linux 发行版压根没有独立的“中文版”或“英文版”官方镜像全是多语言通用的你在官网页面上看到的 ISO 文件本身不带任何语言标记。真正决定系统界面是英文还是中文的是你在安装引导器里做的第一个选择外加安装完成后 locale 环境变量的配置。我自己从大学折腾 Ubuntu、到后来在机房给服务器装 Debian这些年装过的系统次数真数不清了。几乎所有的生产环境和开发环境我都刻意选英文安装。这篇文章就把我反复踩过的坑、总结出来的经验写全涵盖镜像下载、U 盘制作、虚拟机安装、分区选择、locale 调优和常见故障排查。如果你正准备在一台新机器或虚拟机里搭一个纯英文的 Linux 环境又或者你已经被中文 locale 的乱码和兼容问题折磨了很久这篇就是给你写的。1. 为什么我建议装英文版 Linux它的真实价值在哪1.1 服务器和开发环境里英文环境是“默认正确”先讲一个特别实际的场景你在一台生产服务器上排查故障日志全是英文搜解决方案的主流帖子也是英文社区最多。如果系统本身是中文 locale某些程序的日志输出在字符编码转换时容易出岔子——比如中文日志里的冒号、引号变成了乱码你想用grep按英文关键词去匹配日志怎么都匹配不上。我至少三次遇到这种诡异问题最后绕了一大圈发现元凶就是 locale把环境切回纯英文后一切正常。再举个例子很多人跑 Docker、Kubernetes、GitLab Runner 这类服务官方镜像和启动脚本的默认假定基本都是en_US.UTF-8或C环境。中文环境下服务也能跑但某些日志采集器、监控探针在解析带中文的进程输出时会偶发抽风导致监控数据丢失。生产环境求的就是稳定英文环境能把这类变量直接砍掉。我们公司所有服务器的/etc/default/locale清一色写的是LANGen_US.UTF-8这是写入服务器初始化脚本的硬性规范。1.2 中文用户最容易踩的乱码和兼容坑中文 Linux 桌面用起来确实亲切但坑点也很真实。老旧软件、自己从源码编译的小工具、没有做国际化处理的 CLI 程序在中文环境下经常显示一堆方框口口或者直接报Invalid or incomplete multibyte character错误。更烦的是中文字体加载进终端之后英文和中文混排时等宽对齐全乱代码缩进看着难受表格对不齐逼死强迫症。还有个容易被忽略的点向开发者社区求助时英文环境的报错可以直接复制粘贴到 Stack Overflow、GitHub Issues老外一眼就能看懂。中文环境下报错信息复制过去经常是乱码你还得先手动转为英文再发帖沟通效率直接减半。1.3 什么情况不建议强行英文这话得说在前面。如果你拿 Linux 当日常桌面用刷网页、看视频、写文档、做设计那中文界面完全合理不要为了显得专业硬切英文看界面都费劲生产效率反而下降。我的建议很简单桌面娱乐用途用中文没问题服务器、开发容器、嵌入式开发环境、运维终端优先英文。2. 安装前的准备镜像下载、校验与 U 盘制作2.1 镜像从哪下载、怎么验证是否可靠想装英文版 Linux镜像来源必须是官方。以最常见的 Ubuntu 和 Debian 为例Ubuntu直接去ubuntu.com/download/server或ubuntu.com/download/desktop选你要的版本下载 ISO。Debian去debian.org/download下载最新 stable 版本的完整 CD/DVD 镜像。CentOS Stream / Rocky Linux / AlmaLinux分别从 centos.org、rockylinux.org、almalinux.org 下载。不建议在搜索引擎里随便点一个“XX Linux 中文版下载”的第三方站点因为你根本不知道那个 ISO 有没有被改过。这种二改镜像我见过很多轻则预装广告软件重则内置不明后门。哪怕你有信任的国内镜像站清华、阿里这类下载完也必须做两件事校验 SHA256 哈希值、核对 GPG 签名。校验哈希很简单。Linux 下用sha256sum ubuntu-24.04-desktop-amd64.isoWindows 下用命令提示符certutil -hashfile ubuntu-24.04-desktop-amd64.iso SHA256然后把输出的哈希值和官网发布的哈希值逐字对比。这一步花不了一分钟但能堵住九成的“下载到损坏或者被篡改镜像”的问题。我见过不少朋友跳过这一步烧完 U 盘启动时报错还以为是 U 盘坏了折腾半天才发现是镜像问题。2.2 U 盘启动盘制作DD 模式是成败关键镜像准备好了接着做启动盘。这里有个十个人里八个人会踩的坑。Windows 上大家最常用的工具是 Rufus插入 U 盘打开 Rufus 选择镜像时它通常会弹出一个对话框问“写入模式”有ISO 模式和DD 模式两个选项。很多人下意识就选了默认的 ISO 模式结果 U 盘插到电脑上启动后直接进入不了安装界面或者报isolinux.bin missing。正确做法是选DD 模式。Linux 发行版的 ISO 本质上不是光盘文件系统而是包含了完整启动扇区的混合镜像用 DD 模式才能把整个镜像按字节原样写到 U 盘。在我记忆里Rufus 烧录 99% 的 Linux 镜像都应该用 DD 模式只有极少数老发行版才需要 ISO 模式。这个坑我一开始也踩过后来干脆记死凡是烧 Linux ISO直接选 DD。如果你本身已经在 Linux 环境里更简单直接用dd命令sudo dd ifubuntu-24.04-desktop-amd64.iso of/dev/sdb bs4M statusprogress注意of后面是整个磁盘设备比如/dev/sdb不是分区/dev/sdb1。这一步很危险写错盘符会把你的数据盘抹掉敲命令前一定先执行lsblk确认 U 盘的设备名。2.3 虚拟机安装宿主机设置要做好如果你和我一样喜欢先在虚拟机里测试系统那宿主机这边的设置得稍微认真一点不然后面会出现“虚拟机安装 Linux 蓝屏”这种让人头大的问题。用 VMware Workstation 或 VirtualBox 新建虚拟机时几个关键参数内存桌面版建议至少 4GB服务器版 2GB 起步也能跑。处理器给 2 核以上开启 Intel VT-x/AMD-V 嵌套虚拟化选项。硬盘如果只是体验40GB 的虚拟磁盘够用记得选动态分配而不是固定大小。固件类型新版本 Ubuntu 建议选 UEFI老的 CentOS 7 之类选 BIOS 更稳。最重要的是确认你的宿主机 BIOS 里已经开启了 CPU 虚拟化。Windows 10/11 在任务管理器性能页里能看到“虚拟化已启用”如果是“已禁用”虚拟机很容易在启动过程中直接蓝屏或卡死。这个问题我在第 5 节会详细讲排查方法这里先提个醒。3. 安装过程中的关键步骤从语言选择到磁盘分区3.1 语言、键盘与时区一步都不能省这是整个安装过程最核心的环节。引导起来进入安装界面后第一屏就是让你选语言这里直接选English。千万注意选完English之后还可能弹出子选项让你选English (US)、English (UK)、English (Australia)之类虽然默认是 US但有些镜像会让你确认一下我这里建议全部选English (United States)。不要小看这个选择。安装器语言选错了后面生成的文件路径、locale、包管理器输出的信息全都不一样。如果只是安装器界面是中文而系统语言选了英文那问题倒还好但新手很容易被带偏一路安装下去装出一个中英混杂的系统。键盘布局这里我多说一句。哪怕是中文键盘我也建议你在安装阶段选English (US)。原因有三一Linux 服务器的标准布局默认就是 US未来你 SSH 到任何机器按键盘快捷键的肌肉记忆不用改二中文键盘和 US 布局在输入英文字母时没有任何区别区别只在标点符号位置而绝大多数运维操作输入的是字母和空格基本不涉及完整标点三如果你非要用中文键盘布局密码里出现、#这类符号时很容易按错安装时又无法登录系统修改只能重新装。安装完成后想切换键盘布局随时可以用setxkbmap us或localectl set-keymap us调整。时区设置同样别忽略。Ubuntu 桌面版在安装时建议选择Shanghai也就是 UTC8服务器版如果不确定可以直接选UTC然后把RTC 设置为 UTC。很多人在这步没把时间校正好装完系统一执行date发现时间差八个小时和证书校验、日志时间线全对不上。生产服务器上很多 TLS 握手失败、Kerberos 认证失败的问题最终查下来都是系统时间不对。3.2 网络配置与主机名隐藏坑不少安装过程中的网络配置桌面版一般什么都没问题DHCP 自动获取就能上网。但如果你是想装一台服务器或者是在公司复杂的网络环境里部署建议直接配置静态 IP。静态 IP 需要填四项IP 地址、子网掩码、网关、DNS。这些信息问你们网管要别自己瞎猜。顺手测一下连通性ping -c 3 8.8.8.8能通说明网络通DNS 有没有解析可以用dig或nslookup再验证一下。如果这时候发现外网不通先查掩码和网关别急着进安装下一步。主机名这里有个老生常谈的坑不要用下划线。合法的主机名只能包含字母、数字和连字符-不能以连字符开头或结尾。有人喜欢把主机名设成web_server_01结果装完系统之后各类服务出现莫名其妙的问题特别是sendmail、postfix、Kerberos 这类对主机名特别敏感的服务直接启动失败。我第一次带团队遇到这个问题时排查了两个小时最后发现主机名里的下划线就是元凶。规范的主机名写法web-server-01、db01、prod-node1。3.3 磁盘分区方案别把所有蛋放一个篮子里分区这里如果你用安装器的默认全盘安装确实省事但我不推荐在生产环境和长期使用的机器上这么做。默认方案通常把根分区/和家目录/home放在一起一旦系统日志写满根分区爆了整个系统直接陷入只读状态连/tmp都写不进去想临时删点日志腾空间都很尴尬。我建议用手动分区Manual partitioning参考下面这套方案挂载点建议大小文件系统说明/boot1GBext4 或 xfs放内核和引导文件1GB 完全够用/根60~100GBext4 或 xfs系统和软件装这里/home剩余空间ext4 或 xfs用户数据单独放swap内存大小或 8GBswap内存 16G 以上可以给 8G如果内存紧张自动挂起需要 swap建议给到内存同等大小先建/boot这个分区不仅是为了引导更是为了避免某些老引导程序不认大分区导致内核加载失败。根分区给 60~100GB对绝大多数场景都够如果你后面要装 Docker 并大量拉取镜像根分区建议直接给 150GB因为 Docker 默认把镜像放在/var/lib/docker属于根分区。/home独立出来以后重装系统用户数据还在也便于做配额管理。swap 分区很多人纠结我的看法是如果不做虚拟化宿主机、不用休眠功能内存 16GB 以上可以直接不建 swap内存小8GB 以下还是老老实实给个 8GB swapLinux 内存紧张时的灵魂救星。3.4 创建用户与 sudo 权限别一上来就用 root安装过程中会要求创建用户名和密码。我的经验是创建一个普通用户做主账户日常操作全部通过sudo提权而不是直接用 root。原因很简单root 权限零门槛操作一个手滑执行了rm -rf /xxx轻则系统损坏重则数据全没。普通用户至少有一层确认屏障。Ubuntu/Debian 系创建用户时如果勾选了Use the same password for root旁边那个Install OpenSSH Server之类选项不同发行版细节略有差异但思路一致。安装完成后手动创建也是常事sudo useradd -m -s /bin/bash dev sudo passwd dev sudo usermod -aG sudo dev # Ubuntu/Debian 把用户加入 sudo 组CentOS/RHEL 系把用户加入 wheel 组sudo usermod -aG wheel dev顺手验证一下id dev groups dev能看到用户组列表里有sudo或wheel就说明提权配置生效了。4. 装完后的英文环境locale、软件包与常用运维命令4.1 确认并修正 locale 设置系统装完之后第一个动作就是看语言环境到底对不对。locale输出里应该出现LANGen_US.UTF-8 LC_ALLen_US.UTF-8如果看到LANGzh_CN.UTF-8或者空值说明安装时语言选择出了偏差或者 locale 生成不完整。修正方法不复杂。先查看当前系统支持哪些语言编码locale -a如果列表里没有en_US.UTF-8需要先安装生成支持Ubuntu/Debiansudo apt install locales sudo locale-gen en_US.UTF-8CentOS/RHELsudo dnf install glibc-langpack-en然后修改默认配置sudo update-locale LANGen_US.UTF-8Debian 系也可以直接编辑/etc/default/localeLANGen_US.UTF-8 LC_ALLen_US.UTF-8改完重启或重登再执行locale确认。这里有个细节LC_ALL比LANG优先级更高平时建议不要全局设置LC_ALL只设置LANG就够因为某些程序会硬编码读取LC_ALL设置不当反而干扰。我在服务器上一般只写LANGen_US.UTF-8这是最稳的配置。如果你最初误选了中文环境现在想切回英文上面这套操作同样适用只是很多人不知道还有update-locale这个命令还以为得重装系统。4.2 更新软件源并安装基础开发软件新装完的纯净系统第一件事永远是更新软件源sudo apt update sudo apt upgrade -y这一步会花一点时间但必须做。老源列表里可能有很多过期的包地址直接apt install会报Unable to locate package。更新完再顺手把常用开发基础工具装上sudo apt install -y build-essential gcc g make python3 python3-pip git curl wget net-tools vimbuild-essential这个包在 Ubuntu 上会把 gcc、g、make 一条龙装好不用一个个找依赖。有些新手不懂为什么编译一个简单 C 程序会报一堆缺头文件的错多半就是没装这组编译工具。CentOS/RHEL 系对应sudo dnf install -y gcc gcc-c make python3 python3-pip git curl wget vim net-tools这里提醒一下编译装 Python 或 GCC 这类源码包时如果系统没装libssl-dev、zlib1g-dev这些依赖库编译过程大概率会失败。Ubuntu 下提前装sudo apt install -y libssl-dev zlib1g-dev libffi-dev等 Ubuntu 24 这类新版本自带的 Python 基本够用没必要非得从源码编译 Python除非你确实需要特定版本。4.3 常用命令速查与运维小技巧英文环境下命令输出更直观和文档对照也更轻松。这里收录几个常用且容易踩坑的命令场景。删除文件夹很多新人不知道 Linux 里“文件夹”叫目录删除命令是rm -rf /path/to/dirrm -rf是递归强制删除威力极大。我会在每次执行前都心里默念一下路径特别是一堆/的场景。血泪教训rm -rf /会把整个系统删掉别试试完只能重装。修改进程名称运维排查时经常觉得默认进程名看不到信息比如想区分多个同名 Java 进程可以用exec -a在启动时改名bash -c exec -a my_app python3 /opt/app/main.py进程起来后用ps -ef就能看到my_app。还有一种改已经运行进程名称的方法用prctl但内核层面限制很多日常运维里exec -a最实用。挂载 NAS 网络存储公司内网里的 NAS最常走 NFS 或 SMB/CIFS 协议。NFS 挂载sudo mkdir -p /mnt/nas sudo mount -t nfs 192.168.1.100:/volume1/share /mnt/nasSMB 挂载群晖这类 NAS 常见协议sudo mount -t cifs //192.168.1.100/share /mnt/nas -o usernameyourname,passwordyourpass,vers3.0想开机自动挂载把下面一行写进/etc/fstab192.168.1.100:/volume1/share /mnt/nas nfs defaults,_netdev 0 0注意_netdev这个选项很关键它告诉系统网络可用后再挂载避免开机时网络未就绪导致挂载失败进而影响系统启动。查看系统信息和资源占用uname -a # 内核版本 lsb_release -a # 发行版版本Ubuntu/Debian cat /etc/os-release # 通用发行版信息 free -h # 内存 df -h # 磁盘 top / htop # 进程和负载新手如果记不住可以使用man命令随时查阅英文环境的 man 手册内容最全这也是学 Linux 的一大好处。5. 常见问题与排查技巧实录5.1 虚拟机安装 Linux 时蓝屏这个问题在中文社区里被问烂了“虚拟机安装 Linux 蓝屏”基本是新人第一道坎。核心原因通常有三个第一宿主机没有开启 CPU 虚拟化。Windows 下到任务管理器-性能- CPU 右下角看“虚拟化”是不是“已启用”。如果是“已禁用”进 BIOS 找到Intel Virtualization Technology或AMD SVM Mode打开并保存。品牌机可能叫法不一样联想叫Intel Virtual Technology戴尔叫Virtualization惠普叫Processor virtualization原理都一样。第二旧版 VMware 或 VirtualBox 与新版 Windows 不兼容。这个也常见Win11 24H2 之后旧版 VMware Workstation 16 跑 Linux 很容易触发蓝屏。解决方法是升级到 VMware Workstation Pro 17 或者改用 VirtualBox 7.0。第三Hyper-V 与虚拟机软件冲突。如果你开了 Windows 功能里的 “基于虚拟化的安全性”VBS或者本来在跑 WSL2底层虚拟化占用后会跟 VMware/VirtualBox 的虚拟机争夺资源表现就是虚拟机一启动宿主机蓝屏。排查方法是暂时关闭 VBS以管理员身份运行 PowerShellbcdedit /set hypervisorlaunchtype off然后重启。注意这个操作会影响 WSL2 的使用属于二选一的取舍。5.2 安装完成后没有网络装完系统进桌面发现浏览器打不开、apt 也连不上这种情况一半是网卡驱动没起来。有线连接先检查ip addr show看到eth0或enp3s0没有 IP说明网络管理没拿到地址可以手动让 DHCP 分配sudo dhclient eth0没网卡的设备名先看硬件是否被识别lspci | grep -i ethernet无线网卡更麻烦尤其是新的 Intel/Realtek 无线网卡Linux 内核默认没有固件。Ubuntu/Debian 下装固件包sudo apt install firmware-iwlwifi sudo modprobe iwlwifiCentOS/RHEL 下对应sudo dnf install linux-firmware装完重启网络服务systemctl restart NetworkManager再看。这里有个更隐蔽的坑如果 Debian 安装时没让你选“非自由固件”那个选项一些网卡驱动死活装不上只能去官网下载对应固件包离线安装。所以装 Debian 时看到Enable non-free firmware那个选项建议直接勾上。5.3 英文环境下怎么补上中文显示和中文输入装了英文系统不代表不能显示中文或者输入中文。这是两回事。我只想加个中文字体的话sudo apt install fonts-noto-cjk装完重启或者重新登录中文网页、中文文件名的文件名都能正常显示。国际化和编码是两码事千万不要去把 locale 改成中文来解决显示问题——那只会引入前面说的乱码风险。想输入中文装输入法框架sudo apt install fcitx5 fcitx5-chinese-addons装完设置环境变量在~/.bashrc或~/.profile里加export GTK_IM_MODULEfcitx export QT_IM_MODULEfcitx export XMODIFIERSimfcitx注销重新登录在 fcitx5 里添加拼音输入源就能用了。如果你想用搜狗拼音搜狗官方已经提供 Linux 版安装前先把 fcitx 装好再拿搜狗官网下载的 deb 包安装sudo apt install -y ./sogoupinyin_4.2.1.145_amd64.deb然后在 fcitx5 配置里把搜狗添加进输入法列表。这个顺序反了的话大概率装完找不到输入法。5.4 用户环境变量搞崩了怎么恢复这个问题我经历过。本来PATH好好的为了加个目录在~/.bashrc里写错了export PATH/some/dir直接覆盖掉了原有的 PATH。然后所有命令都找不到了ls、vim、sudo全报command not found。这时候不用慌用绝对路径的二进制文件恢复/usr/bin/sudo /usr/bin/vi ~/.bashrc把错误的 PATH 行改回通常应该包含export PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin然后再source ~/.bashrc重新加载。这个教训告诉我们修改 PATH 时永远使用追加而不是覆盖export PATH$PATH:/your/new/path如果实在无从下手可以重新从系统默认配置文件恢复当前用户的默认环境cp /etc/skel/.bashrc ~/.bashrc登录用户的环境是从/etc/skel模板初始化的这条命根子命令关键时刻能救命。在我个人的安装经验里最想强调的一点是语言选择这件事越早想清楚越省事。如果你已经明确了要走运维、开发、嵌入式这条路线英文环境不只是“专业符号”更是减少干扰项的重要手段。顺便再送一个小提普虚拟机装完系统之后记得第一时间做一个干净快照这样以后无论怎么折腾系统、装什么服务出问题都能一键回到这个最原始的英文环境那才是真正的后悔药。