FEATURED · 精选文章

CentOS停更替代方案:Rocky Linux从零到KVM虚拟化实战指南

发布时间 / 2026/9/16 0:37:40
来源 / 创域科博编辑部
栏目 / 资讯中心
CentOS停更替代方案:Rocky Linux从零到KVM虚拟化实战指南 “CentOS还能用吗”这是我近两年被问最多的一句话。如果你也是奔着这个问题点进来的那我直接给结论CentOS 8在2021年底就停止维护了CentOS 7也将在2024年6月正式退役。对于跑业务的服务器来说继续用等于裸奔。而Rocky Linux就是目前最接近CentOS的替代品——它是RHEL的二进制兼容发行版你可以把它理解成“CentOS换个名字继续活”。这套内容就是我从零开始摸Rocky Linux的完整记录从虚拟机安装到静态IP、从常用命令到软件部署、再到系统扩容和KVM虚拟化一条线走下来零基础看完也能动手搭一套自己的Linux环境。想转运维、准备面试、或者单纯想搞明白服务器里跑的东西都能从里边找到实操能用的东西。1. 为什么我一直劝你从CentOS切到Rocky1.1 CentOS停更后服务器系统怎么选这事得从头说清楚。Red Hat在2020年宣布将CentOS从“稳定发行版”调整为“滚动发行版”简单说就是从CentOS 8开始它不再是一个能稳定跑十年的系统了而是变成了RHEL的“上游测试版”。这对生产环境是致命的你永远不知道下一次yum update会把哪个包搞坏安全补丁也不能及时同步。CentOS 7虽然还能撑到最后但2024年6月30日之后官方源彻底关闭只能靠第三方源续命这对企业来说是巨大的风险。我当时评估过好几条路直接换Ubuntu Server社区活跃但命令风格和RHEL系差异较大老员工上手成本高换Debian稳定但资料少用 AlmaLinux 或 Rocky Linux都是RHEL的兼容分支。我最后选了Rocky原因是它的社区背景和品牌延续性——创始人是CentOS的联合创始人Gregory Kurtzer项目定位就是“CentOS停止后的社区企业Linux”。最关键的Rocky的软件包、命令、目录结构、内核参数和RHEL保持高度一致原来的CentOS脚本可以直接跑工单和文档也基本通用。1.2 Rocky Linux到底兼容到什么程度说“兼容”不是嘴上说说。我用Rocky 9.3和RHEL 9.3做过对比yum源指向换成RHEL的订阅源后系统更新能正常走通同一个编译好的rpm包在两者上都能安装依赖解析一致systemctl管理的服务名、防火墙规则写法、SELinux上下文几乎看不出差别。这意味着市面上所有针对CentOS的教程、书、面试题换到Rocky上依然百分之九十以上可用。版本选择上当前主流是Rocky 9.x系列基于RHEL 9内核较新对云服务器友好。如果是有老业务强依赖CentOS 7环境的可以选Rocky 8.x基于RHEL 8生命周期更长。下载建议直接走清华镜像站mirrors.tuna.tsinghua.edu.cn或者官方mirror sites选择对应的ISO镜像DVD版包含常用软件包Minimal版适合后面自己按需装。不推荐百度搜索下载站各种捆绑和旧版本踩坑成本极高。2. 先搭出第一台Rocky Linux环境2.1 用VMware Workstation创建虚拟机零基础建议先在虚拟机里玩弄坏了直接快照回滚比真机舒服一百倍。我用的是VMware Workstation 17VirtualBox也行但VMware的虚拟硬件兼容性更好。新建虚拟机时选“典型推荐”操作系统选“Red Hat Enterprise Linux 9 64位”因为Rocky就是RHEL的同胞兄弟。内存建议给4GBCPU给2核磁盘40GB网络选NAT模式。NAT模式下虚拟机通过宿主机上网虚拟机能访问外网外部访问不到虚拟机学习阶段很安全。下载好的Rocky 9.3 ISO镜像在CD/DVD选项里挂载上。启动虚拟机后安装界面选择“Install Rocky Linux 9.3”英文界面不用管不影响后续操作。安装过程中最容易卡住的是分区。新手别碰自定义分区直接用“自动配置分区”系统会自动创建boot、root、swap。如果以后要用KVM虚拟化记得手动留一块空闲磁盘空间后面专门给虚拟机磁盘文件用。安装过程中需要设置root密码和创建普通用户。这里有个细节root密码别设太简单否则安装程序会拒绝继续会提示弱密码要求确认。普通用户选“设为管理员”以便后面用sudo提权。安装完成后重启进入系统就是一个黑乎乎的字符界面。这很正常Minimal/DVD版默认不带图形界面。很多新手看到命令行就懵但Linux服务器本来就是命令行操作越早习惯越好。2.2 第一次登录后的三个必做配置进系统先做三件事固定IP、配置主机名、关闭SELinux或学会看它的状态。第一件事固定IP。VMware的NAT模式默认开DHCPIP地址重启后可能变。生产环境服务器IP必须固定这也是热词里大家都搜“rocky linux设置静态ip”的原因。我用nmcli操作这套命令是NetworkManager的标准接口比直接改网卡配置文件更不容易出错。先看网卡名nmcli device status显示ens33之类的名字后执行sudo nmcli connection modify ens33 ipv4.addresses 192.168.88.100/24 ipv4.gateway 192.168.88.2 ipv4.dns 223.5.5.5 ipv4.method manual sudo nmcli connection up ens33其中192.168.88.100是你要固定的IP网关和DNS按自己虚拟机网络配置来。改完用ip addr check一下IP没跑掉就说明生效了。第二件事改主机名sudo hostnamectl set-hostname rockserver第三件事SELinux默认为Enforcing新手跑服务时经常被权限拦住。学习阶段可以先把它设为Permissive只记录不阻止改配置文件/etc/selinux/config把SELINUXenforcing改成permissive重启后生效。生产环境建议保持Enforcing面试问到SELinux也要能说上两句它是RHEL系的安全基石。2.3 用SSH远程连接Rocky真实服务器都是通过SSH远程管理的不可能一直在屏幕前。Rocky默认安装了openssh-server但很多Minimal版初始未启动。先手动启动并设置自启sudo systemctl start sshd sudo systemctl enable sshd sudo systemctl status sshd启动成功后在Windows上用终端Windows Terminal或Xshell连接ssh root192.168.88.100这里有个最常见的坑连接直接报“Connection refused”。多半是sshd没启动或者防火墙拦了。查看防火墙状态sudo systemctl status firewalld sudo firewall-cmd --list-all如果没加过22端口执行sudo firewall-cmd --permanent --add-port22/tcp sudo firewall-cmd --reload还有朋友遇到“root连接不上”如果确认密码正确可能是/etc/ssh/sshd_config里PermitRootLogin被禁了。默认RHEL系从Rocky 9开始禁止root直接SSH登录安全考虑。如果要远程root登录编辑文件sudo vi /etc/ssh/sshd_config找到PermitRootLogin改成yes然后sudo systemctl restart sshd但更推荐用普通用户登录再sudo su切root安全习惯从一开始就养成。3. 零基础学Linux必须吃透的常用命令3.1 文件与目录操作要形成肌肉记忆命令不用全背日常就那几个pwd、cd、ls、cp、mv、rm、find。但每个命令都有几个“要命的参数”比如ls显示所有文件要用-a看详细信息用-lrm删除目录要加-r强制删除加-f生产环境慎用rm -rf是我的第一铁律。文件操作里理解路径是根本。相对路径和绝对路径的区别通过实战理解最快在家目录下用cd /etc进去再用cd ..回来多敲几次就明白了。权限这块三个字符一组分别对应属主、属组、其他人。r4、w2、x1的算法要记牢以后软件安装时报permission denied都用得上。查看文件内容cat是全部输出less分页浏览q退出tail -f动态看日志。写脚本时还会用到grep、awk、sed这三剑客零基础先把grep会用就行grep关键字文件配合-c数个数、配合-ri递归忽略大小写。3.2 软件包管理DNF才是Rocky的灵魂CentOS 7用的是yumRocky 9用dnf但其实在8开始官方就把dnf作为yum的底层实现直接敲yum也能跑不过dnf功能更强。我用dnf常用命令列出来sudo dnf install 包名 sudo dnf remove 包名 sudo dnf update sudo dnf search 关键字 sudo dnf info 包名 sudo dnf groupinstall Development Tools安装libreoffice这种大型办公套件直接sudo dnf install libreoffice它会自动解析几百个依赖这就是包管理器存在的意义。如果是在没外网的离线环境就需要rpm -ivh手动装依赖会让人崩溃。所以我强烈建议离线部署前先用dnf download把rpm包缓存在本地再拷贝到目标机器后面配合本地仓库处理依赖。热词里有人搜“rocky linux安装libreoffice_7.4.7.2_linux_x86-64_rpm”其实就是官网下的rpm包。安装有两种方式如果只是单个软件rpm -ivh xxx.rpm就完事如果要处理依赖最好建本地目录sudo dnf localinstall ./libreoffice*.rpmdnf会自动把当前目录下的rpm包作为依赖源解析比手工一个个按顺序装省心太多。3.3 用户、权限和进程管理是运维基本功创建用户useradd、删除用户userdel、改密码passwd。给用户sudo权限编辑/etc/sudoers或直接usermod -aG wheel用户名。Rocky默认允许wheel组免密或需密码sudo看版本。查看进程ps -ef | grep xxxtop动态看CPU内存kill杀进程。每个进程都有PID常用kill -9强杀但能优雅退出就用kill正常结束。查看端口占用ss -tlnp比如发现22端口没监听就能快速定位sshd进程是否挂了。网络相关ping、curl、wget、telnet基本够用。4. Rocky Linux进阶实操从静态IP到KVM虚拟化4.1 网络配置的两条路nmcli与配置文件前面提过nmcli改静态IP再补几个实用场景。修改DNSsudo nmcli connection modify ens33 ipv4.dns 223.5.5.5 8.8.8.8 sudo nmcli connection up ens33添加多IPsudo nmcli connection modify ens33 ipv4.addresses 192.168.88.101/24临时禁用网卡nmcli connection down ens33启用up相当于ifdown/ifup。如果nmcli改完系统不生效可以直接写网卡配置文件/etc/NetworkManager/system-connections/ens33.nmconnection或者老路径/etc/sysconfig/network-scripts/ifcfg-ens339版本仍兼容。有些朋友按网上教程改了ifcfg文件重启后NetworkManager可能覆盖配置所以最好用nmcli改或者改完执行nmcli connection reload并up。还有一个容易忽视的配置主机名解析。/etc/hosts文件里自己加一行192.168.88.100 rockserver很多服务启动时反查主机名对不上IP就会报错加这个能少踩很多坑。4.2 磁盘扩容从命令到实际场景虚拟机磁盘不够是很正常的事。我在实验中装了一堆软件后40G就剩下几个G。扩容分两步VMware层面先扩展磁盘容量然后进系统扩展分区和文件系统。VMware选虚拟机设置硬盘-扩展把40G改成60G。但注意这是对虚拟磁盘整体扩容系统里看到的新空间还是未分区域。进入系统后先看磁盘情况lsblk如果原来的分区是/dev/sda3占用整个空间但新空间在/dev/sda后面需要用growpart扩展分区sudo yum install -y cloud-utils-growpart sudo growpart /dev/sda 3 sudo xfs_growfs /Rocky默认文件系统是xfs扩展根分区直接用xfs_growfs。如果不小心把这步忘了df -h看到空间还是没变。之前我给CentOS扩容时遇到过“扩容后系统启动不了”原因是没用growpart直接fdisk删分区重建风险极高新手不要试还是growpart一条命令稳妥。4.3 在Rocky上部署KVM虚拟化KVM是Linux内核级虚拟化方案Rocky上部署非常顺手。先检查CPU是否支持虚拟化grep -E (vmx|svm) /proc/cpuinfo有输出就说明支持。安装依赖和虚拟化包sudo dnf install -y qemu-kvm libvirt virt-install bridge-utils sudo systemctl start libvirtd sudo systemctl enable libvirtd用virt-manager图形界面管理更直观但服务器上可以用命令。创建一台虚拟机需要先准备一个ISO镜像然后用virt-install命令sudo virt-install \ --name testvm \ --memory 2048 \ --vcpus 2 \ --disk path/var/lib/libvirt/images/testvm.qcow2,size20 \ --cdrom /tmp/Rocky-9.3-x86_64-minimal.iso \ --os-variant rocky9执行后会弹出一个VNC窗口进行安装。如果报错“Need at least one OS variant”说明--os-variant参数写错了先执行osinfo-query os查看系统列表。KVM跑起来的虚拟机对外需要网络默认是NAT。如果希望虚拟机跟宿主机同一网段直接对外访问要配置Linux bridge。这个稍复杂但生产环境常用。简单做法编辑/etc/qemu/bridge.conf确保允许br0再创建一个网桥。4.4 安装Python以及离线安装pnpm的技巧Rocky官方源里不一定有最新版Python。要用新特性时推荐用源码编译或官方提供的安装包。源码编译三步走wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tgz tar xf Python-3.12.2.tgz cd Python-3.12.2 ./configure --enable-optimizations make -j$(nproc) sudo make altinstallmake的过程可以喝杯茶。为什么不推荐直接用dnf install python3因为版本可能老。但如果是生产环境图稳定官方源里的python3就够用不用追新。离线安装pnpm的问题很多人搜过。pnpm本身是Node.js的包管理器离线环境先在有网的机器上准备npm包。先看离线机node版本然后在线机npm install -g pnpm --prefix /tmp/pnpm再把/tmp/pnpm整个目录打包拷贝到离线机配置NODE_PATH并把bin目录加进PATH。思路就是把整个包管理工具目录拷贝过去不依赖在线npm仓库。安装依赖时如果项目自带node_modules或者有离线镜像仓库pnpm install --offline可以生效。4.5 部署LibreOffice等办公套件装办公套件没那么玄乎但要注意依赖。Rocky 9可以直接sudo dnf install -y libreoffice装完执行libreoffice --version查看版本。如果是官网下载的rpm务必用dnf localinstall避免依赖地狱。有些人在无桌面服务器环境想用LibreOffice生成文件可以命令行转pdflibreoffice --headless --convert-to pdf test.docx这个在企业报表导出场景很常见学会这招以后给领导导文档都不用开图形界面。4.6 系统安全与面试常考的提权概念Linux提权是面试常考话题也是攻防场景下的关键概念。但必须强调学习提权是为了防御。常见提权方式有利用sudo配置不当、suid位文件、内核漏洞、环境变量劫持等。比如find命令带suid位就能借助find执行命令。防御就是定期审计/usr/bin下文件的suid权限find / -perm -4000 -type f -exec ls -la {} \;如果发现不应该带s位的程序就chmod u-s去掉。SELinux也要学会用getenforce、setenforce临时切状态。面试问“Linux做过什么安全加固”至少能答出关闭root远程登录、修改SSH端口、防火墙最小化放行、禁用无用服务。5. 常见问题与排查技巧实录5.1 连不上、IP不生效、安装卡住这些我都会报现象可能原因排查与解决SSH连接不上sshd未启动防火墙拦截systemctl status sshdfirewall-cmd --list-all放行22端口root登录被拒绝PermitRootLogin no编辑sshd_config改为yes重启sshd静态IP不生效NetworkManager覆盖配置用nmcli修改并reload或配置文件同时修改UUIDVMware虚拟机无网络网卡未激活nmcli device statusnmcli connection up ens33安装软件提示No match文件名拼错或软件源未启用dnf search搜索确认名字epel-release启用EPEL仓库dnf install报错源不存在或DNS问题检查/etc/resolv.conf更换阿里/清华镜像源磁盘空间未释放WSL场景虚拟磁盘未压缩在Windows中使用diskpart或wsl --shutdown后compact解压文件乱码zip编码问题使用unzip -O CP936 file.zip或者安装unzip后指定编码密码忘了单用户模式重置重启时编辑内核引导参数在末尾加rd.break进入emergency模式重置KVM启动失败嵌套虚拟化没开虚拟机设置勾选Hypervisor的“虚拟化Intel VT-x”逐个讲讲高发问题。静态IP不生效是热搜常客根源是NetworkManager版本升级后对配置文件的解析方式更严格。我给过不下十个人修复九成都是只改ifcfg文件但没同步给NetworkManager。经验就是先执行nmcli connection show确认连接名然后用nmcli改改完up别上来就摸配置文件。SSH登录慢也是常见病一登录卡几十秒才提示输密码。多半是sshd用了UseDNS yes解析客户端域名改成no即可echo UseDNS no /etc/ssh/sshd_config systemctl restart sshd5.2 镜像下载与换源的坑官网默认源在国外国内下载慢、更新超时。可用清华的镜像源直接替换Rocky的repo配置sudo sed -i s|^#baseurlhttp://dl.rockylinux.org/$contentdir|baseurlhttps://mirrors.tuna.tsinghua.edu.cn/rocky|g /etc/yum.repos.d/Rocky-*.repo sudo sed -i s|^mirrorlist|#mirrorlist|g /etc/yum.repos.d/Rocky-*.repo sudo dnf makecache替换后更新速度肉眼可见提升。注意只改Rocky的repo文件不要动epel的源否则epel源里的依赖还是走得慢。也可以直接安装epel-release再配合epel镜像源。5.3 一台虚拟机的完整学习路线建议最后给零基础朋友我自己的路线规划第一周安装系统、熟悉命令、学会联网和配置IP。第二周玩转用户权限、文件系统、文本操作至少把grep、find、管道用熟。第三周搭建一个LAMP/LNMP环境哪怕只是静态网站也算入了门。第四周尝试KVM虚拟化在一台机器上再跑两台虚拟机。第五周啃SELinux和防火墙看安全日志。不要一口气买七八本大部头书先用虚拟机跑起来遇到问题用搜索引擎查具体报错边踩坑边记录。我在学的时候把常用命令塞进一个速查表现在分享给大家也没问题但更鼓励自己整理自己过一遍脑子的东西记得才牢。我个人在实际操作中的体会是Rocky Linux跟CentOS长得实在太像了以至于切换几乎无痛但它背后的更新机制和社区活跃度比老CentOS健康太多。这套系统只要你能踏实搭完环境后续无论转云原生还是运维开发地基都扎实了。最后再分享一个小技巧每个实验快照都打一个等后面出问题时一个快照回滚胜过所有排查技巧。学习Linux最大的敌人不是命令难记而是“不敢乱搞”快照能帮你把“乱搞”变成最有效的学习方式。
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻