资讯详情

openEuler 从安装到部署 Qwen 大模型:Linux 运维与虚拟化全流程实操指南

📅 2026/10/5 7:46:17 | 华诺云谱 👁 阅读
openEuler 从安装到部署 Qwen 大模型:Linux 运维与虚拟化全流程实操指南
我一直觉得学习一个新系统最好的方式就是直接把它装到机器上然后逼着自己去配置、去折腾。这段时间我把 openEuler 当作主力系统研究了一下从裸机安装、图形界面配置、虚拟机化到源码编译升级 OpenSSH甚至还在上面跑了一个 Qwen 大模型。整个过程踩了不少坑也积累了一套比较完整的操作笔记这篇就来把这些内容梳理出来给同样想上手 openEuler 的同学一份可以直接参考的实操指南。如果你之前只用过 CentOS、Ubuntu会对 openEuler 有天然的亲切感它的很多命令和包管理逻辑跟主流 Linux 发行版非常接近但也有些独有工具和细节只有实际用过才知道。1. 项目概述与学习路线1.1 openEuler 是什么为什么值得学openEuler 是一个开源的 Linux 发行版属于 Linux 系操作系统支持多种 CPU 架构尤其是对 ARM 架构做了很好的适配。它的定位是企业级服务器系统很多云厂商、运营商都在基于它做二次封装所以我把它看作一个“产业界很认真在推”的发行版。跟 CentOS 相比openEuler 的软件包管理使用 DNF/Yum命令模式非常接近但从内核、系统库到编排工具都有不少自研组件比如 A-Tune 性能调优引擎、iSulad 轻量容器等。对于开发者来说学习 openEuler 不仅是学会一个系统更是在接触一套面向基础设施的解决方案。我这次的学习项目之所以叫“学习笔记 openEuler”是因为我把整个过程记录成了可复现的笔记从零开始部署、配置、优化一直到跑通具体业务。这个系统适合运维工程师、后端开发、系统架构师也适合对国产操作系统感兴趣的学生。它不是那种只适合“演示”的系统真的可以在生产环境里做虚拟化、跑容器、部署大模型。1.2 我这次的学习目标与整体规划在动手之前我给自己定了几条明确的目标第一能在物理机或虚拟机上把 openEuler 装起来第二把它桌面化因为有图形界面调试起来确实方便第三配置好软件源解决“装东西难”的问题第四体验虚拟化场景包括在 VMware 里装 Tools以及用 KVM 做虚拟机第五做一次 OpenSSH 的源码编译升级彻底搞懂这个过程第六挑战一下在 openEuler 上部署 Qwen 推理环境。这几步不是并列关系而是层层递进的从安装到系统管理再到应用部署基本覆盖了服务器运维里面的高频操作。规划好之后我准备了以下环境一台 VMware 虚拟机模拟 x86 环境、一台 ARM 架构鲲鹏服务器用 libvirt-daemon-kvm 做虚拟化、还有一个闲置的笔记本用来装图形界面 openEuler。多环境的目的是验证 openEuler 在不同架构上的表现。实际体验下来ARM 架构上 openEuler 的卡口优化做得很好但软件源里有些 x86 专属包没有需要多一步适配。2. openEuler 系统安装与环境准备2.1 镜像下载与启动盘制作安装 openEuler 的第一步是下载镜像。打开 openEuler 社区官网找到“下载”入口可以看到一个列表里面一般会按版本号和架构区分比如 openEuler 22.03 LTS SP3、openEuler 24.03 等。版本选择上如果是生产环境我建议选 LTS 长生命周期版本不要追新LTS 版本的维护周期更长软件包相对稳定。如果只是想体验新特性可以选最新的非 LTS 版本但后面升级软件源时可能会有坑。下载镜像时需要注意架构。我的笔记本是 x86_64所以下载 x86_64 的 ISO后面那台 ARM 服务器则下载 aarch64 架构。官方镜像有标准 ISO 和精简 ISO 区分建议选标准版里面包含了完整软件源安装时可以离线选择大部分软件组。制作启动盘时Windows 下我常用 RufusLinux 下直接用 dd 命令。多说一句dd 命令虽然简单但一定要确认目标是 U 盘而不是硬盘否则数据会全丢。命令示例sudo dd ifopenEuler-22.03-SP3-x86_64-dvd.iso of/dev/sdb bs4M statusprogress注意这里是把 ISO 以一种混合模式写入 U 盘不是把 U 盘当作普通分区挂载。写完之后在 BIOS/UEFI 里设置 U 盘优先启动就能看到安装引导界面了。2.2 安装过程中的关键选项openEuler 的安装界面用的是 Anaconda 安装器用惯 CentOS 的话不会陌生。进入安装后语言选 English 或中文都可以但服务器运维场景中我建议选 English因为日志和工具集很多时候都以英文为准。时区选 Asia/Shanghai键盘保持默认。安装源和软件选择是最需要花心思的地方。软件选择界面有多个选项Server、Server with GUI、Virtualization Host、Custom 等。我的建议是既然目标是学习 使用直接选“Server with GUI”可以一次性把图形界面也装了省得后面再手动装一堆包。如果是纯服务器生产环境那就选“Server”精简安装。左侧的安装目的地里需要做分区策略。对新手用自动分区即可它会自动创建 LVM 逻辑卷方便后续扩展想学习的人可以自定义分区。自定义分区我推荐这样划分/boot区 1G/区根据硬盘容量给个 50G 以上/home区单独挂一个卷交换分区 swap 给物理内存的 1.5 倍左右。如果以后要跑容器或者大模型/var/lib尽量大一些因为容器镜像和模型权重都放在这里。另一个关键设置在“Root 密码”和“创建用户”选项卡root 密码一定要足够复杂新手也别用 root 直接操作创建一个普通用户后通过 sudo 提权才是好习惯。安装过程大概五到十分钟装完重启默认登录到命令行。如果没有装图形界面会直接进入 tty。此时第一件事就是用 DHCP 获取 IP查看一下网络是否通然后用ping测试 DNS 和外网连通性。这一步看似简单但很多人后面配置源失败就是卡在没配好网络。2.3 首次启动与基础网络配置重启完成后登录提示符出现输入刚才设置的 root 密码就可以进入系统。如果是图形界面会在图形界面里进行初次配置。命令行进入系统后我先查看系统版本cat /etc/openEuler-release uname -a输出中能看到 openEuler 的版本号以及内核版本。我们接下来要配置网络编辑/etc/sysconfig/network-scripts/ifcfg-ens160虚拟机网卡名可能不同用ip addr查看真实网卡名。网络配置建议使用 NetworkManager也可以用配置文件。如果是静态 IP配置文件里要写清 BOOTPROTO、IPADDR、GATEWAY、DNS。一个简单的示例BOOTPROTOstatic IPADDR192.168.1.100 NETMASK255.255.255.0 GATEWAY192.168.1.1 DNS18.8.8.8 DNS2114.114.114.114 ONBOOTyes改完执行nmcli connection reload或直接重启 NetworkManager 服务然后ping一下外网确认连接。到这里一个能用的 openEuler 就装好了。3. 必需的基础配置yum 源与 EasySoftware3.1 为什么必须配 yum 源装好系统只是第一步马上就会遇到“想装个软件但找不到包”的问题。openEuler 默认带的软件仓库可能不完整或者你选的是精简安装很多包不在默认仓库里。另外openEuler 默认源指向的是官方源不同版本对应不同仓库路径如果镜像源访问慢安装体验会很差。所以配 yum 源是必须的一步。通过 yum 源我们可以用dnf install来安装各种软件包还能自动解决依赖关系。实际上 openEuler 使用的包管理器就是 DNF也兼容 yum 命令它的源配置文件在/etc/yum.repos.d/目录下后缀是.repo。3.2 手动配置 yum 源的三种方式我归纳了三种常用方式。方式一使用官方默认源但启用全部仓库。打开/etc/yum.repos.d/openEuler.repo可以看到多个 [base]、[EPOL]、[debuginfo] 等仓库配置。默认 base 源已经启用EPOL 可能没有启用。EPOL 是 openEuler 的扩展软件包仓库里面有不少额外工具比如虚拟化相关组件。想启用就把配置里的enabled0改成enabled1然后执行dnf makecache。方式二更换为国内镜像源。现在很多开源社区都有镜像站点比如清华 TUNA、阿里云、华为云等。编辑 repo 文件把官方域名替换成镜像域名然后重新生成缓存。注意版本号要匹配比如 22.03 的源路径通常是/openeuler/openEuler-22.03-LTS-SP3/...。这里有一个细节不同镜像站的路径可能带openEuler的大小写差异最好先在浏览器里打开镜像根目录看看结构再写路径否则缓存时报 404。方式三配置本地源。如果你有离线环境或者下载了完整 ISO可以把 ISO 挂载到/mnt然后在本地 repo 文件里指向挂载点。比如mount -o loop openEuler-22.03-x86_64-dvd.iso /mnt/iso然后新建local.repo[local] namelocal baseurlfile:///mnt/iso enabled1 gpgcheck0这种方式在无外网环境非常实用。不过需要注意本地源中通常不包含所有 EPOL 包后面用到虚拟化工具时还是要外网源。3.3 用 EasySoftware 工具简化软件管理openEuler 社区有一个叫 EasySoftware 的在线软件服务站点可以理解为 openEuler 的“软件中心”。它提供图形化浏览和筛选软件包的功能也能生成对应的 yum 配置命令。我第一次看到它时还以为是第三方工具其实它是 openEuler 官方提供的软件生态门户。在 EasySoftware 的网站上你可以按分类搜索软件包点上某软件后会告诉你如何安装比如给出dnf install xxx的命令。更重要的是它有针对不同版本 openEuler 的仓库配置说明。有时候我在命令行装包时依赖报错就是先在 EasySoftware 上确认这个包属于哪个 repo然后再去调整源配置。简单说EasySoftware 是配源过程中一个很好的“手册”而不是替代 dnf 的独立安装器。真正的软件安装还是靠dnf install完成。4. 图形界面安装与桌面体验4.1 安装图形界面的两种方法如果安装系统时选了“Server with GUI”那图形界面已经装好了但这只适合在安装时就计划好的场景。如果在纯净服务器上想后补装图形界面可以用以下命令dnf groupinstall Server with GUI或按软件组关键词去安装。openEuler 默认的桌面环境可能是 GNOME也可以选择安装其他桌面命令大致是dnf install -y gnome-shell gdm或dnf install -y ukuiUKUI 是麒麟系桌面openEuler 社区也提供支持。我实际测试GNOME 3 在 openEuler 上整体很流畅VNC 远程桌面对接也顺畅。安装完成后设置默认启动目标为图形模式systemctl set-default graphical.target systemctl isolate graphical.target这样就可以看到登录界面了。如果你不想重启想立刻测试用startx有时会有问题建议还是systemctl isolate graphical.target。4.2 图形界面安装后的基础优化图形界面装好后立刻会遇到字体发虚、分辨率不对、鼠标太快等问题。分辨率不对可以先看虚拟机的虚拟显卡驱动是否兼容常见的是 VMware 下分辨率受限这时候就得装 VMware Tools 或 open-vm-tools后面专门讲。字体方面openEuler 默认中文字体不全执行dnf install -y wqy-zenhei wqy-microhei fonts-ipa-mincho可以改善中文渲染。另一个优化是关闭不常用的自启动服务让桌面响应更快。执行systemctl list-unit-files | grep enabled查看启用服务如果有不常见的如abrt-journal-core等可以用systemctl disable关闭。桌面环境下输入法建议直接安装ibus配合ibus-libpinyin执行dnf install -y ibus ibus-libpinyin装完注销重新登录就能在输入法里找到拼音选项。记得把系统 locale 设置为 zh_CN.UTF-8中文环境变量对很多中文应用有影响不只是显示问题。4.3 远程桌面VNC备选方案图形界面的服务器如果放在机房我们不可能每次跑到物理机前操作远程桌面就非常重要了。我常用的是 VNC 或 XRDP。VNC 服务器端安装dnf install -y tigervnc-server vncserver :1 -geometry 1920x1080第一次启动会让你设置密码生成的会话可以通过 VNC 客户端连接。需要注意防火墙放行 5901 端口firewall-cmd --permanent --add-port5901/tcp firewall-cmd --reload如果你想用 RDP 协议可以安装 xrdpdnf install -y xrdp systemctl enable --now xrdp之后 Windows 自带的远程桌面客户端就可以连接了。虽然 xrdp 配置简单但有时会与 GNOME 桌面有兼容性小问题连接后键盘布局异常遇到这种情况VNC 通常更稳。5. 虚拟机环境与虚拟化支持5.1 VMware 虚拟机安装 openEuler 及 VMware Tools在 VMware Workstation 或 ESXi 中安装 openEuler 很常见。创建虚拟机时客户机操作系统选“Linux”版本可以根据内核选“Red Hat Enterprise Linux 8 64-bit”或“Other Linux 64-bit”因为 openEuler 内核兼容性没问题。分配 CPU、内存和磁盘时内存至少要给 4GB否则图形界面会很卡磁盘建议 50GB 以上。安装过程与物理机相同。装完之后大家最关注的是 VMware Tools 安装。很多人习惯下载 VMware 自带的 VMware Tools 安装包但更简单的方式是用 open-vm-tools。在 openEuler 中直接执行dnf install -y open-vm-tools systemctl enable --now vmtoolsd这样就能获得正常的分辨率自适应、剪贴板共享、拖拽文件等功能而且不需要重新编译内核模块。如果你坚持用 VMware 官方提供的传统 VMware Tools则需要从 VMware 菜单里“安装 VMware Tools”挂载 CD-ROM然后解压tar包运行vmware-install.pl。这个过程容易因为缺少内核头文件而失败所以需要提前安装kernel-devel与gccdnf install -y gcc make kernel-devel kernel-headers编译时全程按回车接受默认选项大致能成功。不过我实测 open-vm-tools 更符合 openEuler 的生态说“VMware Tools 怎么安装”时我基本首推 open-vm-tools。5.2 用 libvirt-daemon-kvm 搭建虚拟化环境openEuler 对 KVM 虚拟化的支持非常完善尤其是在 ARM 架构的服务器上openEuler aarch64 与 KVM 的配合已经有大量生产案例。这里围绕热搜词“arm 架构 openEuler 服务器使用 libvirt-daemon-kvm 虚拟化”我记录一下在 ARM 服务器上的操作。首先安装虚拟化软件包组dnf install -y virt-install libvirt-daemon-kvm libvirt-client qemu-kvm或者直接安装组包dnf groupinstall Virtualization Host安装完成后启动并启用 libvirtd 服务systemctl enable --now libvirtd查看是否正常virsh list --all如果没有报错说明 KVM 环境就绪了。libvirt-daemon-kvm包的作用是把 libvirt 库与 KVM 驱动整合起来上层通过virsh或virt-manager管理虚拟机。在 ARM 服务器上创建虚拟机时需要特别注意虚拟机的架构参数。例如用 virt-install 安装一个 aarch64 架构的 openEuler 客户机virt-install \ --name test-openeuler \ --memory 4096 \ --vcpus 4 \ --disk path/var/lib/libvirt/images/test.img,size50 \ --os-variant openeuler \ --network default \ --graphics vnc,listen0.0.0.0 \ --location /mnt/iso/openEuler-aarch64-dvd.iso这里--os-variant openeuler是非常关键的参数它会自动应用一些 openEuler 客户机需要的配置策略。如果列表里没有对应变体可以先执行osinfo-query os | grep openeuler查看。安装完成后可以用virsh list --all查看虚拟机列表virsh start启动virsh vncdisplay查看 VNC 显示编号。顺便提一句ARM 下 KVM 的 CPU 型号默认是host-passthrough性能更好可以在 XML 配置里设置。5.3 虚拟机性能优化与快照管理无论是 VMware 还是 KVM虚拟机的性能优化都是绕不开的话题。在 openEuler 宿主机里首先要开启嵌套虚拟化如果你是在 VMware 里再搭 KVM需要在 VM 设置里勾选“虚拟化 Intel VT-x/EPT 或 AMD-V/RVI”然后把 CPU 模式改为“Passthrough”。宿主机检查/proc/cpuinfo里有没有vmx或svm标志。KVM 虚拟机磁盘格式建议用 qcow2它支持快照、压缩、稀疏文件。创建快照的命令virsh snapshot-create-as test-openeuler snap1 first snapshot回滚virsh snapshot-revert test-openeuler snap1平时做实验我每次都打了快照再乱改系统比如升级内核、编译 OpenSSH 前必打快照这样即使翻车也能回到干净状态。网络方面默认 NAT 网络能满足测试生产环境建议配置 bridge 模式把虚拟机直接桥接到物理网段。6. 源码编译升级 OpenSSH6.1 为什么要源码编译升级 OpenSSHopenEuler 默认软件源里的 OpenSSH 版本可能不是最新的而新版 OpenSSH 会修复一些安全漏洞同时带来新特性和性能改进。在使用 SSH 时客户端版本与服务端版本握手存在兼容性问题比如一些新工具链要求高版本的 SSH 协议。虽然也可以通过dnf update openssh直接升级到源内最新版但有时候源内版本依旧旧特别是官方还没有跟进新版本时我们就会选择源码编译。源码编译升级 OpenSSH可以安装比源内更新的版本也能自定义编译选项比如启用某些认证模块、禁用不安全的算法。但这个过程有风险如果编译配置错误、服务启动失败可能把自己锁在服务器外。这也是为什么我在这篇笔记里单独用一整章来讲因为它真的有门槛。6.2 编译升级完整步骤我先说大思路下载源码、安装编译依赖、备份原有配置、编译安装、替换二进制与配置文件、重启服务验证。第一步安装编译依赖。dnf install -y gcc gcc-c make zlib-devel openssl-devel pam-devel systemd-devel这里pam-devel和systemd-devel是编译新版 OpenSSH 时的常用依赖缺少会导致某些特性无法编译。接着访问 OpenSSH 官网或镜像站下载最新的源码包比如openssh-9.8p1.tar.gz。下载后解压tar -xzf openssh-9.8p1.tar.gz cd openssh-9.8p1在编译之前先做一个确认查看当前系统 SSH 版本以及关键依赖路径。ssh -V which sshd获得路径例如/usr/sbin/sshd。然后进行配置注意这里的关键参数./configure \ --prefix/usr \ --sysconfdir/etc/ssh \ --with-pam \ --with-md5-passwords \ --with-privsep-path/var/empty/sshd \ --with-systemd--prefix/usr是让新编译的 ssh/sshd 覆盖系统默认路径这很重要。如果你不指定默认可能安装到/usr/local/bin会导致系统中存在两套 SSH 命令带来混乱。--with-privsep-path指向/var/empty/sshd如果该目录不存在要用install -d -m 0755 /var/empty/sshd创建。然后执行make -j$(nproc) make install编译结束后ssh二进制文件已经覆盖到/usr/local/bin还是/usr/bin取决于 configure 的--prefix。如果指定了--prefix/usr会覆盖/usr/bin/ssh保险起见编译后再执行ssh -V看版本号。还需要生成新的主机密钥。因为新版 OpenSSH 可能改进了密钥格式最好重新生成cd /etc/ssh ssh-keygen -A如果提示密钥算法不支持可以考虑加上-t rsa -b 4096等选项单独生成。接下来重启 sshd 服务但在重启前千万要保留一个连接窗口以免重启后无法登录。执行systemctl restart sshd然后再开一个新终端测试能否连接。如果新连接失败立刻在旧会话中查看/var/log/messages或/var/log/secure日志定位原因。确认连接无误后更新 systemd service 文件中的启动路径因为有些发行版默认启动脚本可能还是指向老路径。可以执行which sshd确认。6.3 升级过程中遇到的坑与解决办法升级 OpenSSH 最常见的坑是“PAM 模块不兼容”“SELinux 拦截”“公钥认证失败”。我之前在 openEuler 上就遇到过编译过程中提示缺少crypto库实际上是因为没有安装openssl-devel还有一次编译后 restart sshd 失败原因是/etc/ssh/sshd_config里的UsePAM yes被注释掉了而新版本对 PAM 依赖更强。解决办法是确保--with-pam已启用而且在 configure 时安装了pam-devel。更危险的一个坑是覆盖/usr/bin/ssh后旧版的sshd进程还在运行新版二进制和旧版进程共存导致重启服务时提示sshd: no process found或端口被占用。这时可以pkill sshd systemctl start sshd注意强制 pkill 可能导致远程连接瞬间断开但只要 SSH 服务能起来多试几次就能恢复。为了保险我在升级前都会先cp /usr/sbin/sshd /usr/sbin/sshd.old一旦翻车马上执行mv恢复旧版本。另外升级后要重启服务器的话确认/etc/systemd/system/multi-user.target.wants/sshd.service软链接指向的是新二进制。7. 在 openEuler 上部署 Qwen 大模型7.1 部署前的硬件与环境自查热词里有“openeuler 安装 qwen3.8 27b”我理解是想在 openEuler 上部署 Qwen 模型比如 Qwen2.5/Qwen3 系列有 8B、27B 等不同规模。这里我以实际部署过的 Qwen2.5-7B-Instruct 为例说明整个流程部署到 27B 级别后续可以按比例增加显存。部署大模型第一步不是执行命令而是检查硬件。用lscpu看 CPU 核心数用free -h看内存用nvidia-smi看 GPU 显存如果使用 NVIDIA GPU。如果在 ARM 服务器上部署可能只有 CPU那就要用量化模型配合内存运行。跑 7B 模型FP16 精度下需要约 14GB 显存如果只有 CPU则需要至少 16GB 内存推理速度会慢不少但也能跑。27B 模型则建议至少有 48GB 内存或显存否则加载后进程 OOM无论怎么调参都会失败。openEuler 本身对 NVIDIA GPU 驱动支持需要额外安装nvidia-driver这个在官方驱动网站可以下载安装时要注意内核版本匹配。如果是纯 CPU 推理就不用考虑 GPU。7.2 安装 Python 环境与模型运行库openEuler 默认带了 Python 3但版本可能不是最新的。建议用dnf install -y python3-pip python3-virtualenv准备独立环境然后创建虚拟环境python3 -m venv qwen-env source qwen-env/bin/activate接着安装 PyTorch。CPU 版安装pip install torch torchvision torchaudio --index-url https://pypi.org/simpleGPU 版则要根据 CUDA 版本选择比如 CUDA 11.8 就安装对应的 torch 版本。然后安装 HuggingFace 生态与 transformerpip install transformers accelerate sentencepiece注意openEuler 的 pip 源可能默认指向官方源下载缓慢时可以配置国内 pip 镜像比如清华源https://pypi.tuna.tsinghua.edu.cn/simple。这在中科大、阿里等也有源选一个可靠的就行。这是很正常的配置操作不要往其他方向联想。7.3 启动 Qwen 模型的完整流程下载模型权重时可以直接用huggingface_hubhuggingface-cli download Qwen/Qwen2.5-7B-Instruct --local-dir ./qwen-model如果网络无法直接访问 HuggingFace 模型库可以通过一些国内镜像站获取模型设置环境变量HF_ENDPOINThttps://hf-mirror.com即可。注意这只是一个机器学习模型的下载镜像与任何代理无关。下载完成后编写一个简单推理脚本from transformers import AutoModelForCausalLM, AutoTokenizer model_name ./qwen-model tokenizer AutoTokenizer.from_pretrained(model_name, trust_remote_codeTrue) model AutoModelForCausalLM.from_pretrained(model_name, trust_remote_codeTrue, device_mapauto) query 请用三句话介绍 openEuler inputs tokenizer(query \n, return_tensorspt) outputs model.generate(**inputs, max_new_tokens128) print(tokenizer.decode(outputs[0], skip_special_tokensTrue))执行前先检查device_mapauto是否自动放到了 GPU 或 CPU 上若不支持device_map就手动设置model.to(cuda)或model.to(cpu)。启动后如果显存不足会立刻报 CUDA out of memory这时可以尝试加载量化版本比如搜索Qwen2.5-7B-Instruct-GPTQ-Int4然后添加bitsandbytes库来做 4bit 量化加载。代码里可加入pip install bitsandbytes在加载模型时传入quantization_config参数。这样 8B 模型的显存需求能从 14GB 降到 6GB 左右。27B 模型用 4bit 量化后也只需要 16GB 左右显存普通 24GB 显卡勉强能跑。7.4 部署后的使用与资源监控模型跑起来只是开始我更看重它能不能稳定运行和高效响应。在 openEuler 上我配了systemd服务来守护模型进程这样不担心终端关闭后模型消失。编写一个 service 文件qwen.service内容大致如下[Unit] DescriptionQwen LLM Service Afternetwork.target [Service] Typesimple Userqwen WorkingDirectory/home/qwen/qwen-env EnvironmentHF_ENDPOINThttps://hf-mirror.com ExecStart/home/qwen/qwen-env/bin/python /home/qwen/qwen-server.py Restarton-failure RestartSec5 [Install] WantedBymulti-user.target然后用systemctl daemon-reload systemctl enable --now qwen启动服务。资源监控用htop加上nvidia-smi -l 1观察 GPU 显存和算力占用。如果推理卡顿可以调整max_new_tokens限制输出长度或者在模型加载时开启torch.compile以及半精度如torch.float16来提速。总的来说openEuler 对这类 AI 应用的基础支撑非常稳定没有出现因为发行版差异导致的诡异问题。8. 学习心得与后续规划8.1 我踩过的坑与给新手的建议把整套流程做完以后我最大的感受就是openEuler 的大多数问题不是系统不行而是使用习惯问题。比如 yum 源不会配、依赖没装全、编译参数不对。如果你之前熟悉 CentOS/RHEL 系的操作上手 openEuler 几乎是无缝的如果你只熟悉 Ubuntu需要重点适应 DNF 的包名和行为差异。我给新手的建议是不要在刚刚装完的裸系统上就开始搞大动作。先配好源、装好基础工具vim、git、htop、net-tools再做快照或备份。接着每做一步重要操作都停下来验证结果比如升级 OpenSSH 后先开第二个终端测试连接再继续下一个实验。还有一点openEuler 的文档真的很全遇到不懂的先翻官方文档它里面很多命令和配置示例都是可以直接照抄的。8.2 这次学习笔记还能怎么扩展其实 openEuler 的学习路线可以无限延伸。比如这次我只用了 KVM 做虚拟化还可以继续研究 openEuler 的容器编排工具如 iSulad、k8s在 ARM 上比较性能也可以把分步编译 OpenSSH 的过程整理成自动化脚本下次一键升级在部署 Qwen 的基础上还能继续加一个 vLLM 推理服务框架提升并发吞吐量。还可以试试 openEuler 的 A-Tune 优化引擎自动调优 CPU 和内存参数那又是另一个量级的深度了。我个人计划下一步把 openEuler 集群化用 KVM 虚拟化出三台节点搭建一套 Kubernetes 测试环境顺便验证它在云原生方面的表现。这种学习路径从单个系统到集群再到分布式应用会比较完整地展现一个系统的真实能力。也希望这篇学习笔记能帮你少走一点弯路——至少别像我一样把系统搞到无法启动时才发现忘了做快照。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑