
自己装服务器系统这事我一直建议身边的朋友优先考虑 RockyLinux。CentOS 停更之后大家总得找个稳的接班系统RockyLinux 就是那个几乎无缝衔接的选项——它是 RHEL 的 1:1 兼容发行版社区维护免费行为习惯和 CentOS 一模一样迁移成本极低。我自己从 CentOS 7 切过来只用了一个下午配置基本没改。这篇文章我就把从零安装 RockyLinux 的完整过程捋一遍包括前期准备、虚拟机和物理机两种场景、安装后的基础设置、开发环境搭建还有我踩过的那些坑。不管你是刚接触 Linux 的新手还是准备替换服务器系统的运维照着走都能装出一个能用的系统。1. 安装前的准备工作1.1 为什么 RockyLinux 会成为首选很多人在 CentOS 停更后纠结换哪家我直接说答案图省心就选 RockyLinux。这款系统由 CentOS 原联合创始人 Gregory Kurtzer 发起目的就是把 CentOS 当初最接近 RHEL 又能免费长期用的定位继承下来。它和 RHEL 保持二进制兼容也就是说你在 RHEL 上能跑的软件包在 RockyLinux 上基本都能直接安装运行这对于生产环境迁移特别重要。和 Ubuntu 这类 Debian 分支相比RockyLinux 更适合那种装完就不想频繁折腾的场景。Ubuntu 胜在软件新、社区资料多但版本升级节奏快隔两年就提示你大版本更新企业环境不一定跟得上。RockyLinux 走的是稳定路线内核和核心软件版本相对保守换来的是长生命周期支持每个大版本都提供长达 10 年的维护周期这正好对上了服务器的需求。另外如果你之前用惯了 CentOS 的 yum 命令RockyLinux 会让你毫无违和感。它沿用 yum/dnf 包管理器、firewalld 防火墙、SELinux 安全策略连配置文件路径都是熟悉的/etc/httpd、/etc/nginx这些。我自己的感觉是从 CentOS 迁移到 RockyLinux基本不需要重新学任何东西把源改一下就行。1.2 镜像下载与校验安装前第一件事是下载镜像。RockyLinux 目前主流版本是 9.x我建议新装机直接选 9.4 或更新的 9.x 版本生命周期更长。如果你是替旧机器装也可以去官网找 8.x 的镜像但新项目没必要用旧版。下载地址是https://rockylinux.org/download页面里会列出多个镜像源。国内用户可以选离自己近的镜像站比如清华源、阿里源、网易源速度会快很多。ISO 镜像一般有以下几种类型Rocky-9.4-x86_64-minimal.iso最小化安装镜像文件小适合服务器场景。Rocky-9.4-x86_64-dvd.iso完整 DVD 镜像包含常见软件包支持离线安装。Rocky-9.4-x86_64-boot.iso网络安装镜像安装过程需要联网下载软件包。我个人推荐服务器用 minimal 或 dvd如果网络条件好就选 minimal干净如果不想安装时等下载就选 dvd。ISO 文件下载完建议先做一下校验防止下载过程中文件损坏官方页面提供了 SHA256 校验值Linux 上可以直接用sha256sum命令核对Windows 上可以用 PowerShell 的Get-FileHash命令。1.3 安装方式怎么选物理机、虚拟机还是云服务器RockyLinux 支持多种安装方式选哪种取决于你的实际场景我三种都试过分别说下体验。物理机安装是最直接的方式。用 Rufus 或 balenaEtcher 把 ISO 写入 U 盘然后进 BIOS 设置 U 盘启动就能进入安装界面。如果你是要装双系统或者整套更换服务器U 盘安装最快缺点是安装过程中如果有硬件兼容性小毛病排查起来比较费劲。虚拟机安装则适合想先体验系统、做实验或日常开发的人。我用的是 VMware Workstation装 RockyLinux 有个额外的优势可以直接安装 open-vm-tools实现虚拟机与宿主机之间的共享文件夹、拖拽文件、自适应分辨率这些功能非常方便。你在 VMware 里新建虚拟机时操作系统类型选择Red Hat Enterprise Linux 8.x 64 位或 9.x 64 位即可RockyLinux 和 RHEL 同源直接选这个选项 VMware 能自动匹配推荐配置。云服务器场景就更简单了阿里云、腾讯云、AWS 的控制台里都能找到 RockyLinux 镜像创建实例时选一下就行通常会预装 cloud-init启动后直接用 SSH 登录不需要经历本地安装过程。不过如果你想了解系统底层是怎么装起来的我还是建议先在虚拟机里完整走一遍安装流程。2. 安装过程全流程实操2.1 引导界面与安装语言选择ISO 启动后会进入 GRUB 引导界面第一项是Install Rocky Linux 9.4直接回车进入安装流程。如果你需要检测镜像完整性可以选第三项Test this media install它会花几分钟校验 ISO确认没问题再继续。新下载的镜像一般都不会出错但如果你是拿移动硬盘反复拷贝过、不太放心镜像文件的完整性建议花这几分钟做一次校验。进入图形化安装界面后第一步是选择安装语言。这一页选的是安装过程的语言不是系统最终的语言所以选中文或英文都可以。我习惯选英文因为安装完成后终端里的报错信息都是英文遇到问题方便直接复制报错内容去搜索如果选中文界面是友好一些但在部分终端场景下偶尔会出现字符集显示的小问题。对新手来说选中文能减少心理压力这个看个人偏好。选完语言后点击继续会进入一个安装信息摘要总览页这才是真正需要逐项确认的地方。2.2 安装信息摘要网络、软件与分区安装信息摘要页罗列了所有需要配置的项目包括键盘布局、语言支持、时间与日期、安装源、软件选择、安装目的地、root 密码、用户创建等。默认情况下除了 root 密码和用户创建其他项目都有预设值但有几个地方我建议你手动改一下别全用默认。先说时间与日期。默认时区通常是美国的 UTC 时间你需要在地图上找到上海或直接搜索 Asia/Shanghai选对时区很重要否则系统时间和你的实际时间会差 8 个小时后面定时任务、日志排查全都会被带偏。网络这栏值得提前打开。在安装摘要页底部你会看到网络与主机名选项点进去把右上角的以太网开关打开确保 DHCP 能分配到 IP 地址然后顺手设置一个主机名。安装前就把网络配好有两个好处一是安装过程能在线拿到系统更新二是装完重启就能直接联网省去第一次进系统还要爬起来的麻烦。接下来是软件选择这一步决定了系统装完自带哪些组件。如果你是按服务器标准来的选最小安装Minimal Install它只装最基础的软件包没有图形界面系统干净、占资源少、攻击面也小。如果你是想体验桌面环境或者把 RockyLinux 当日常开发机用可以选带 GUI 的服务器Server with GUI或工作站Workstation前者带 GNOME 图形界面后者再加一些多媒体和办公软件。我自己的习惯是服务器一律最小化安装后面需要什么再用 dnf 现装这样系统最干净。然后是安装目的地也就是分区。如果你是首次安装用默认的自动配置分区就行安装器会根据磁盘情况自动划分 LVM 逻辑卷省心。但如果是服务器生产环境我强烈建议手动分区把/、/boot、swap分开规划。手动分区的方法是在安装目的地界面选择自定义然后点完成进入分区界面。这里我一般这么分/boot给 1GB 足够它只存放内核和引导文件不需要太大。/剩余空间的大头都给根分区系统文件、软件、日志都在这里。swap内存小于 2GB 的机器给 2GB内存大于 8GB 的机器给 8GB 左右即可。如果你打算后续跑数据库swap 给 8GB 兜底防止内存峰值时 OOM。关于 swap 分区要不要单独分网上说法不一。我实际遇到的情况是内存足够大的机器swap 用得确实很少但没有 swap 的话某次内存瞬间打满可能会直接触发 OOM Killer 把关键进程杀掉。所以我会留个 2-8GB 的 swap 作兜底值这个空间。2.3 root 密码与普通用户的设置在安装摘要页点击Root 密码设置 root 用户的密码。这里有个很容易踩的坑安装器默认启用密码强度检查如果你设置一个过于简单的弱密码比如 123456它会提示你密码太弱是否仍要使用你需要点两次确认才能通过。新手容易卡在这一步不明白为什么输了密码过不去其实就是为了安全考虑。生产环境我建议用至少 12 位、包含大小写字母数字特殊字符的强密码。如果是自己虚拟机里学习用密码可以适当简单些但别用那种一目了然的。创建用户环节在安装摘要页点击用户创建填写用户名设置密码。注意有一个选项是将此用户设为管理员勾选后该用户会被加入wheel组获得 sudo 权限。我一般都会勾选因为日常操作不应该一直用 root正确习惯是普通用户 sudo 提权既能防误操作又能保留审计记录。2.4 开始安装与首次启动以上配置都完成后点开始安装安装器会进入进度条阶段同时显示正在写入的系统日志。此时你可以点击左侧的Root 密码和用户创建再次修改因为系统的安装过程还在进行中。等进度条跑完点重启系统然后记得在虚拟机的 DVD 光驱里把 ISO 弹出或者物理机拔掉 U 盘否则重启后可能又会进入安装界面。重启后你会看到 RockyLinux 的 GRUB 菜单正常启动就能进入命令行登录界面或者图形登录界面如果选了 GUI。首次登录后用dnf update更新系统补丁这是我最先做的事。3. 安装后的系统基础配置3.1 网络与主机名用 nmcli 配置静态 IP安装完成后如果你在安装阶段没开网络现在需要先配置网络。RockyLinux 网络管理默认走 NetworkManager直接用nmcli命令操作最方便。先看一下当前网卡名称和状态nmcli device status通常你会看到类似ens160或enp0s3这样的网卡名。如果网卡没启动先把它启用nmcli device connect ens160如果你的网络环境是 DHCP比如家用路由器这样就已经能上网了用ip addr查看 IP 即可。但如果是服务器我建议设置静态 IP防止重启后 IP 变化导致远程连不上。用nmcli修改网卡配置nmcli con mod ens160 ipv4.addresses 192.168.1.100/24 nmcli con mod ens160 ipv4.gateway 192.168.1.1 nmcli con mod ens160 ipv4.dns 223.5.5.5 nmcli con mod ens160 ipv4.method manual nmcli con up ens160这里223.5.5.5是阿里公共 DNS你也可以用114.114.114.114或8.8.8.8。设置完成后用ping -c 4 baidu.com测试外网连通性能通就说明网络配置成功。如果你的环境用的是固定网关和 DNS把对应 IP 换成自己的即可。修改主机名可以用hostnamectl set-hostname rocky-server改完重新登录终端提示符就会显示新的主机名。3.2 SSH 远程连接与安全加固服务器装完十有八九是要远程管理的SSH 服务必须配好。最小化安装的 RockyLinux 默认可能没装 openssh-server先确认一下dnf install -y openssh-server systemctl start sshd systemctl enable sshd启动后在 Windows 上用 Xshell、FinalShell 或者直接用 PowerShell 的ssh root192.168.1.100就能连上了。不过我强烈建议做两件安全加固的事都是实际生产环境中血的教训。第一件禁止 root 直接 SSH 登录。编辑/etc/ssh/sshd_config找到PermitRootLogin这一行改成PermitRootLogin no然后重启 sshd 服务systemctl restart sshd这样 root 就不能远程登录了日常操作先登录普通用户再需要权限时sudo提权。这个操作能挡住大量恶意扫描。第二件配置 SSH 密钥登录。在本地电脑上生成密钥对ssh-keygen -t rsa -b 4096然后把公钥拷到服务器的用户授权文件里ssh-copy-id user192.168.1.100之后登录就不再需要密码安全性和便利性都提升了。如果你用的是 Windows 的 PowerShell 或 WSLssh-copy-id不一定直接可用可以手动把公钥内容追加到服务器~/.ssh/authorized_keys文件里记得把该文件权限设为 600、.ssh目录权限设为 700。3.3 软件源配置与 dnf 常用操作RockyLinux 默认启用了官方源和 AppStream 应用流源国内访问速度通常只能算凑合如果你发现dnf install速度很慢建议换成国内镜像源。换源的最简单方法是直接用 sed 批量替换比如换成清华源sed -e s|^mirrorlist|#mirrorlist|g \ -e s|^#baseurlhttp://dl.rockylinux.org/$contentdir|baseurlhttps://mirrors.tuna.tsinghua.edu.cn/rocky|g \ -i.bak \ /etc/yum.repos.d/rocky*.repo然后清理缓存并更新dnf clean all dnf makecache dnf update -y这里解释一下dnf update -y的作用它会将系统内所有已安装软件包升级到仓库中的最新版本包括内核。如果你的服务器是运行关键业务的生产环境升级内核后需要重启机器才能生效所以生产机上做更新要选好窗口期。dnf 的几个常用命令也顺手列一下dnf search 关键词搜索软件包。dnf info 包名查看软件包详细信息。dnf install -y 包名安装软件包。dnf remove 包名卸载软件包。dnf history查看安装历史方便回滚。3.4 虚拟机用户注意open-vm-tools 与共享文件夹如果你是在 VMware 里装的 RockyLinux安装完系统后我最建议先装 open-vm-tools它能让虚拟机运行更流畅、支持分辨率自适应还能开共享文件夹。安装命令dnf install -y open-vm-tools装完重启或执行systemctl restart vmtoolsd使其生效。这时候你再打开 VMware 的虚拟机设置在选项→共享文件夹里添加一个宿主机目录然后在 RockyLinux 里挂载sudo mkdir -p /mnt/hgfs sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid1000这里.host:/表示宿主机上所有共享的根目录挂载到/mnt/hgfs后就能看到你在 VMware 里配置的共享文件夹了。如果你希望每次开机自动挂载可以把挂载命令写入/etc/fstab但要注意 fstab 写错可能导致无法开机动手前务必先备份sudo cp /etc/fstab /etc/fstab.bak4. 常用开发与运维环境搭建4.1 Git 安装与全局配置系统装完第一步装 Git这几乎是所有开发和运维工作的前提。RockyLinux 仓库里自带 Git直接安装dnf install -y git安装完先做全局配置把提交者信息设好git config --global user.name 你的名字 git config --global user.email 你的邮箱再配置一下默认分支名和常用别名git config --global init.defaultBranch main git config --global alias.co checkout git config --global alias.br branch git config --global alias.st status检查配置是否生效git config --list到这里 Git 就能正常使用了git clone、git pull、git push都应付得来。4.2 Python 开发环境版本选择与 venv 虚拟环境RockyLinux 9 自带的 Python 版本是 3.9对于大多数开发和运维脚本来说够用了直接安装dnf install -y python3 python3-pip验证版本python3 --version pip3 --version需要注意的是RockyLinux 对系统 Python 环境做了保护不建议直接用pip3 install往系统环境里装包容易与 dnf 管理的包冲突。官方推荐的方式是用虚拟环境venv或pipx。创建项目虚拟环境mkdir -p ~/myproject cd ~/myproject python3 -m venv .venv source .venv/bin/activate虚拟环境激活后提示符前面会出现(.venv)此时再用pip install安装的包都会隔离在这个项目目录下不会污染系统 Python。项目做完用deactivate退出即可。如果你有特殊的 Python 版本需求比如项目要跑 Python 3.11可以使用dnf module切换模块流。RockyLinux 的 AppStream 支持多版本模块先看一下可用版本dnf module list python3*然后用dnf module enable python3:3.11启用对应版本再安装即可。这个方法比源码编译省事太多强烈推荐优先尝试。4.3 Node.js 安装dnf 模块流与 nvm 两种方案Node.js 安装同样推荐优先用 dnf 模块流。RockyLinux 9 默认提供了 Node.js 18 和 20 的模块查看可用版本dnf module list nodejs我通常直接启用默认的 nodejs 20dnf module enable -y nodejs:20 dnf install -y nodejs验证安装node -v npm -v不过这里有个坑要提醒你通过 dnf 安装的 Node.js 是全局系统版本如果你同时维护多个项目不同项目依赖的 Node 版本可能不一样比如老项目要 Node 16新项目要 Node 20这时直接用系统全局版本会很难受。这种情况我推荐用 nvmNode Version Manager来管理。nvm 是用户态的版本管理器安装方式curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash安装完成后重新加载 bash 配置source ~/.bashrc然后用 nvm 安装指定版本nvm install 20 nvm use 20 nvm alias default 20nvm 的方式可以随时切换版本互不干扰对前端开发者或者维护多项目的运维来说更灵活。要注意的是nvm 的脚本可能需要科学访问 GitHub如果拉取失败可以手动下载脚本执行这个文章后面会单独讲。4.4 MySQL 8 安装与初始化数据库这步我单拎出来说因为它是很多应用的基础。RockyLinux 默认仓库里就有 MySQL 8直接安装dnf install -y mysql-server安装完启动服务并设为开机自启systemctl start mysqld systemctl enable mysqld检查服务状态systemctl status mysqldMySQL 初次安装后root 用户默认密码是在日志里生成的执行以下命令查看grep temporary password /var/log/mysqld.log然后用临时密码登录mysql -u root -p登录后第一件事是修改 root 密码因为临时密码过期后无法执行任何语句ALTER USER rootlocalhost IDENTIFIED BY 你的新密码;MySQL 8 默认开启了密码强度校验插件密码要求比较严格必须包含大小写字母、数字和特殊字符长度至少 8 位。如果你确实不想被这个策略限制可以降低密码校验等级SET GLOBAL validate_password.policy LOW;修改后就能设置相对简单的密码了但生产环境我还是不建议这么做。接下来创建一个应用专用数据库和用户CREATE DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER appuserlocalhost IDENTIFIED BY AppPass2024; GRANT ALL PRIVILEGES ON myapp.* TO appuserlocalhost; FLUSH PRIVILEGES;日常开发中尽量不要直接用 root 连接数据库权限最小化是基本原则。远程连接 MySQL 需要额外开放防火墙端口这个在后面的防火墙章节会提到。4.5 代码编辑器与 AI 编程工具很多习惯图形界面的开发者用最小化安装可能不适应但服务器场景我确实不推荐强行装桌面。不过代码编辑器还是可以有的如果你在 RockyLinux 上做开发VS Code 是个不错的选择。安装方式官方支持两种一种是下载微软仓库配置脚本后通过 dnf 安装sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c echo -e [code]\nnameVS Code\nbaseurlhttps://packages.microsoft.com/yumrepos/vscode\nenabled1\ngpgcheck1\ngpgkeyhttps://packages.microsoft.com/keys/microsoft.asc /etc/yum.repos.d/vscode.repo sudo dnf check-update sudo dnf install -y code这种方式的好处是后续dnf update会顺手升级 VS Code。安装完成后在终端直接输入code启动。由于是远程服务器场景你也可以配合 VS Code 的 Remote-SSH 插件在本地编辑远程代码这个体验我用下来非常顺手比在服务器上装图形界面舒服多了。另外最近两年 AI 编程工具在开发圈非常火其中 Claude Code 和 Codex 都支持在 Linux 上通过 npm 或原生脚本方式安装。以 Codex 为例可以通过 npm 全局安装npm install -g openai/codex对于使用这些 AI 工具我的建议是日常写脚本、写测试、查函数用法时可以大幅提升效率但生产环境的敏感项目还是需要人工仔细 review 每一行生成代码不要盲目信任。5. Docker 环境部署与容器化应用实践5.1 Docker 官方源安装现在部署应用Docker 已经是绕不开的基础设施了。RockyLinux 仓库里自带的docker包比较老我建议用 Docker 官方源装最新版这才是常规操作。先安装仓库配置工具并添加官方源dnf install -y dnf-utils dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo注意这里用的是centos路径不要惊讶Docker 官方把 EL 系发行版RHEL、CentOS、RockyLinux共用一个仓库。然后安装 Docker 引擎dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin启动服务并设置开机自启systemctl start docker systemctl enable docker检查 Docker 是否安装成功docker --version docker run hello-world如果hello-world能正常输出那段提示文字说明 Docker 已正常工作。5.2 配置镜像加速与基础运维在国内环境拉取 Docker Hub 镜像经常很慢我强烈建议配置镜像加速器。编辑/etc/docker/daemon.json没有就新建{ registry-mirrors: [ https://docker.m.daocloud.io, https://dockerproxy.com ] }配置完重启 Dockersystemctl daemon-reload systemctl restart docker这里要说明镜像加速源很多可靠性参差不齐如果你所在网络访问某个加速源慢或失效换一个即可。另外docker-compose插件已经随 docker-ce 一起装了直接docker compose version确认。几个我在日常运维中高频使用的 Docker 命令docker ps -a查看所有容器。docker logs -f 容器名实时查看容器日志。docker exec -it 容器名 /bin/bash进入容器内部调试。docker inspect 容器名查看容器详细信息。docker system prune清理停止的容器、无用网络和缓存镜像定期执行能节省大量磁盘空间。5.3 用 Docker 快速部署一个 Nginx 验证环境环境装好了实际跑一个 Nginx 容器验证整个链路docker run -d --name web-server -p 8080:80 -v /opt/nginx/html:/usr/share/nginx/html:ro nginx:alpine这条命令的含义是以后台模式运行一个名为 web-server 的容器把宿主机 8080 端口映射到容器 80 端口并把宿主机的/opt/nginx/html目录挂载到容器的网站根目录只读挂载。先在宿主机放一个测试页面mkdir -p /opt/nginx/html echo h1RockyLinux Docker Test/h1 /opt/nginx/html/index.html然后访问http://你的IP:8080如果能看到页面上的内容说明 Docker 部署成功。到这里一套完整的部署链路已经跑通了。6. 常见问题与排查技巧实录6.1 网卡未开启导致无法联网这是装完 RockyLinux 后最常见的问题。现象是ip addr看不到网卡 IP或者 ping 不通外网。绝大多数原因是 NetworkManager 认为网卡未激活。排查步骤nmcli device status如果看到网卡状态是disconnected执行nmcli device connect 网卡名如果提示设备未被管理检查 NetworkManager 服务是否运行systemctl status NetworkManager有些最小化安装甚至没有启用 NetworkManager直接systemctl start NetworkManager systemctl enable NetworkManager然后再用nmcli连接。我遇到过一次更隐蔽的情况在 VMware 里安装时选择网络模式为桥接但本机无线网卡方式比较特殊物理机换了网络环境后虚拟机网卡就掉线了。这种时候把虚拟机的网络模式改成 NAT 反而更稳定。6.2 密码强度不足导致设置失败这个问题安装阶段就会碰到。当你输入 root 密码时如果系统提示密码太弱需要点击两次完成按钮。Anaconda 安装器先会弹一次确认再点一次才真正接受弱密码。网上有人说可以直接绕过但我建议生产环境还是老老实实使用强密码。如果真的只是本地实验环境可以接受弱密码也要明白后续如果暴露到公网这个弱密码分分钟会被扫描工具破解。6.3 安装目的地磁盘选择错误有次我给一台旧笔记本装 RockyLinux机器上插着两块硬盘一块 120G SSD一块 500G 机械盘。我本想把系统装在 SSD 上结果安装时没注意选中了机械盘装完才发现系统跑在机械盘上启动和软件运行都特别慢。所以安装到安装目的地那一步时一定要先确认选中的磁盘对不对再决定是否勾选自动配置分区。如果你的机器上有数据盘尤其要小心别让安装器把数据盘整块覆盖掉。手动分区界面里可以清楚看到每块磁盘的型号和容量对照着选就不会错。6.4 dnf 安装软件报错或者源失效RockyLinux 换源后偶尔会遇到元数据下载失败的问题表现为dnf update卡住或直接报Error: Failed to download metadata for repo。常见原因有两个一是源配置里的 URL 写错了二是缓存坏了。处理思路是先清理缓存再重新生成dnf clean all dnf makecache如果还是报错检查/etc/yum.repos.d/下的.repo文件看 baseurl 是否真的能访问。可以用curl直接测试curl -I https://mirrors.tuna.tsinghua.edu.cn/rocky/能返回 200 就说明网络没问题问题多半出在配置文件。说到这个建议新手修改源配置之前先备份方便出错时恢复原状。6.5 根分区被写满的排查方法服务器跑一段时间后系统可能突然变卡或者服务报错无法写入文件这种时候第一反应应该是查磁盘占用df -h如果发现根分区使用率 100%接下来找大文件在哪里du -xh --max-depth1 / | sort -rh | head -20通常的罪魁祸首是日志目录/var/log、容器数据目录/var/lib/docker或者临时目录/tmp。如果是日志导致的可以考虑清理日志或配置 logrotate 策略如果是 Docker 数据可以执行docker system prune、docker system df检查占用情况。我发现很多运维新手栽在这个问题上其实提前设置 Logrotate 就能避免。编辑/etc/logrotate.d/里的配置确保日志按周切割并保留 4 份左右这个习惯能显著降低磁盘写满的几率。6.6 和宿主机之间的共享文件夹挂载失败VMware 共享文件夹是虚拟机用户的高频需求但挂载失败的情况也很常见。确认已经安装了 open-vm-tools关键是有vmhgfs-fuse这个命令。确认 VMware 虚拟机设置中确实添加了共享文件夹并且勾选了启用。确认挂载目录存在/mnt/hgfs是默认挂载点你需要先mkdir -p。如果提示fuse: device not found可能是 fuse 内核模块没加载先执行modprobe fuse再试。共享文件夹偶尔还会遇到中文文件名显示乱码的问题可以尝试挂载时加-o iocharsetutf8参数但这个依赖文件系统支持不一定都有效。说实话如果只是传文件用scp或rsync往往更可靠共享文件夹适合开发时实时编辑代码的场景。6.7 环境变量与 PATH 配置小坑安装 Node.js、Python 或独立的二进制工具后偶尔会出现command not found的情况明明安装成功了却找不到命令这通常是 PATH 环境变量的问题。先看当前 shell 搜索哪些路径echo $PATH如果是用户自定义安装的软件比如解压到/opt或~/bin需要把目录加入 PATH。可以写在/etc/profile.d/下新建一个.sh文件比如echo export PATH$PATH:/opt/myapp/bin | sudo tee /etc/profile.d/myapp.sh然后重新登录即可生效。不要直接改系统级的profile文件因为发行版升级重写这个文件时会把你加的内容抹掉单独建一个profile.d文件才是正规做法。踩过这个坑后我每次安装自定义软件都会顺手处理 PATH这个习惯能帮你省下不少查错时间。写在最后RockyLinux 的整体安装和 CentOS 非常接近所以如果你是老 CentOS 用户这一路下来基本没有陌生感。但我在实际使用中最大的体会是真正麻烦的不是安装系统本身而是安装完之后的细节配置——网络是否稳定、源是否靠谱、安全策略是否到位、日志是否会撑爆磁盘。这些问题每一样都值得认真对待。我见过一些人装完系统就直接放着不管结果过两周发现磁盘写满、服务全挂再回头排查时一头雾水。如果你准备在生产环境使用 RockyLinux建议把系统更新、日志清理、定期备份这些都纳入日常计划不要等到出了问题再来补救。最后再分享一个小技巧把系统安装过程中每一步的关键命令都记录到自己的笔记里比如分区方案、网络配置、源配置、防火墙规则这些信息在系统出问题时就是你的救命稻草。至少我自己是靠这份笔记在几次服务器故障里快速恢复了环境希望这篇文章也能成为你搭建 RockyLinux 环境时的一份可用参考。