一、目录
- 引言:国产操作系统学习背景与意义
- KylinOS 安装部署全流程(含避坑指南)
- 核心功能与常用工具实战(附实操截图建议)
- 系统管理关键操作技巧(权限 / 用户 / 磁盘)
- 实战案例:Web 部署与 Shell 脚本自动化
- 学习总结与进阶方向展望
二、引言
在数字化转型与自主可控战略的双重驱动下,国产操作系统已成为政企数字化建设的 “核心底座”。《国产操作系统》课程以麒麟操作系统(KylinOS)为核心实训对象,从基础环境搭建到企业级应用部署,系统覆盖了国产 OS 的核心技术栈。通过近一个月的实操演练,我不仅解决了 KylinOS 安装兼容、权限配置、脚本自动化等多个实操难题,更深刻感受到国产操作系统在安全性、稳定性和生态适配性上的显著进步。本文将以 “实操步骤 + 问题解决” 为核心,分享从安装到实战的完整学习心得,助力同类学习者快速上手 KylinOS。
三、KylinOS 安装部署全流程(含避坑指南)
(一)安装前准备
- 硬件要求:推荐 CPU≥4 核(支持 ARM/x86 架构)、内存≥8GB(64 位系统最低要求 4GB,实操中 8GB 更流畅)、硬盘≥100GB(建议 SSD,安装速度提升 50%),需开启主板 UEFI 启动模式( Legacy 模式可能导致分区异常)。
- 镜像文件:从麒麟软件官网下载 KylinOS Server 10 SP3 镜像(ISO 格式,约 4GB),使用md5sum命令校验文件完整性(例:md5sum Kylin-Server-10-SP3-x86_64.iso),对比官网校验值避免镜像损坏。
- 安装介质:使用 Rufus 3.18 及以上版本制作启动 U 盘(旧版本可能不支持 UEFI),参数设置如下:
- 设备:选择目标 U 盘(建议≥8GB)
- 分区类型:GPT(必须与 UEFI 启动模式匹配)
- 目标系统类型:UEFI(非 BIOS 或 MBR)
- 格式化类型:FAT32(默认即可)
(二)安装步骤(附图文插入建议)
- 插入启动 U 盘,开机按主板对应的启动快捷键(F12 联想 / 戴尔、F2 华硕 / 惠普,可在开机 Logo 处查看),选择 “UEFI: USB” 启动项,进入 KylinOS 安装向导界面。
【图文建议】插入安装向导界面截图,标注 “启动项选择位置” 和 “UEFI 标识”。
- 选择安装语言(推荐 “中文(中国)”),点击 “下一步”,时区默认 “Asia/Shanghai”,日期时间同步系统时间即可。
- 磁盘分区(核心步骤):
【图文建议】插入手动分区界面截图,标注各分区的 “目录、大小、文件系统” 设置项。
- 新手推荐:“自动分区”(系统默认划分 /boot、/、swap、/home 分区,无需手动配置)
- 进阶用户手动分区方案(更适配服务器场景):
分区目录 | 大小 | 文件系统 | 用途 |
/boot | 500MB | ext4 | 引导分区,存放启动文件 |
/ | 40GB | ext4 | 系统根目录,安装操作系统核心文件 |
swap | 4GB | swap | 虚拟内存,内存不足时临时调用(建议为内存的 50%-100%) |
/home | 剩余空间 | ext4 | 用户数据目录,存放个人文件和应用数据 |
- 设置 root 密码(需满足复杂度:8 位以上,含大小写字母 + 数字 + 特殊符号)和普通用户账号(建议创建,避免直接使用 root 操作),点击 “开始安装”,等待 15-20 分钟(SSD 约 10 分钟),安装完成后点击 “重启”。
(三)常见问题解决
- 问题 1:开机无法识别 U 盘启动项 → 解决方案:检查主板 UEFI 是否开启,U 盘是否插在 USB 2.0 接口(部分 USB 3.0 接口兼容性不佳)。
- 问题 2:安装过程中提示 “磁盘空间不足” → 解决方案:删除硬盘原有分区(注意备份数据),确保空闲空间≥80GB。
- 问题 3:重启后进入 grub 引导界面(黑屏白字) → 解决方案:重新制作 U 盘镜像,或在分区时确保 /boot 分区为 500MB(过小会导致引导文件安装失败)。
四、核心功能与常用工具实战(附实操截图建议)
(一)基础命令操作(高频使用场景)
- 目录管理:
- cd /home:切换到 /home 目录(绝对路径,推荐使用,避免相对路径出错)
- ls -l:以列表形式显示目录内容(含权限、所有者、大小、修改时间)
- mkdir -p test/project:递归创建多级目录(直接mkdir无法创建多级)
- 文件操作:
- cp -r file1 /home/test:复制文件并保留目录结构(-r参数用于复制目录)
- mv file1 file2:重命名文件(同目录下)或移动文件(跨目录:mv file1 /home)
- rm -rf test:强制删除目录及所有子文件(-r递归删除,-f强制忽略提示,谨慎使用!)
- 系统状态查询:
【图文建议】插入top命令运行界面截图,标注 “CPU / 内存占用列” 和 “退出快捷键”。
- top:实时查看进程占用资源(按q退出,P按 CPU 排序,M按内存排序)
- free -h:以人性化单位显示内存使用(h=human,显示 GB/MB 而非 KB)
- df -h:查看磁盘分区使用情况(重点关注/分区剩余空间,不足 10GB 需清理)
(二)vim 编辑器使用(程序员必备)
- 基础操作流程:
- 打开 / 新建文件:vim test.txt(若文件不存在则新建,存在则打开)
- 编辑模式切换:按i进入插入模式(左下角显示 “-- 插入 --”),按Esc退出插入模式
- 保存与退出:
- :wq:保存并退出(write+quit)
- :q!:强制退出不保存(放弃修改,加!忽略提示)
- :w test_bak.txt:另存为新文件(不退出原文件)
- 实用技巧(提升编辑效率):
【图文建议】插入 vim 编辑界面截图,标注 “模式切换快捷键” 和 “常用命令输入位置”。
- 搜索:/关键词(例:/error),按n向下查找下一个,N向上查找
- 复制粘贴:yy复制当前行,3yy复制 3 行,p粘贴到光标下方
- 删除:dd删除当前行,dG删除从光标到文件末尾的所有内容
- 撤销 / 重做:u撤销上一步操作,Ctrl+r重做被撤销的操作
(三)用户与组管理(权限控制核心)
- 用户操作:
- useradd -m testuser:创建带家目录(/home/testuser)的用户(-m参数必加,否则无家目录)
- passwd testuser:设置用户密码(输入时不显示明文,需输入两次确认)
- userdel -r testuser:删除用户及家目录(-r参数避免残留文件)
- 组操作:
- groupadd testgroup:创建用户组
- usermod -G testgroup testuser:将 testuser 加入 testgroup 组(-G表示附加组,-g表示主组)
- groups testuser:查看用户所属组(输出例:testuser : testuser testgroup)
- 权限设置(文件 / 目录访问控制):
【技巧】权限数字对应关系:r=4,w=2,x=1,例:rwx=7,rw-=6,r--=4。
- chown testuser:testgroup file.txt:修改文件所有者为 testuser,所属组为 testgroup
- chmod 755 file.txt:设置文件权限(7 = 读 + 写 + 执行,5 = 读 + 执行,所有者 7,组用户 5,其他用户 5)
五、实战案例:Web 部署与 Shell 脚本自动化
(一)LAMP 环境部署(Linux+Apache+MariaDB+PHP)
- 安装依赖包(KylinOS 基于 CentOS,支持 yum 命令):
ba取消自动换行复制
yum install -y httpd mariadb-server php php-mysqlnd # php-mysqlnd为PHP连接MySQL的扩展
- 服务管理:
- 启动服务:systemctl start httpd mariadb
- 设置开机自启:systemctl enable httpd mariadb(避免重启后服务停止)
- 查看服务状态:systemctl status httpd(显示 “active (running)” 表示正常)
- 数据库初始化:
- 执行mysql_secure_installation,按提示完成以下配置:
- 输入 root 密码(初始为空,直接回车)
- 设置 root 新密码(建议与系统 root 密码区分)
- 选择 “Y” 删除匿名用户
- 选择 “Y” 禁止 root 远程登录(仅本地访问,提升安全性)
- 选择 “Y” 删除 test 数据库
- 选择 “Y” 刷新权限表
- 测试部署:
【图文建议】插入浏览器访问成功的截图,标注 “PHP 信息区域” 和 “数据库连接提示”。
- 创建测试文件:vim /var/www/html/index.php
- 写入内容(校验 PHP 环境和数据库连接):
php取消自动换行复制
phpinfo(); // 显示PHP配置信息
$conn = mysqli_connect("localhost", "root", "你的数据库密码");
if($conn) echo "数据库连接成功!";
else echo "数据库连接失败:" . mysqli_connect_error();
?>
- 访问测试:在浏览器输入服务器 IP(例:http://192.168.1.100),若显示 PHP 信息和 “数据库连接成功”,则部署完成。
(二)Shell 脚本自动化部署(提升效率,避免重复操作)
以下是优化后的 Web 环境部署脚本(deploy_web.sh),增加了错误处理和进度提示:
b取消自动换行复制
if [ $EUID -ne 0 ]; then
echo "错误:请使用root用户执行脚本(sudo ./deploy_web.sh)"
exit 1
fi
echo "===== 开始部署LAMP环境 ====="
# 安装依赖包,忽略无关警告
yum install -y httpd mariadb-server php php-mysqlnd > /dev/null 2>&1
# 启动服务并设置开机自启
systemctl start httpd mariadb
systemctl enable httpd mariadb > /dev/null 2>&1
# 配置防火墙(开放80端口,允许外部访问)
firewall-cmd --add-port=80/tcp --permanent > /dev/null 2>&1
firewall-cmd --reload > /dev/null 2>&1
# 创建测试文件
cat > /var/www/html/index.php << EOF
php
phpinfo();
?>
EOF
# 检查部署结果
if [ -f "/var/www/html/index.php" ] && systemctl is-active --quiet httpd; then
echo "===== LAMP环境部署成功!====="
echo "访问地址:http://$(hostname -I | awk '{print $1}')" # 自动获取服务器IP
else
echo "===== 部署失败,请检查日志或网络连接 ====="
exit 1
fi
脚本执行步骤:
- 创建脚本文件:vim deploy_web.sh
- 粘贴上述代码,保存退出(:wq)
- 添加执行权限:chmod +x deploy_web.sh(Linux 默认新建文件无执行权限)
- 运行脚本:./deploy_web.sh(root 用户可直接运行,普通用户需加sudo)
【图文建议】插入脚本执行过程截图,标注 “执行权限添加命令” 和 “部署成功提示”。
六、学习总结与进阶方向展望
通过《国产操作系统》课程的实操学习,我完成了从 “国产 OS 零基础” 到 “能独立部署 Web 服务” 的跨越,核心收获如下:
- 掌握了 KylinOS 的安装配置、命令操作、权限管理等基础技能,理解了国产操作系统与 Windows/Linux 的差异(如生态适配、安全机制);
- 解决了安装兼容、服务启动失败、数据库连接异常等多个实操问题,积累了 “报错排查” 的核心思路(查看日志→定位问题→搜索解决方案→验证效果);
- 体会到 Shell 脚本自动化的价值,将重复的部署操作简化为 “一键执行”,提升了工作效率。
后续进阶学习方向:
- 高阶磁盘管理:深入学习 RAID 0/1/5/10 阵列配置(服务器数据冗余备份核心技术)、LVM 逻辑卷管理(动态调整分区大小);
- 数据库迁移脚本:编写 MES 系统迁移所需的 MySQL/PostgreSQL 数据库备份、导入、同步脚本(含数据一致性校验);
- 容器化部署:学习在 KylinOS 上使用 Docker 部署 Web 应用,结合 Docker Compose 实现多服务联动(适配企业级微服务架构);
- 系统安全加固:研究 KylinOS 的防火墙规则配置、SELinux 安全机制、用户权限精细化管理(满足政企级安全需求)。
国产操作系统的发展正迎来黄金期,KylinOS 等产品已在政务、金融、能源等关键领域实现规模化应用。作为开发者,学习国产操作系统不仅是技能储备,更是参与自主可控技术生态建设的责任。未来我将持续深耕实战,分享更多国产化技术落地经验,与各位开发者共同推动国产 OS 生态完善。