拓冰建站拓冰建站
首页 / 资讯中心 / 正文

英文版Linux系统安装全指南:从语言环境选择到踩坑排查

说实话我在运维一线碰过太多次“Linux装好就中文乱码、终端复制粘贴全变问号、脚本一跑编码直接报错”的情况了。后来我自己做系统部署时索性全改成英文版Linux安装再按需补中文字体和中文字符集问题一下就少了。这篇就把“英文版Linux系统的安装”从为什么到怎么做再到踩坑清单一次讲完。先说清楚一个容易误解的点装英文版Linux不等于把这套系统变成“不支持中文的残废系统”。英文版指的是安装界面和默认语言环境locale是英文底层照样能处理中文文件、中文网页、中文输入只是默认状态下不乱码、不依赖某些中文组件。对服务器、开发机来说这套默认英文环境反而最干净、最稳。1. 入手前先搞清楚“英文版Linux”到底治什么病1.1 一套语言环境的本质界面、Locale 与字符集三层关系很多人以为“英文版系统”就是把按钮和菜单换成了英文其实系统语言这件事分三层必须拆开看界面语言就是你在桌面或安装器里看到的按钮、菜单、提示文字由桌面环境和gettext翻译文件控制。Locale 环境变量决定了程序认为你使用什么语言和习惯核心是LANG、LC_CTYPE、LC_ALL这几个变量。字符集决定了文字在磁盘和内存里怎么存储、怎么传输。Linux 下现在基本就是 UTF-8 一统天下但历史上还有 GBK、GB2312、Latin-1 这些老兄弟。英文版Linux的实质就是把第二层和第三层锚定在C.UTF-8或en_US.UTF-8上。用个生活类比英文版像是“默认用国际通用的尺子量东西”中文版像是“默认用市尺”两把尺子都能量但国际通用尺子在混合作业场景下不容易起纠纷。字符集就是那把尺子的刻度大家统一成公制就不吵架。1.2 什么场景优先选英文版什么场景建议中文版我个人的项目分配经验是这样的场景推荐语言原因生产服务器、云主机英文日志格式统一、SSH传输低风险、脚本和配置文件的编码兼容性最好开发机、CI/CD 构建节点英文编译器、包管理器、Docker 输出的信息极少出乱码排查问题搜英文关键词更准公司内网办公桌面中文非技术同事需要低学习成本文档协作也以中文为主个人折腾、学习环境中英文都行建议优先英文逼自己适应长期收益大这其中的核心经验是服务器环境语言越纯越不容易出现编码事故。我处理过不少线上事故最后定位到源头都是“某台机器是中文 locale 装了个老版本 Python日志混合编码直接把日志采集程序干崩了”。2. 安装前的材料准备镜像、虚拟机与分区规划这一步千万别省。我见过太多人直接官网下个 ISO 就开装结果装到一半发现网卡驱动不对、分区方案太蠢、虚拟化嵌套有问题返工成本极高。系统安装这件事百分之六十的结果在准备工作阶段就已经决定了。2.1 常见发行版镜像的下载与验证英文版安装的第一步是选一个“默认就是英文优先”的发行版镜像。主流选择就两个派系Debian 系Debian、Ubuntu、Linux Mint包管理用apt社区资料最多适合绝大多数人。RHEL 系Rocky Linux、AlmaLinux、Fedora包管理用dnf或yum企业生产环境更常见行为更保守。下载时有两个操作细节优先去官网或正规镜像站下载。国内用阿里云、清华 TUNA 镜像都行不要随便搜索下载站里的“精简版”“一键版”那些集成版非常容易夹带私货。下载后必须校验 SHA256。镜像站一般会在同目录放一个SHA256SUMS文件我习惯这样验证# 在镜像文件所在目录执行 sha256sum ./ubuntu-24.04-live-server-amd64.iso # 然后把输出的哈希值和官方 SHA256SUMS 里的值对比 cat SHA256SUMS | grep ubuntu-24.04-live-server-amd64.iso两个哈希值一致再写入 U 盘或挂载到虚拟机这一步能拦住绝大多数“下到残缺镜像”的问题。2.2 虚拟机安装VMware / VirtualBox / WSL 的区别热词里面一堆“vmware虚拟机安装教程”“虚拟机安装linux蓝屏”说明不少人是打算先拿虚拟机练手这个思路完全正确。区别在于选哪种虚拟机方案VMware Workstation Pro功能全快照和克隆好用个人项目总之我推荐但要注意新版对嵌套虚拟化有要求物理机 BIOS 里要把 VT-x/AMD-V 打开否则装完内核可能直接起不来。VirtualBox开源免费轻量够用。最容易踩的坑是默认显存太小桌面版 Linux 装完分辨率卡在 800x600需要装增强功能。WSLWindows Subsystem for Linux严格说这不是“装一台完整 Linux”而是微软实现在 Windows 里的 Linux 兼容层。好处是启动快、占资源小坏处是网络模式和硬件访问跟真实 Linux 有差别不适合模拟完整安装过程。如果你是为了练手或者做项目实施我建议至少完整走一遍 VMware 或 VirtualBox 里的安装流程别嫌麻烦。因为你迟早会遇到“虚拟机装 Linux 蓝屏”这个知乎秒答级问题——多半就是没开 VT-x或是下载的镜像架构和物理机不匹配。创建虚拟机的几个基础资源我给一个及格线内存至少 2GB桌面版建议 4GB 起。CPU至少 2 核IDE 编译项目建议 4 核起。磁盘最小安装 20GB装桌面加常用软件 40GB 起步。网络默认 NAT 就行别一开始就搞桥接容易给自己挖坑。2.3 分区方案怎么给才顺手分区是安装里最劝退小白的一步。我的经验是默认的“整块盘自动分区”够用但你要是清楚地知道自己的用途手动分三块盘会让后续维护舒服很多。给一个服务器和开发机通用方案分区大小文件系统说明/boot1GBext4引导分区不大不小刚好swap内存相同或 2GB 封顶swap内存不足时的缓冲服务器建议保留/剩余全部ext4 或 xfs系统根目录省心起见不单独分/home为什么我不建议单独分/home因为笔记本和实验机上/空间往往最先爆掉的不是数据而是 Docker 镜像、日志、缓存包。统一放进/反而好管理大不了迁移数据时整个盘一起迁。对于数据盘我的原则是绝不把数据放到系统盘。生产服务器最好挂独立的/data分区或一块数据盘然后做软链接或者直接调整应用路径指向它。这个习惯能在系统崩溃时救你一命。3. 实战从安装界面到一台能用的英文系统准备工作做完进入正戏。我以Ubuntu 24.04 Server的英文安装过程为例详细拆解Debian 和 Rocky 的步骤大同小异重点在思路。3.1 安装器中的语言选择细节Ubuntu Server 安装器Subiquity启动后会有一个语言选择列表。既然目标是英文版直接选English。注意这里的语言选择会影响三件事——键盘布局、安装后的默认 locale、系统菜单语言。有一回我装完发现出问题的不是系统而是键盘布局选成了法语 AZERTY敲命令时q和a全乱折腾半天才找到原因。所以键盘布局记得选English (US)除非你有特殊需求。另外两个安装器里容易忽略的选项镜像地址如果你选了中国附近的地区安装器会建议换到国内镜像源选“是”。OpenSSH Server只有在安装器里勾选安装 OpenSSH装完才能直接用 SSH 登录。我反正每次必装哪怕本地虚拟机也装因为你迟早会需要从宿主机拖文件进去。网络配置如果使用 DHCP 就先默认等装完再改静态 IP。这里我吃过亏DHCP 分配的地址在路由器重启后会变生产服务器 SSH 配置直接失联。正确姿势是装完就立即固化 IP要么用网络管理器命令要么直接改 netplan 配置。3.2 首启后的三件事更新、加固、装常用软件系统安装完成后第一件事就是更新。从最小安装到能用的状态我有一套固定动作# 1. 先更新软件源索引和系统包 sudo apt update sudo apt upgrade -y # 2. 装基础运维工具 sudo apt install -y curl wget git vim net-tools htop tree \ ufw fail2ban ca-certificates apt-transport-https # 3. 配置防火墙Minimal 安装默认不放行任何端口 sudo ufw allow OpenSSH sudo ufw enable # 4. 查看系统关键信息 hostnamectl free -h df -h这套命令重要到什么程度这么说吧我见到的新手最常犯的错误就是“装完觉得系统能用了其实防火墙没开、更新没跑、SSH root 登录允许开着”。后面每一条都要单独收拾。加固里另外三个新手必做项禁用 root 密码登录编辑/etc/ssh/sshd_config把PermitRootLogin改成prohibit-password修改完sudo systemctl restart ssh。创建普通用户并加入 sudo 组sudo adduser yourname之后sudo usermod -aG sudo yourname。设置主机名sudo hostnamectl set-hostname dev-server-01这个对新项目来说很有必要不然你日后面对一大堆ubuntu主机名根本分不清哪台是哪台。3.3 让英文系统也能流畅显示中文内容这句话会说三遍英文系统和“处理中文能力”完全不冲突。中文显示只取决于两件事系统里有没有中文字体和locale 有没有生成中文字符集。默认最小安装的英文系统你拿一个中文文件名的 U 盘插进去或者开一个中文网页大概率看到的是方块豆腐块这是因为没字体不是系统“不支持中文”。解决办法非常直接# 1. 安装中文字体 sudo apt install -y fonts-noto-cjk fonts-noto-cjk-extra # 2. 生成中文 UTF-8 locale sudo locale-gen zh_CN.UTF-8 # 3. 刷新字体缓存 sudo fc-cache -fv装完这些你的英文系统就能正常渲染中文网页和中文文件了。注意一点这一步只是“能显示”不会改变系统默认语言。系统提示、命令输出仍然是英文这正是我们要的效果。这里我还想多说一句如果你打算在终端用vim编辑中文文件建议在~/.vimrc里加上set encodingutf-8 set fileencodingsucs-bom,utf-8,gbk,gb2312,latin1 set termencodingutf-8终端会话里LANG如果被设成zh_CN.UTF-8但终端本身不支持 UTF-8一样会乱。所以我的调试思路是优先盯环境变量其次盯终端设置两者都对了再出问题才考虑字体。4. 英文环境下的日常操作与终端配置装好一台英文版 Linux 只是起点日常维护里怎么跟它配合才是真正决定体验的部分。4.1 终端与 SSH 的乱码来源在英文版 Linux 上遭遇乱码十次里面有八次不是系统的问题而是客户端这边的锅。Windows 上常见的终端乱码链条是这样的Windows 控制台或远程连接软件使用 GBK 编码发送字节SSH 服务端按 UTF-8 解码两边对不上中文就成了????????。解决办法在客户端而不是服务器Windows Terminal 设置里把默认编码改成 UTF-8。MobaXterm 的 Session 设置里终端编码选 UTF-8。如果用了旧版 Xshell 或 SecureCRT检查encodings配置。你要是用 Linux 客户端连 Linux 服务器一般不会碰到编码问题因为两边默认都走 UTF-8。真正的麻烦出现在“Windows ↔ Linux”和“Linux ↔ 老设备”的混搭场景。4.2 编辑器和开发环境的编码习惯英文环境下跑开发项目唯一需要操心的还是编码一致。我给自己定了三条规矩所有新建文件一律 UTF-8 无 BOM。BOM 这个看不见的魔音会在文件开头多塞三个字节Python 脚本一旦带上 BOM 就可能在解释器层面报SyntaxError。.gitattributes里声明文本编码。团队项目里混用中英文环境的人多了没声明编码Git 做 diff 时容易走错路径。环境变量里显式设置。不要在多个地方反复改LANG建议统一写一处# 推荐写到 /etc/environment对整机生效 LANGen_US.UTF-8 LC_ALLen_US.UTF-8有读者可能会问LC_ALL 不是不建议直接设置吗理论上LC_ALL会覆盖所有LC_*确实不适合日常设置。但服务器要的是“确定性压倒灵活性”宁可用LC_ALL钉死一个值也不要各程序各自为政。用locale命令看一眼刚才那串配置出现两个en_US.UTF-8就说明生效了。4.3 常用命令与网络排查清单装完英文系统我强烈建议把下面这组命令练熟它们几乎是日常维护的“生命线”# 系统状态 uptime # 负载和运行时间 free -h # 内存 df -h # 磁盘 journalctl -xe # 查看最近的系统日志 # 网络排查 ip addr # 查看网卡和 IP ip route # 查看路由 ss -tulpn # 查看监听端口和对应进程 curl -I https://example.com # 测试网络出口连通性 # 服务管理 systemctl status service # 查看服务状态 systemctl enable --now service # 开机自启并立即启动 journalctl -u service -f # 追踪服务日志我处理过的最多一类问题是“服务起不来”。给新手的排查顺序是先systemctl status看状态再journalctl -u 服务名 -xe看日志最后去查配置文件语法。千万别一上来就重启服务很多问题重启完反而更难定位。5. 安装和使用中常见的坑我替你踩过了这一节直接给结论。这些坑我一个一个都踩过每一条背后都是几小时的排查时间。5.1 安装阶段引导失败、网卡不识别、蓝屏引导失败安装完提示No bootable device九成是 BIOS 启动模式问题。确认 UEFI 模式下安装就要全程 UEFILegacy 就要全程 Legacy混用必出问题。虚拟机里尤其如此新建虚拟机时的固件类型和安装引导方式必须一致。网卡不识别芯片太新的笔记本或服务器内核版本太老导致没有对应驱动。处理方式是装新版内核或者先装一个带新内核的测试发行版确认硬件兼容性。还有一个野路子直接在安装器里先联网更新内核再继续装。虚拟机安装 Linux 蓝屏先检查你的物理机是不是开了 VT-x/AMD-V。打开任务管理器“性能→CPU”右下角显示“虚拟化已启用”就说明开了。如果开了还蓝屏很可能是用了过旧的 VMware 版本碰到新 CPU升级就完事。5.2 使用阶段时区、时间同步、包管理、防火墙时区不对生产服务器的日志时间如果不统一排查问题时会疯掉。统一用 UTC 或统一用本地时区看团队习惯但一定要一致。# 查看当前时区 timedatectl # 设置时区这里顺手用上海做例子 sudo timedatectl set-timezone Asia/Shanghai sudo systemctl restart systemd-timesyncd时间漂移服务器长期运行后时间会偏这会让日志排序失效也会让 HTTPS 证书校验莫名其妙失败。用chrony或systemd-timesyncd定期同步我建议直接开着系统自带的时间同步服务。包管理混乱最常见的是有人混用apt和pip系统 Python 环境被搞脏之后任何依赖系统 Python 的工具全崩。我的建议简单粗暴系统 Python 只用来跑系统工具项目开发一律上虚拟环境或 Conda。防火墙把自己锁外面这绝对是我见过最多的“自己坑自己”案例。先配好 UFW 的规则确认 SSH 端口放行了再启用防火墙。顺序反了下一步就是远程失联。5.3 问题排查速查表把常见现象、原因、解决办法直接整理成表贴在笔记里比什么都值现象常见原因快速处理中文文件名显示方块缺中文字体apt install fonts-noto-cjk终端中文变问号客户端编码非 UTF-8终端编码切 UTF-8Python 脚本带 BOM 报错文件开头有隐藏字节sed -i 1s/^\xEF\xBB\xBF// 文件或另存为无 BOM UTF-8SSH 连不上防火墙拦截或 sshd 未启动先ufw status再systemctl status ssh系统启动卡在 grub引导配置损坏用安装介质进 rescue 模式重装 grub磁盘快满了但不知道谁占的日志或 Docker 数据膨胀du -sh /* 2/dev/null服务器时间总偏时间同步服务没开timedatectl set-ntp yes5.4 数据备份与系统快照最后补一个不能省的环节。虚拟机党有天然优势做任何一个系统级变更前先打一个快照。物理机党则建议养成分区级备份习惯我常用的轻量方案是# 用 tar 备份系统关键目录排除 /proc /sys /dev /tmp 这些伪目录 sudo tar czvf /backup/system-$(date %F).tar.gz \ --exclude/proc --exclude/sys --exclude/dev \ --exclude/tmp --exclude/backup /备份这事的价值平时看不到但它存在的意义就是保证你永远有机会“再来一次”。装系统、改配置、上线服务前三件事做完了最后一件就是“确保可以回退”。我在实际项目中的体会是英文版 Linux 的安装本质上是给自己建立一个确定性更高的基础环境。中文环境本身没有错但在多人协作、脚本自动化、日志统一采集的场景里英文环境能少掉一大批编码相关的心智负担。最后的经验就一句别把语言环境当成不可变的设定它只是系统的一个参数你要有本事随时调、随时切换这才是玩 Linux 的正确姿势。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门