做过多年系统运维和IT培训的朋友应该都有同感:RHEL 6.9这个版本,放在今天看已经算“老古董”了,但在不少企业存量服务器、考试环境、老旧工控机上,它依然还在勤勤恳恳地干活。这篇东西就是冲着“超详细”三个字来的,我会把RedHat 6.9 X86-64从引导启动到装完系统、再到基础配置的完整流程捋一遍,包括每一步为什么要这么选、选错了会发生什么,以及我这些年实际踩过的坑。不论你是刚接触Linux的新手,还是偶尔需要给旧机器装系统的运维,这篇都能当一份可查的实操手册用。
和装Ubuntu这类Debian系系统不同,RedHat 6.9的安装流程更“传统”,磁盘分区、引导程序、软件包选择都需要手动确认的地方更多,但也正因为这样,走完一遍你对系统引导、分区结构、RPM体系的理解会比看十篇理论文章都深刻。
1. 准备工作与安装环境规划
1.1 到底什么是RHEL 6.9,为什么还在用它
RHEL是Red Hat Enterprise Linux的缩写,也就是红帽企业版Linux。6.9是RHEL 6这个大版本里的第9次更新,内核版本是2.6.32-696,发布于2017年。注意,它不是独立的新系统,而是6系列的生命周期维护版本,修复了大量安全漏洞和硬件兼容问题,所以很多当年部署的服务器,最后都停在6.9这个版本上。
为什么现在还有人在装它?我实际遇到的情况主要有三类:
- 企业里有一批老应用,只认证过RHEL 6.x,换了新版本系统应用跑不起来。
- 一些培训机构和考试环境,明确要求使用RHEL 6.9作为练习平台,因为很多教材和题库都是基于这个版本写的。
- x86-64架构的老服务器、瘦客户机、工控设备,硬件驱动对高版本Linux支持反而不如RHEL 6.9完善。
另外,RHEL 6.9和CentOS 6.9在二进制层面基本兼容,如果你只是个人学习用途,用CentOS 6.9的镜像练习这套流程完全没问题;如果是在企业生产环境使用,请注意RHEL的商业订阅授权要求,我这里只聊技术安装,授权事宜需要你根据实际情况落实。
1.2 硬件要求和兼容性判断
RHEL 6.9的官方最低硬件要求不高:内存至少1GB(装图形界面建议2GB以上),磁盘空间至少10GB,x86-64处理器。但在真实安装前,我建议多做一步硬件兼容性确认,否则装到一半卡住很难受。
根据我自己的经验,重点检查三个地方:
- 主板引导模式:RHEL 6.9的安装程序对UEFI支持不太好,默认只装了grub-legacy引导,UEFI环境下经常出现装完无法引导的情况。建议在BIOS里把启动模式设为Legacy(传统BIOS)模式。
- 磁盘控制器:新服务器的SATA控制器如果是AHCI模式,一般没问题;但如果开了RAID模式,RHEL 6.9安装程序可能识别不到磁盘。这时候要么把硬盘模式改成AHCI,要么提前准备好对应的驱动磁盘。
- 网卡和阵列卡驱动:Intel I350、I350-T2这些老网卡兼容性还行,但Realtek 8168系列在安装RHEL 6.9时偶尔会掉驱动,装完系统网卡起不来,需要自己编译驱动。建议安装前查一下你手头硬件的Linux内核兼容情况。
1.3 镜像获取、校验与启动介质制作
获取RHEL 6.9的安装ISO,途径一般是红帽官方订阅下载,或者企业内部镜像源。下载时需要注意区分x86-64和i386,这篇只讨论x86-64架构。
很多人容易忽略ISO校验这一步。下载完成后,用工具比对一下SHA256校验值,避免下载过程中文件损坏,否则安装时会出现“找不到安装源”或“软件包解压失败”的问题。Windows下可以用HashCalc或PowerShell的Get-FileHash命令,Linux下直接用sha256sum。
安装介质我建议优先用U盘,比光盘速度快,也方便反复重装。制作U盘启动盘时有个关键点:RHEL 6.9的ISO不能像解压普通文件一样直接复制到U盘用,需要用工具把ISO以DD模式写入U盘。Windows下推荐使用Rufus或UltraISO的“写入硬盘镜像”功能,Linux下直接用dd命令:
dd if=rhel-server-6.9-x86_64-dvd.iso of=/dev/sdX bs=4M status=progress注意of后面是磁盘设备名(比如/dev/sdb),不是分区名(/dev/sdb1),这一步写错会把你U盘的文件系统也搞坏,操作前再三确认盘符。
如果你是虚拟机环境,那就更简单了,VMware或VirtualBox里直接挂载ISO文件作为光驱启动即可,不用做启动盘。
2. 引导安装与初始化配置
2.1 从启动介质引导的系统选择
插入U盘或挂载ISO后,开机按F2/F12/Del进入启动项选择,具体按键各品牌主板不一样,一般开机画面会有提示,选带USB字样或光驱字样的启动项。
启动后屏幕上会出现RHEL 6.9的引导菜单,有五个选项:
- Install or upgrade an existing system:安装或升级现有系统
- Install system with basic video driver:使用基本显卡驱动安装
- Rescue installed system:救援模式
- Boot from local drive:从本地硬盘启动
- Memory test:内存测试
绝大多数场景选第一项回车就行。第二项“basic video driver”适合显卡比较新或比较特殊、正常安装时花屏的机器,装的时候会强制用VESA通用驱动。如果你在老旧显卡或者虚拟机里遇到装到图形界面黑屏的问题,可以用这个选项再试一次。
这里有个经验:如果屏幕停在boot提示符不往下走,可能是U盘引导兼容性问题,可以输入linux nomodeset或linux text试一下。text是纯文本模式安装,虽然界面朴素,但兼容性最好,服务器装系统我喜欢用这个模式。
2.2 Skip介质测试与界面初始设置
引导后安装程序会问你“Disc found with no label”,意思是检测到光盘/U盘介质,问是否测试安装介质完整性。这一步建议直接选Skip跳过,除非你怀疑ISO文件损坏。介质完整测试会多花几分钟到十几分钟,实际意义不大,因为之前已经校验过ISO的SHA256值就可以了。
接下来进入图形化安装界面,首先是语言选择。虽然界面里有简体中文选项,但我强烈建议选择英文(English),原因有三:一是RHEL 6.9终端下中文显示经常出现乱码,后续排查系统问题不方便;二是网上参考资料、官方文档基本都是英文命令和路径,保持英文安装界面能减少理解偏差;三是部分安装组件对中文字体渲染不完整,装完可能看到方块字。
键盘布局选择U.S. English,这个不用犹豫。
2.3 存储设备类型提示与初始化
键盘选完后,安装程序会询问存储设备类型:
- Basic Storage Devices:基本存储设备,适用于SATA、SCSI、普通IDE硬盘
- Specialized Storage Devices:专用存储设备,适用于SAN、iSCSI、FCoE等网络存储
虚拟机和普通物理服务器选第一项即可,只有用到外部存储阵列时才需要选第二项。选完点Next,安装程序会扫描磁盘。
如果硬盘上有残留的分区表或旧系统,会弹出警告(Storage Device Warning),提示“xxx has been left untouched”之类的信息,问你是否要Re-initialize(重新初始化)。这是正常现象,选“Yes, discard any data”继续。这个操作会把磁盘上旧的硬盘标签清除,不会直接删除数据,别慌,真正的格式化在后面分区操作时才会进行。
3. 磁盘分区方案与引导程序配置
3.1 分区规划思路:从使用场景倒推
到这一步安装程序会让你配置主机名(Hostname)和时间(Time),但这两项可以稍后修改,先用默认值,最后再做。真正需要花心思的是接下来的分区界面。
RHEL 6.9的分区选项一共有五个:
- Use All Space:使用整块磁盘全部空间
- Replace Existing Linux System:替换现有的Linux系统
- Shrink Current System:缩小当前系统分区
- Use Free Space:使用磁盘空闲空间
- Create Custom Layout:自定义分区布局
前四个都是自动分区,适合不做特殊规划的快速安装。但如果你对系统的分区结构有要求,或者磁盘有其他数据需要保留,一定要选Create Custom Layout,我自己的习惯是永远选这一项,不把磁盘布局的决定权交给安装程序。
分区规划要从使用场景倒推。我给出一个通用方案:
| 分区 | 大小 | 文件系统 | 作用与理由 |
|---|---|---|---|
| /boot | 200MB-500MB | ext4 | 存放内核和引导文件,不需要太大,但必须有 |
| swap | 内存的1-2倍,建议不超过8GB | swap | 内存交换分区,老内核不推荐直接用swap文件替代 |
| / | 剩余全部空间 | ext4 | 根分区,承载系统所有目录 |
如果你不是数据中心场景,我建议不用单独分/home和/usr,这样空间利用率最高,也避免以后某个分区磁盘写满还得做扩容的麻烦。生产服务器最好单独分/data或/application这类业务数据分区,和系统分区隔离开,防止日志或数据写满根分区导致系统异常。
3.2 手动分区实操流程
选择Create Custom Layout后,会进入分区管理界面,左侧显示磁盘设备(一般是sda),右侧是分区列表,下面是操作按钮。新建分区的步骤是:
- 点“Create”,弹出创建存储项的新对话框,选择“Standard Partition”(标准分区)。
- 挂载点(Mount Point)选择你想要挂载的路径,比如/boot。
- 文件系统类型(File System Type)选ext4或swap。
- 允许的大小(Size)填MB或GB数量。
- 其他选项保持默认,点OK保存。
先创建标准分区会弹出“Add Partition”窗口。分区的时候有几个细节需要特别注意:
- 尽量把/boot放在靠前位置(磁盘起始区域),虽然Linux的grub在新硬盘上对/boot位置要求不严格,但放在前面兼容性最好。
- /boot分区不要用LVM,后面的系统引导程序(GRUB)对LVM的/boot支持容易出问题,就老老实实用标准分区。
- swap分区大小:内存2GB以下可以按内存的2倍分配,2GB以上按1-1.5倍,但内存已经超过16GB的机器,swap给8GB就差不多了,太多其实用不到。
创建分区的时候,很多人会问需不需要预留扩展分区、逻辑分区,这个看情况。如果是MBR分区表,一块硬盘只能有4个主分区,如果你要划分超过4个分区,就需要用扩展分区和逻辑分区。RHEL 6.9的安装程序在动态创建分区时会自动处理,但如果你想控制布局,我建议:
- /boot:Primary(主分区)
- /:Primary(主分区)
- swap:Primary(主分区)
- 后续如果需要更多分区,让安装程序自动创建扩展分区和逻辑分区
3.3 为什么要用标准分区而不是LVM默认配置
RHEL 6.9的安装程序默认推荐LVM(逻辑卷管理),自动分区时也会引导你使用LVM。LVM的好处是可以在系统运行中动态调整分区大小,对于以后需要频繁扩容的场景很友好。
但我在这里要特意说明白:使用LVM也有代价,一是LVM结构多了一层逻辑卷管理,出问题时排查链路更长;二是如果你对LVM的物理卷(PV)、卷组(VG)、逻辑卷(LV)概念不熟,装完系统后发现磁盘空间分配不对,调整起来很容易把数据搞丢。
我个人的建议是:个人学习和简单应用场景,直接选Standard Partition最省心,后面想用LVM再在系统上加也不迟。如果你明确知道自己需要LVM动态扩容能力,可以选LVM Physical Volume,但请先把PV/VG/LV的逻辑理清楚再动手。安装程序的分区界面里,创建LVM的逻辑是先创建物理卷,再创建卷组,然后在卷组上划分逻辑卷,步骤顺序别搞反了。
3.4 引导程序GRUB安装位置
分区配置完成后,安装程序默认会在/dev/sda的MBR(主引导记录)位置安装GRUB引导程序。这一步通常情况下保持默认即可。
如果你在“Install boot loader on /dev/sda?”这个提示中看到了“Boot loader operating system list”列表,说明检测到了系统盘中已经存在的其他操作系统(比如之前的旧Linux或Windows),你需要在“Do you want to install a new boot loader”对话框中选择第一项“Install a new boot loader”,避免引导程序缺失导致旧系统无法启动。
这里有个坑必须提醒:如果目标磁盘是一块新盘,而且BIOS启动模式是UEFI,GRUB写入MBR后系统可能依然无法引导。SQL上表现为重启后直接黑屏或进入grub rescue模式。解决办法就是前面说过的,进BIOS把启动模式改成Legacy/CSM,关闭Secure Boot,然后重新安装引导程序。
4. 安装细节与软件包组选择
4.1 主机名、时区与root密码的设置逻辑
分区和引导程序配置完成,下一步就是网络配置、时区和root密码,这里面的先后顺序安装程序会一步步带,但每一项都有讲究。
主机名(Hostname)建议提前规划好,别装完系统再改。命名规则可以按“项目-角色-编号”来,比如web-01、db-server-02,自己看得懂就行。RHEL 6.9默认会等待你输入完整主机名(FQDN格式),可以填带域名的完整名,也可以只填短名,后续再通过/etc/sysconfig/network修改,没事。
时区选择Asia/Shanghai(上海),这是国内服务器统一标准。关键是别勾选“System clock uses UTC”,如果你和Windows系统共用一个硬件时钟,勾了UTC会导致Windows显示的时间差8小时,非常烦人。
root密码的设置有个小细节:RHEL 6.9默认会启用弱密码策略警告,但它只是警告,不会强制阻止你设置简单密码。生产环境我建议密码至少8位、包含大小写字母和数字;如果你装的是练习机,设置成root这类密码也不是不行,但请确保机器没有暴露在公网上。
4.2 软件包组选型:Minimal还是Desktop
接下来是整个安装过程中最影响最终体验的部分:软件包选择。RHEL 6.9默认有三种预定义配置:
- Desktop:安装图形界面(GNOME 2.x),适合当工作站用。
- Minimal:最小化安装,只装核心工具,想装什么后面自己追加。
- Basic Server:基础服务器,带常见服务工具,但没有图形界面。
- Database Server、Web Server等:针对特定应用的预配置。
我的建议是:如果机器主要用于运行服务,选Minimal或Basic Server;如果你是拿来练习命令行或者学习系统管理的,Minimal就很好,因为“裸奔”环境下你对系统的依赖会少很多,学得更扎实。
如果你选Desktop或者想自定义软件包,点击“Customize now”可以进入软件包组选择界面。RHEL 6.9的软件包组按类别分组,比如Desktop、Applications、Development等。个人经验是,如果你不确定某个软件包是什么,就不要勾选,装完系统再用yum install补,这样最省事。因为软件包之间依赖关系比较复杂,装了一堆不需要的包不仅占空间,还会引入安全隐患。
4.3 安装进度、重启与首次引导验证
软件包选择完成后,点击Next会进入正式安装阶段。安装程序会对磁盘进行格式化写入,并开始复制和解压软件包。这一步根据机器性能,慢则20-30分钟,快则5-10分钟。
安装完成后,系统会提示你移除安装介质并重启(Reboot)。此时如果是从U盘启动,记得拔掉U盘或把BIOS启动顺序改回硬盘优先,不然又会重新进入安装界面。
重启后会出现GRUB引导菜单,默认第一个就是刚装的RHEL 6.9内核。如果一切顺利,你会看到满屏的滚动日志,最后进入登录界面。如果卡在这一步,最常见的原因是显卡驱动加载失败或者SELinux标签错误,通常会伴随黑屏或kernel panic。遇到kernel panic时,记录一下panic时的报错信息,再挂载安装介质进入救援模式修复,或者直接重新安装,后者往往更快。
首次进入系统后,建议先跑几个命令看看系统基本状况:uname -r看内核版本,df -h看分区挂载,fdisk -l看磁盘识别情况。确认内核版本带.696后缀,基本就是6.9没跑了。
5. 安装完成后的基础配置与网络联通
5.1 配置静态IP地址
RHEL 6.9安装时如果没配网络,进入系统后网络接口是down状态,你需要手动配置。配置文件在/etc/sysconfig/network-scripts/目录下,文件名一般是ifcfg-eth0或ifcfg-ens33(取决于网卡名)。
下面是我常用的静态IP配置模板,直接编辑即可:
vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=none IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=114.114.114.114配置说明:
- ONBOOT=yes:开机自动启用这个网卡,不写的话每次重启都要手动ifup。
- NM_CONTROLLED=no:告诉NetworkManager不要管理这个接口,避免和配置文件打架。
- BOOTPROTO=none:不用DHCP自动获取,而是用下面手动指定的IP。
改完配置后,重启网络服务生效:
service network restart ping -c 4 192.168.1.1如果ping不通,先看/etc/resolv.conf里有没有DNS配置,再检查物理链路和虚拟网络设置。
5.2 配置本地yum源
RHEL 6.9安装完后,yum默认指向的是Red Hat官方订阅源,没有授权的情况下会提示“This system is not registered”。对于学习环境,最方便的办法是配置本地ISO镜像作为yum源。
把系统安装ISO文件拷贝到服务器,或者挂载到光驱,然后创建repo文件:
mkdir -p /mnt/cdrom mount -o loop /path/to/rhel-server-6.9-x86_64-dvd.iso /mnt/cdrom vi /etc/yum.repos.d/local.repo[local] name=Local YUM Repo baseurl=file:///mnt/cdrom enabled=1 gpgcheck=0配置好后先清理缓存再测试:
yum clean all yum makecache yum install -y vim wget lrzsz能正常安装vim/wget,说明本地源已经生效。日常使用中,如果你需要装更多软件,把这个本地源作为基础源,再补充EPEL源(Extra Packages for Enterprise Linux)或者国内镜像源,基本能满足大部分软件安装需求。另外建议装一下net-tools和lsof这两个经典排查工具,RHEL 6.9的Minimal默认可能不包含。
5.3 调整SELinux与防火墙策略
RHEL 6.9默认开着SELinux(安全增强Linux)和iptables防火墙,这在生产环境是好事,但对刚装完、还在摸索阶段的新手来说,有时候会成为莫名其妙的“拦路虎”。比如你想通过浏览器访问一个测试页面,防火墙没放行端口,怎么配都不通;再比如你之后想搭服务,SELinux策略挡了你半天。
我的个人建议是:
- 纯练习环境:可以临时关闭SELinux,打开/etc/selinux/config,把SELINUX=enforcing改成SELINUX=disabled,然后重启系统。临时关闭用setenforce 0。
- 生产环境:不要关SELinux,要学的是怎么放行和自己添加策略。防火墙用iptables -I INPUT -p tcp --dport 22 -j ACCEPT这种方式放行端口,学会比一关了之更有价值。
关于防火墙,还有个小技巧:RHEL 6.9里同时存在iptables和systemctl iptables。如果你是6.9,推荐直接编辑/etc/sysconfig/iptables文件,然后service iptables restart,简单直接。别为了图省事用iptables -F清空规则,那只是清空内存里的规则,重启后又会加载回文件里的规则,很容易误导你。
6. 常见问题与排查技巧实录
6.1 安装过程中的典型问题速查表
这些年装过无数遍RHEL 6.9,我整理了下面这份问题速查表,遇到报错可以先对着查一下:
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 安装界面花屏或黑屏 | 显卡驱动兼容性差 | 引导时选Install system with basic video driver,或输入linux nomodeset |
| 无法识别安装介质 | ISO损坏或U盘启动方式不正确 | 重新校验ISO;U盘用DD模式写入,不要解压复制 |
| 分区界面看不到硬盘 | 磁盘RAID模式未识别 | BIOS里把硬盘模式改为AHCI,或加载驱动磁盘 |
| 提示“No valid device found” | 磁盘控制器驱动缺失 | 确认ISO的x86-64版本,检查虚拟化平台磁盘类型 |
| 重启后进入grub>提示符 | GRUB未正确写入或引导模式错误 | Bios改Legacy模式,重新安装引导程序;或进入救援模式修复grub |
| 装完系统IP无法获取 | NetworkManager干扰或配置错误 | 按5.1手动配置,并确保NM_CONTROLLED=no |
| ping IP通但ping域名不通 | DNS配置错误 | 检查/etc/resolv.conf,并确认网络链路能访问外网DNS |
6.2 虚拟机环境下的安装适配细节
在VMware、VirtualBox或KVM里装RHEL 6.9,比物理机顺利得多,但也有一些特有注意点:
- VMware虚拟机的磁盘类型建议选SCSI(LSI Logic SAS),比NVMe和SATA兼容性更好,安装程序识别最快。
- 虚拟机的内存不要低于1GB,否则图形安装界面会非常卡,甚至直接黑屏,建议直接给2GB。
- 网络适配器建议选e1000,比vmxnet3在RHEL 6.9下更容易被识别为eth0,方便后续网络配置。
- 虚拟化平台如果默认启动了UEFI,记得新建虚拟机时选“BIOS”引导模式,或者创建后到虚拟机设置里把固件类型改为BIOS,否则GRUB引导容易出现意外。
如果你的虚拟机用的是QEMU/KVM,同理,把机器类型选为i440fx而不是Q35,兼容性更好。这些细节可能在较新的平台版本上有变化,但老系统配老模拟器的思路是一致的。
6.3 独家避坑经验:装完别急着欢呼
有几个坑是我自己反复栽过跟头,后来总结出经验教训的,特别列出来给你:
- 安装时分区界面填了/boot大小300MB,安装后发现/boot使用率超过90%。这不是分区给小了,而是旧内核不会自动清理,每次升级内核都会在/boot保留一个initramfs和vmlinuz文件。解决办法是定期用package-cleanup --oldkernels --count=2清理旧内核,或者习惯性把/boot分到500MB。
- root密码安装时设置了,但重启后怎么都登录不进去。排查后发现是键盘布局问题——设密码时选择了非UTF-8的键盘映射,密码里的符号被识别成别的字符。所以密码尽量只用数字和字母,别用不好输入的符号。
- 安装时选了Minimal包组,装完发现ifconfig命令用不了。这不是系统坏了,而是Minimal默认没装net-tools。用ip addr看IP,或者yum install net-tools装上就行。
- 手动分区时不小心把磁盘类型选成了btrfs。RHEL 6.9虽然支持btrfs,但在后续维护和扩展上,兼容性和工具链远不如ext4成熟,不是特别需求就别选btrfs做系统盘。
- RHEL 6.9默认时钟同步用ntpd,装完系统后建议手动配置或关掉它,否则系统时间漂移会导致后续证书、日志时间误差,排查问题的时候让人抓狂。
这些经验不少都是“用后才知道”的,希望你能看完避免再踩一遍。
7. 配置验证与系统信息确认
装完系统、配置好网络和源之后,不是关掉终端就完事了,建议按下面这套流程做一次完整验证,确认系统真的可用:
# 查看内核版本和系统版本 uname -r cat /etc/redhat-release # 确认分区和文件系统 df -hT # 确认内存和swap free -m # 确认网络连接 ip addr show ping -c 4 www.baidu.com # 确认yum源可用 yum repolist # 确认时区和时间 date -R timedatectl status这些命令一次性跑下来,系统状态基本就心里有数了。如果哪一步输出不是预期的,回到前面对应的章节排查即可。比如date -R显示的时间不是东八区,那说明安装时UTC或时区设置有问题,需要重新调整/etc/sysconfig/clock和/etc/localtime。
最后再分享一个小技巧:装完系统后,最好马上打一个快照或做一次整盘备份。RHEL 6.9虽然经典,但很多软件源已经停止维护,后续如果装软件或调内核翻车了,恢复起来会很麻烦。虚拟机就拍快照,物理机就用dd或tar做系统备份,十几分钟的成本能帮你省下一整晚的抢救时间。