1. RHEL9虚拟机环境搭建全流程
1.1 VMware虚拟机创建要点
在VMware Workstation Pro 17上新建虚拟机时,建议选择"自定义(高级)"配置模式。硬件配置方面,对于RHEL9系统:
- 处理器:至少分配2个核心(现代CPU建议开启虚拟化VT-x/AMD-V支持)
- 内存:开发环境建议4GB起步,生产环境测试建议8GB+
- 磁盘:选择SCSI控制器类型,建议40GB动态分配空间
- 网络适配器:NAT模式最易用(桥接模式需额外配置)
关键提示:创建完成后务必检查虚拟机设置里的"虚拟化引擎"选项,确保已勾选"虚拟化Intel VT-x/EPT或AMD-V/RVI",这是后续KVM虚拟化功能的基础。
安装源建议选择官方ISO镜像(如rhel-baseos-9.0-x86_64-dvd.iso),启动时会自动进入图形安装界面。遇到UEFI安全启动警告时,可选择暂时禁用(不影响大多数功能测试)。
1.2 磁盘分区方案设计
在"安装目的地"界面,选择"自定义"分区方案:
-
标准分区表布局:
- /boot:1GB(xfs格式,存放内核和引导文件)
- /:20GB(xfs格式,根目录)
- swap:内存的1.5倍(不超过8GB)
- /home:剩余空间(用户数据存储)
-
高级用户可考虑LVM方案:
bash复制
/dev/sda1 -> /boot (1GB) /dev/sda2 -> LVM PV (剩余全部) |- VG rhel_vg |- LV root (20GB) |- LV home (10GB) |- LV var (5GB)
实测发现:RHEL9默认使用xfs文件系统,相比ext4在处理大文件时性能更优。Kdump功能在测试环境建议关闭(节省内存),生产环境则应保留。
1.3 系统基础配置
安装过程中需要完成的关键配置:
- 时区设置:建议选择"亚洲/上海"并启用NTP同步
- 软件选择:基础环境选"带GUI的服务器",附加工具勾选"开发工具"
- 用户创建:
- 必须设置root密码(建议复杂度:大小写字母+数字+符号)
- 创建至少一个普通用户(加入wheel组以获得sudo权限)
- 网络配置:启用以太网连接(默认dhcp获取IP)
安装完成后,首次启动需接受许可证协议。建议运行subscription-manager register注册系统(评估版可跳过,但有30天使用限制)。
2. SSH服务深度配置指南
2.1 基础网络环境搭建
通过ip a命令查看获取的IP地址时,常见问题包括:
- 未显示IP地址:检查NetworkManager服务状态
bash复制
systemctl status NetworkManager nmcli device show - 仅有IPv6地址:编辑/etc/sysconfig/network-scripts/ifcfg-ensXX文件,添加:
ini复制BOOTPROTO=dhcp ONBOOT=yes IPV6INIT=no
如需静态IP配置,修改关键参数:
ini复制BOOTPROTO=none
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
2.2 SSH服务安全加固
RHEL9默认使用OpenSSH 8.7,建议进行以下安全配置:
-
修改/etc/ssh/sshd_config:
bash复制Port 2222 # 修改默认端口 PermitRootLogin no # 禁止root直接登录 PasswordAuthentication no # 强制密钥认证 AllowUsers your_username # 白名单控制 -
生成SSH密钥对(客户端执行):
bash复制ssh-keygen -t ed25519 -C "your_email@example.com" ssh-copy-id -p 2222 your_username@server_ip -
防火墙放行新端口:
bash复制
firewall-cmd --permanent --add-port=2222/tcp firewall-cmd --reload
排错技巧:遇到连接问题时可查看详细日志
journalctl -u sshd -f,常见错误包括SELinux阻止(用setenforce 0临时关闭测试)。
3. Linux文件系统实战操作
3.1 目录结构深度解析
RHEL9遵循FHS标准,关键目录作用:
- /opt:第三方软件安装目录(适合创建临时工作区)
- /tmp:系统临时文件(重启自动清理)
- /var:动态数据(日志、数据库等)
- /etc:配置文件集中地
- /boot:引导文件存放处
创建临时工作区的正确姿势:
bash复制mkdir -p /opt/tmp/project_{1..3} # 批量创建子目录
chmod 1777 /opt/tmp # 设置粘滞位(防止误删他人文件)
3.2 文件操作高阶技巧
-
快速创建测试文件:
bash复制dd if=/dev/zero of=a.txt bs=1M count=10 # 10MB空白文件 base64 /dev/urandom | head -c 1MB > b.txt # 1MB随机内容 -
批量重命名(借助rename工具):
bash复制yum install prename rename 's/\.jpeg$/\.jpg/' *.jpeg -
文件权限深度管理:
bash复制chattr +i important_file # 防止误删 setfacl -m u:user1:rwx shared_dir # ACL精细控制
4. Vim编辑器专业级使用
4.1 核心工作流优化
-
高效编辑三板斧:
- 快速跳转:
gg文件头,G文件尾,50%跳到中间 - 区块操作:
Ctrl+v进入可视块模式,I插入,d删除 - 宏录制:
qa开始录制到寄存器a,q停止,@a执行
- 快速跳转:
-
多文件编辑技巧:
bash复制vim -o file1 file2 # 水平分割 vim -O file1 file2 # 垂直分割 # 窗口间切换:Ctrl+w hjkl
4.2 高级配置方案
创建~/.vimrc个性化配置:
vim复制set nu " 显示行号
set tabstop=4 " Tab缩进4空格
set expandtab " Tab转空格
syntax on " 语法高亮
set hlsearch " 高亮搜索
map <F5> :w<CR>:!python %<CR> " 绑定运行快捷键
插件管理推荐使用vim-plug:
bash复制curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
5. 生产环境问题排查实录
5.1 SSH连接故障树
-
连接超时:
- 检查防火墙状态
firewall-cmd --list-all - 验证端口监听
ss -tulnp | grep ssh - 测试网络连通性
tcping server_ip 2222
- 检查防火墙状态
-
认证失败:
- 检查/var/log/secure日志
- 确认密钥权限
chmod 600 ~/.ssh/id_ed25519 - 验证SELinux上下文
restorecon -Rv ~/.ssh
5.2 文件系统异常处理
-
磁盘空间报警:
bash复制df -h # 查看分区使用 du -sh /* | sort -h # 定位大目录 lsof +L1 # 查找已删除但未释放的文件 -
文件恢复方案:
bash复制yum install extundelete # ext4恢复工具 extundelete /dev/sda1 --restore-file /path/to/file -
权限修复流程:
bash复制find /path -type d -exec chmod 755 {} \; # 目录权限 find /path -type f -exec chmod 644 {} \; # 文件权限 chown -R user:group /path # 所有权修正