1. 为什么值得花时间装一台欧拉系统
OpenEuler(欧拉系统)这两年在国内服务器圈子的存在感越来越强,尤其是做信创适配、政企项目交付、国产化替代的团队,基本绕不开它。它脱胎于 CentOS 体系,但又不是简单的换皮——内核版本更新、软件包管理策略、安全加固方向都有自己的路子。很多人第一次接触欧拉,是因为公司项目要求服务器必须跑国产操作系统,结果拿到手发现连安装界面都跟熟悉的 CentOS 不太一样,网络配置、桌面环境、软件源都得重新摸一遍。
这篇内容就是把我自己反复装欧拉、踩坑、重装、再踩坑的过程整理出来。从下载镜像、VMware 建虚拟机、分区规划、网络配置,到装完之后的桌面环境、Docker、常用开发工具链,一条龙讲清楚。适合两类人看:一是完全没碰过欧拉但工作需要快速上手的新手,二是装过一两次但总在某个环节卡住、想系统梳理一遍的老手。全文基于 OpenEuler 22.03 LTS 和 24.03 LTS 两个版本的实际操作,命令和界面截图描述都尽量还原真实场景。
装系统这件事,说难不难,说简单也不简单。难的是你不知道哪个选项选错了会导致后面网络不通、yum 用不了、图形界面起不来;简单的是,只要关键节点做对了,剩下就是一路回车。我见过太多人卡在“装完没网”或者“装完没桌面”这两步上,其实根源都在安装阶段的选择。所以下面我会把每个容易出问题的环节单独拎出来讲,包括为什么这么选、选错了怎么救。
2. 安装前的准备工作与版本选择
2.1 镜像下载与版本差异
欧拉的官网是 openeuler.org,进去之后找“下载”栏目。这里有个坑:官网提供多个版本类型,包括 LTS(长期支持版)、创新版、以及各种架构的镜像。如果你是企业环境用,无脑选 LTS,目前主流是 22.03 LTS SP 系列和 24.03 LTS。22.03 的生态兼容性更好,很多老软件、驱动、数据库(比如 Oracle 19c)在它上面验证得更充分;24.03 内核更新,适合跑新硬件和新容器技术。
镜像文件一般有两个选择:openEuler-22.03-LTS-SP4-x86_64-dvd.iso这种 DVD 版,和netinst网络安装版。强烈建议下 DVD 版,大概 4-5 个 G,里面包含了基础软件仓库,装完之后本地 yum 源直接能用,不需要额外配网络源就能装常用工具。netinst 版只有几百兆,装的时候必须联网从远程源拉包,万一网络配置没弄好,装到一半就卡死了。
下载完之后务必校验一下 SHA256,官网有校验值。我遇到过下载不完整导致安装到 80% 报“介质损坏”的情况,重下才解决。校验命令在 Linux 下用sha256sum,Windows 下可以用 certutil 或者第三方工具。
2.2 VMware 虚拟机创建的关键参数
用 VMware Workstation 建虚拟机,几个参数直接影响后续体验:
- CPU:至少 2 核,建议 4 核。欧拉默认安装带图形界面的话,2 核会有点卡。
- 内存:最小 2GB,建议 4GB 以上。如果要在上面跑 Docker 或者数据库,直接给 8GB。
- 磁盘:默认 20GB 起步,建议 40GB 以上,并且选“将虚拟磁盘拆分成多个文件”还是“存储为单个文件”——单文件性能略好,但迁移不方便;拆分成多个文件方便拷贝,性能差异在日常使用中几乎感知不到。
- 网络模式:这是重中之重。VMware 有三种常用模式:桥接(Bridged)、NAT、仅主机(Host-Only)。桥接模式下虚拟机会从你物理网络的 DHCP 拿 IP,跟宿主机同网段,局域网内其他机器能直接访问;NAT 模式下虚拟机通过宿主机上网,外部访问不了虚拟机;仅主机模式只能宿主机和虚拟机通信。做服务器实验建议用桥接,这样你可以在宿主机上用 SSH 直接连,模拟真实服务器环境。
还有一个细节:VMware 的“虚拟化引擎”选项里,如果宿主机支持,把“虚拟化 Intel VT-x/EPT”勾上,对后续在欧拉里跑 KVM 或者 Docker 有性能帮助。
2.3 安装介质的引导与语言选择
虚拟机建好后挂载 ISO,开机。欧拉安装界面第一屏是引导菜单,默认选“Install openEuler”,直接回车。如果卡在引导界面不动,检查一下 VMware 的固件类型是 BIOS 还是 UEFI——欧拉两个都支持,但有些老版本 VMware 默认 BIOS,新版本默认 UEFI,一般不用改。
进入安装器后第一件事选语言。虽然欧拉支持中文,但我建议安装阶段选英文。原因有两个:一是中文界面下某些专业术语翻译得比较生硬,反而不好理解;二是安装日志和报错信息在英文下更容易搜索到解决方案。装完之后系统里可以随时改中文,不影响使用。
语言选完进入“安装信息摘要”页面,这是整个安装过程的核心控制台。里面有日期时间、键盘、语言支持、安装源、软件选择、安装目的地、KDUMP、网络和主机名、Root 密码、创建用户等条目。带红色感叹号的必须处理完才能开始安装。
3. 分区规划与软件包选择的核心逻辑
3.1 手动分区方案与参数计算
欧拉默认的分区方案是自动的,但自动方案有时候会把根分区给得很小,后期装点东西就满了。我习惯手动分区,下面是一套经过多次验证的方案,以 40GB 磁盘为例:
| 挂载点 | 建议大小 | 文件系统 | 说明 |
|---|---|---|---|
| /boot | 1GB | ext4 | 内核和引导文件,1GB 足够 |
| /boot/efi | 200MB | EFI System Partition | UEFI 启动必须,BIOS 启动可不要 |
| swap | 4GB | swap | 内存小于 8GB 时建议等于内存大小,大于 8GB 给 4-8GB |
| / | 20GB | ext4 | 根分区,装系统和常用软件 |
| /home | 剩余空间 | ext4 | 用户数据,方便重装系统时保留 |
| /var | 5GB | ext4 | 日志和容器数据,跑 Docker 建议单独分 |
如果磁盘更大,比如 100GB,可以把 /var 给到 20GB,/home 给 50GB。分区的时候注意:欧拉安装器里创建分区要先选“手动分区”或者“自定义”,然后点“+”号添加挂载点。文件系统默认是 ext4,也可以选 xfs,xfs 在大文件和高并发场景下表现更好,但 ext4 兼容性更稳。新手建议 ext4。
注意:如果选了 UEFI 启动,必须有一个 /boot/efi 分区,格式选 EFI System Partition,否则装完重启会找不到引导。BIOS 启动则不需要这个分区,但需要一个 1-2MB 的 bios boot 分区(欧拉安装器会自动处理,一般不用手动加)。
3.2 软件选择:最小安装还是带 GUI
“软件选择”这一项决定了你装完之后有没有图形界面。欧拉提供的选项包括:
- 最小安装:只有命令行,没有桌面,体积最小,适合服务器。
- 服务器:命令行加一些服务器常用工具,推荐生产环境用。
- 带 GUI 的服务器:命令行加 GNOME 桌面,适合需要图形化操作的场景。
- 虚拟化主机:带虚拟化工具链。
- 工作站:带更多开发工具和桌面环境。
如果你装完发现没有桌面,想补装图形界面,可以在命令行下执行dnf groupinstall "Server with GUI"或者dnf groupinstall "GNOME",然后systemctl set-default graphical.target设置默认启动图形界面。但这个过程需要网络源可用,所以最好在安装阶段就选好。
我个人的习惯是:生产服务器选“最小安装”,需要桌面的实验环境选“带 GUI 的服务器”。选“带 GUI 的服务器”之后,装完默认启动就是图形登录界面,GNOME 桌面,跟 CentOS 的体验很接近。
3.3 网络和主机名配置的时机
安装信息摘要页面里的“网络和主机名”一定要点进去配置。默认情况下网卡是关闭的,你需要在列表里选中网卡(一般是 ens33 或 ens160 这种名字),点右上角的开关打开。打开之后默认是 DHCP 自动获取 IP,如果你需要静态 IP,点“配置”按钮手动填。
这里有个经验:安装阶段就把网络配好,装完之后直接能上网、能用 yum。如果安装阶段没配,装完进系统再配也可以,但那时候你可能连ifconfig命令都没有(最小安装不带 net-tools),得用ip addr看网卡,用nmcli或修改配置文件来配,多一道手续。
主机名也在这里改,默认是 localhost.localdomain,改成你想要的,比如euler-server-01。改完点“应用”。
4. 安装过程与首次启动的关键操作
4.1 Root 密码与用户创建
Root 密码必须设,而且欧拉对密码复杂度有要求:至少 8 位,包含大小写字母和数字。如果你设得太简单,安装器会提示“密码太弱”,但可以点两次“完成”强制通过。生产环境别这么干,老老实实设个复杂点的。
除了 root,建议再创建一个普通用户,勾选“将此用户设为管理员”,这样这个用户可以用 sudo。日常操作别用 root,这是基本安全习惯。
所有红色感叹号处理完之后,点“开始安装”。安装过程大概 10-20 分钟,取决于磁盘性能和选的软件包数量。装完后点“重启”。
4.2 首次启动的许可与初始设置
重启后第一次进系统,如果是带 GUI 的,会有一个初始设置向导:许可协议、网络、用户等。许可协议勾选同意,网络如果之前配好了这里会显示已连接。设置完进入桌面。
如果是最小安装,重启后直接是命令行登录提示。用 root 或者你创建的用户登录。
登录后第一件事,检查网络:
ip addr看网卡有没有拿到 IP。如果没有,用nmcli配置:
nmcli con show nmcli con up ens33如果 DHCP 没拿到地址,可以手动配静态:
nmcli con mod ens33 ipv4.addresses 192.168.1.100/24 nmcli con mod ens33 ipv4.gateway 192.168.1.1 nmcli con mod ens33 ipv4.dns 8.8.8.8 nmcli con mod ens33 ipv4.method manual nmcli con up ens33这套命令在欧拉上通用,因为欧拉默认用 NetworkManager 管理网络。
4.3 配置本地 YUM 源
如果你装的是 DVD 版,光盘里自带软件仓库。把 ISO 挂载到系统里,然后配本地源:
mkdir /mnt/cdrom mount /dev/sr0 /mnt/cdrom然后创建 repo 文件:
vi /etc/yum.repos.d/local.repo内容:
[local] name=Local DVD baseurl=file:///mnt/cdrom enabled=1 gpgcheck=0保存后执行dnf clean all && dnf makecache,然后dnf repolist看是否生效。这样即使没外网,也能装常用软件。
如果要配网络源,欧拉的官方源地址在/etc/yum.repos.d/openEuler.repo里默认就有,但需要外网。国内可以用一些镜像站加速,改 baseurl 就行。
5. 装完系统后必做的几件事
5.1 安装常用工具链
最小安装的系统很干净,很多工具没有。先装一批基础工具:
dnf install -y vim wget curl net-tools tar unzip gitGit 装完后要配一下用户信息:
git config --global user.name "Your Name" git config --global user.email "your@email.com"如果要用 Python 开发,欧拉自带 Python3,但 pip 可能没装:
dnf install -y python3-pip需要更独立的 Python 环境,可以装 Miniconda:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh一路回车,最后source ~/.bashrc生效。
5.2 安装 Docker 与容器环境
欧拉装 Docker 有两种方式:用官方源或者用欧拉自带的 docker 包。推荐用欧拉源:
dnf install -y docker systemctl enable docker systemctl start docker docker version装完后可以配一下国内镜像加速,编辑/etc/docker/daemon.json:
{ "registry-mirrors": ["https://your-mirror.com"] }然后systemctl daemon-reload && systemctl restart docker。
注意:欧拉 24.03 默认可能用 podman 替代 docker,如果你习惯 docker 命令,可以装 docker-ce 或者用 podman 的 docker 兼容别名。
dnf install -y podman-docker可以让 podman 响应 docker 命令。
5.3 图形界面与 UKUI 桌面
如果装的是最小安装,后来想加桌面,除了 GNOME,欧拉还支持 UKUI 桌面(来自麒麟的桌面环境)。装 UKUI:
dnf install -y ukui systemctl set-default graphical.target rebootUKUI 的界面更接近 Windows 风格,对新手更友好。但 UKUI 的包依赖比较多,装的时候注意磁盘空间。
5.4 修改文件夹权限与用户管理
欧拉里改文件夹权限用chmod和chown。比如把某个目录给某个用户:
chown -R username:groupname /path/to/dir chmod -R 755 /path/to/dir755 表示所有者可读写执行,组和其他人可读可执行。如果目录里有敏感数据,用 700 只给所有者权限。
添加用户:
useradd -m -s /bin/bash newuser passwd newuser usermod -aG wheel newuserwheel组在欧拉里默认有 sudo 权限。
6. 常见问题排查与避坑经验
6.1 装完没有网络怎么办
这是最高频的问题。排查顺序:
ip addr看网卡有没有 IP。没有的话,nmcli con show看连接状态。- 如果网卡是 down 的,
nmcli con up ens33。 - 如果是 VMware 环境,检查虚拟机网络模式是不是桥接,宿主机网卡有没有选对。
- 如果是静态 IP,检查网关和 DNS 是否跟宿主机同网段。
- 防火墙可能挡了,
systemctl stop firewalld临时关掉测试。
6.2 YUM 报错 “Cannot find a valid baseurl”
一般是源配置问题。检查/etc/yum.repos.d/下的 repo 文件,baseurl 是否可达。本地源检查 ISO 是否挂载到/mnt/cdrom。网络源检查 DNS 和网络连通性。
6.3 没有显示器和 IP 怎么进后台
这种情况常见于物理服务器。如果服务器有串口(Serial Console),可以通过串口连接。欧拉默认可能没开串口控制台,需要在 GRUB 里加console=ttyS0,115200参数。如果是虚拟机,可以在 VMware 里直接看控制台,或者用 VNC 连。
如果连 IP 都没有,只能通过带外管理(IPMI、iDRAC、iLO)进 KVM over IP,或者接显示器键盘。没有这些条件的话,只能进单用户模式重置网络配置。
6.4 升级 OpenSSH 的注意事项
欧拉自带的 OpenSSH 版本可能比较老,有安全扫描要求时需要升级。升级前务必:
- 备份
/etc/ssh/目录。 - 确认新版本编译依赖(zlib、openssl)已装。
- 编译安装后不要覆盖旧版本,先装到
/usr/local/下,测试新 sshd 能启动再替换。 - 保留一个已连接的 SSH 会话不要断,万一新 sshd 起不来,还能用旧会话救回来。
6.5 安装 Oracle 19c 的前置条件
欧拉上装 Oracle 19c 是很多信创项目的需求。关键点:
- 内核参数调整:
/etc/sysctl.conf里加fs.file-max、kernel.sem、net.ipv4.ip_local_port_range等。 - 用户和组:创建
oinstall、dba组和oracle用户。 - 依赖包:
dnf install -y binutils compat-libcap1 gcc gcc-c++ glibc-devel libaio libaio-devel libstdc++-devel等。 - 欧拉的 glibc 版本可能比 Oracle 官方要求的更新,需要做兼容处理,比如软链接旧版本库。
这个主题展开能写一整篇,这里只点一下关键方向。
7. 几个容易被忽略的细节
装欧拉的过程中,有几个细节看似不起眼,但影响很大。第一个是 SELinux。欧拉默认开启 SELinux, enforcing 模式。如果你装某些软件(比如 Oracle、某些 Web 服务)遇到莫名其妙的权限拒绝,先看/var/log/audit/audit.log,临时用setenforce 0关掉测试。生产环境不建议永久关闭,但实验环境可以改/etc/selinux/config为 permissive。
第二个是防火墙。欧拉默认 firewalld 开启,很多端口没放行。装完 Docker 后,容器端口映射可能被防火墙挡。要么关防火墙,要么用firewall-cmd --add-port放行。
第三个是时间同步。欧拉默认可能没开 chronyd,导致时间不准,影响证书、日志、集群。systemctl enable chronyd && systemctl start chronyd,然后chronyc sources看同步状态。
第四个是 tar 解压。欧拉里解压 tar.gz 用tar -zxvf file.tar.gz,解压 tar.xz 用tar -Jxvf file.tar.xz。如果提示xz: command not found,装xz包。
第五个是文件夹权限的继承。用chmod -R递归改权限时,如果目录里有符号链接,可能会跟着改到链接目标。用chmod -R --no-dereference避免。
这些细节单独看都不大,但组合起来就是“为什么我的欧拉跟别人不一样”的根源。我自己的习惯是装完系统先跑一个初始化脚本,把时区、时间同步、防火墙策略、SELinux、常用工具、Docker、Python 环境一次性配好,省得每次重装都重复劳动。
最后说一个实际体会:欧拉的文档虽然全,但很多是面向企业级部署的,对个人学习者和中小团队来说,最实用的还是社区里那些“我装的时候遇到什么坑”的帖子。我写这篇也是这个目的——把官方文档里不会写的、但实际会卡住人的地方讲清楚。装系统这件事,第一次装可能花两小时,第二次半小时,第三次就变成肌肉记忆了。关键是第一次别被吓退。