
1. 初识openEuler国产操作系统的崛起第一次接触openEuler是在2020年的一次技术分享会上当时就被这个国产操作系统的设计理念所吸引。openEuler是华为推出的开源Linux发行版专为企业级应用设计特别适合云计算、边缘计算等场景。作为一个长期使用CentOS的运维工程师我决定亲自尝试这个新兴系统。安装过程比想象中简单得多。从官网下载ISO镜像后用Ventoy制作启动盘不到20分钟就完成了基础安装。最让我惊喜的是系统默认就集成了很多实用工具比如强大的DNF包管理器、完善的开发工具链等。记得当时为了测试兼容性我特意尝试用dnf install nginx命令安装常用软件整个过程流畅得就像在使用CentOS一样。openEuler的版本更新策略也很清晰。每6个月发布一个创新版本每2年推出一个长期支持(LTS)版本。对于企业用户我强烈建议选择LTS版本比如最新的openEuler 22.03 LTS它能获得4年的维护支持。通过cat /etc/os-release命令可以随时查看当前系统的详细版本信息。2. 系统安装实战从ISO到可用的环境2.1 准备安装介质我习惯用Ventoy制作多功能启动盘它支持直接加载ISO文件而无需反复格式化U盘。下载好openEuler镜像后只需三个简单步骤# 查看U盘设备名 lsblk # 使用Ventoy制作启动盘假设U盘是/dev/sdb sudo ventoy -i /dev/sdb # 拷贝ISO文件到U盘 cp openEuler-22.03-LTS-x86_64-dvd.iso /mnt/ventoy/2.2 安装过程详解安装界面提供了图形化和命令行两种方式。对于服务器环境我推荐选择最小化安装Minimal Install以减少不必要的软件包。几个关键配置点需要注意分区方案建议单独划分/boot(1G)、swap(内存的1-2倍)、/(剩余空间)网络配置安装时就可以设置静态IP避免后续再调整软件选择基础环境勾选Standard即可需要桌面环境可以额外选Server with GUI安装完成后别忘了设置root密码和创建普通用户。我遇到过因为没创建普通用户导致后续SSH无法直接登录的情况。2.3 首次登录与初始化首次登录后建议立即做这几件事# 更新系统 sudo dnf update -y # 安装常用工具 sudo dnf install vim git net-tools -y # 检查服务状态 systemctl status firewalld # 如果不需要防火墙可以关闭 sudo systemctl disable --now firewalld3. 命令行生存指南从生疏到熟练3.1 文件操作基本功Linux最基础也最重要的就是文件操作。openEuler继承了Linux的传统目录结构但有几个目录需要特别注意/etc/openEuler系统特有配置文件/opt第三方软件安装目录/usr/libexec系统关键可执行文件常用命令组合# 递归查找/home下所有.txt文件 find /home -name *.txt # 统计当前目录文件数 ls | wc -l # 快速查看大文件 du -sh /*3.2 文本处理三剑客grep、awk、sed这三个工具必须掌握。上周我处理日志时就用到了这个组合# 提取nginx日志中404错误的请求 grep 404 access.log | awk {print $7} | sort | uniq -c | sort -nrvim的实用技巧:set nu显示行号ggG自动格式化整个文件Ctrlv进入列编辑模式批量修改多行4. 用户与权限管理安全的第一道防线4.1 用户管理规范openEuler默认普通用户UID从1000开始。创建用户时建议指定家目录和登录shellsudo useradd -m -s /bin/bash devuser密码策略修改/etc/login.defsPASS_MAX_DAYS 90 PASS_MIN_DAYS 7 PASS_WARN_AGE 144.2 权限控制进阶除了基本的chmod/chownACL权限更适合复杂场景# 给特定用户添加写权限 setfacl -m u:testuser:rw /shared_dir # 查看ACL权限 getfacl /shared_dir特殊权限标志SUID执行时以所有者身份运行如passwdSGID目录下新建文件继承组权限Sticky只有所有者能删除自己的文件如/tmp5. 软件包管理DNF的强大之处5.1 基础操作openEuler使用DNF作为包管理器兼容YUM语法但速度更快# 搜索软件包 sudo dnf search nginx # 查看软件详情 sudo dnf info nginx # 安装时排除依赖 sudo dnf install --skip-broken package_name5.2 仓库配置添加EPEL源的方法sudo dnf install epel-release sudo dnf config-manager --set-enabled epel本地仓库搭建适合内网环境# 安装createrepo sudo dnf install createrepo -y # 创建仓库目录 mkdir -p /opt/repo # 生成仓库元数据 createrepo /opt/repo # 添加本地仓库配置 echo [local] nameLocal Repo baseurlfile:///opt/repo enabled1 gpgcheck0 | sudo tee /etc/yum.repos.d/local.repo6. 存储管理从基础到高级6.1 磁盘管理实战查看磁盘信息的几种方式# 简洁版 lsblk # 详细版 fdisk -l # 文件系统信息 df -ThLVM的日常操作# 创建物理卷 pvcreate /dev/sdb # 创建卷组 vgcreate vg_data /dev/sdb # 创建逻辑卷 lvcreate -L 100G -n lv_data vg_data # 扩展逻辑卷 lvextend -L 50G /dev/vg_data/lv_data resize2fs /dev/vg_data/lv_data6.2 挂载优化/etc/fstab的配置技巧UUIDxxxx /data ext4 defaults,noatime,nodiratime 0 0noatime减少磁盘写操作nodiratime目录不更新访问时间7. 系统服务管理systemctl的妙用7.1 服务管理基础常用操作# 查看服务状态 systemctl status sshd # 设置开机启动 sudo systemctl enable nginx # 重启服务 sudo systemctl restart nginx7.2 日志分析journalctl的实用参数# 查看最近错误 journalctl -p err -b # 跟踪服务日志 journalctl -u nginx -f # 按时间筛选 journalctl --since 2023-01-01 --until 2023-01-028. Shell脚本实战从小工具到自动化8.1 脚本基础一个实用的系统检查脚本#!/bin/bash # 系统健康检查脚本 echo 系统信息 echo 主机名: $(hostname) echo 系统版本: $(cat /etc/os-release | grep PRETTY_NAME | cut -d -f2) echo 内核版本: $(uname -r) echo -e \n 资源使用 free -h df -h | grep -v tmpfs echo -e \n 服务状态 systemctl list-units --typeservice --statefailed8.2 实战案例备份脚本这是我每天在用的MySQL备份脚本#!/bin/bash # MySQL备份脚本 BACKUP_DIR/backup/mysql DATE$(date %Y%m%d) MYSQL_USERbackup MYSQL_PASSpassword # 创建备份目录 mkdir -p $BACKUP_DIR/$DATE # 获取数据库列表 DATABASES$(mysql -u$MYSQL_USER -p$MYSQL_PASS -e SHOW DATABASES; | grep -Ev (Database|information_schema|performance_schema)) # 逐个备份 for db in $DATABASES; do mysqldump -u$MYSQL_USER -p$MYSQL_PASS --single-transaction $db | gzip $BACKUP_DIR/$DATE/$db.sql.gz done # 删除7天前的备份 find $BACKUP_DIR -type d -mtime 7 -exec rm -rf {} \;9. 网络配置与故障排查9.1 网络配置nmcli的使用示例# 查看连接 nmcli connection show # 添加静态IP连接 nmcli con add con-name eth0-static ifname eth0 type ethernet ip4 192.168.1.100/24 gw4 192.168.1.1 # 设置DNS nmcli con mod eth0-static ipv4.dns 8.8.8.8 8.8.4.4 # 启用连接 nmcli con up eth0-static9.2 网络诊断常用排错命令# 检查连通性 ping -c 4 google.com # 追踪路由 traceroute google.com # 查看端口监听 ss -tulnp # 测试端口连通性 nc -zv 192.168.1.1 2210. 安全加固让你的系统更可靠10.1 基础安全配置SSH安全优化/etc/ssh/sshd_configPermitRootLogin no PasswordAuthentication no AllowUsers devuser10.2 防火墙配置firewalld的基本使用# 开放端口 sudo firewall-cmd --permanent --add-port80/tcp # 限制IP访问 sudo firewall-cmd --permanent --add-rich-rulerule familyipv4 source address192.168.1.0/24 port protocoltcp port22 accept # 重载配置 sudo firewall-cmd --reload11. 性能监控与优化11.1 实时监控top的替代方案# 交互式监控 htop # 磁盘IO监控 iotop -o # 网络流量监控 nload11.2 性能分析系统瓶颈定位# CPU瓶颈 vmstat 1 # 内存瓶颈 free -m # IO瓶颈 iostat -x 112. 容器与虚拟化支持12.1 Podman基础openEuler默认集成了Podman# 搜索镜像 podman search nginx # 拉取镜像 podman pull docker.io/library/nginx # 运行容器 podman run -d --name mynginx -p 8080:80 nginx12.2 KubeEdge体验在边缘计算场景下的部署# 安装kubeedge sudo dnf install kubeedge -y # 初始化cloudcore keadm init --kubeedge-version1.12.0 --advertise-address192.168.1.10013. 认证考试准备HCIA-openEuler攻略13.1 考试重点分析根据考试大纲这些知识点必须掌握系统安装与基础配置20%文件与目录管理15%用户与权限管理15%软件包管理10%存储管理10%进程与服务管理10%Shell脚本基础10%网络配置10%13.2 模拟练习典型考题示例如何查看openEuler系统版本 A) uname -a B) cat /etc/os-release C) lsb_release -a D) hostnamectl正确答案B哪个命令可以显示目录下所有文件包括隐藏文件 A) ls B) ls -a C) ls -l D) ls -d正确答案B14. 常见问题排坑指南14.1 安装问题Q安装时找不到磁盘 A检查是否启用了AHCI模式或者尝试添加内核参数nomodesetQ安装后无法启动 A尝试在GRUB菜单按e编辑在linux行末尾添加systemd.unitrescue.target14.2 日常使用QDNF更新太慢 A更换国内镜像源sudo sed -e s|^metalink|#metalink|g \ -e s|^#baseurlhttp://repo.openeuler.org|baseurlhttps://mirrors.aliyun.com/openeuler|g \ -i.bak /etc/yum.repos.d/openEuler*.repoQ中文乱码 A安装中文字体sudo dnf install fonts-chinese localectl set-locale LANGzh_CN.UTF-815. 进阶学习路线15.1 推荐学习资源官方文档https://docs.openeuler.org开源书籍《OpenEuler操作系统管理与实践》在线实验https://lab.openeuler.org15.2 社区参与参与openEuler社区是提升技能的好方法提交issue报告问题参与SIG组开发贡献文档或翻译参加线下Meetup在华为人才在线官网可以找到完整的HCIA-openEuler认证培训课程包含视频教程、实验指导和模拟考试。实际工作中建议先从日常运维任务开始实践比如定期备份、日志分析等逐步过渡到自动化脚本编写和性能调优。