13.2 Rocky Linux 兼容层

FreeBSD 通过 emulators/linux-rl9 Port(内置 linux_base-rl9)提供 Rocky Linux 9.7 兼容层。本节介绍安装步骤、版本验证及基础配置。

通过 FreeBSD Ports 安装 Rocky Linux 兼容层

Rocky Linux 版本号概述

截至 2026 年 2 月 16 日,FreeBSD Ports 的 emulators/linux-rl9(其实际对应的基础包为 emulators/linux_base-rl9)基于 Rocky Linux 9.7 发行版构建。

在 Rocky Linux 兼容层环境中查看当前 Linux 发行版的版本信息:

bash-5.1$ cat /etc/redhat-release      # Rocky Linux 兼容层内
Rocky Linux release 9.7 (Blue Onyx)

该版本号仅具有参考意义,并非绝对标识。/etc/redhat-release 文件由 Rocky Linux 的 rocky-release 软件包提供,内容为静态文本。Linux 发行版本质上是多个独立软件包的集合。单一软件包的版本信息无法断定发行版中所有软件包均属于同一版本,因此 Linux 发行版的版本号是一个相对概念。

进一步观察提交记录 emulators/linux_base-rl9: update to Rocky Linux 9.7 (+) 可知,真正决定版本号的是 Ports 框架中的 Mk/Uses/linux.mk 文件中的 LINUX_DIST_VER 变量的值:

.  if empty(linux_ARGS)
.    if exists(${LINUXBASE}/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7)  # 检查兼容层内是否存在文件 RPM-GPG-KEY-CentOS-7,如果有则为 CentOS 7 兼容层
linux_ARGS=		c7
.    elif exists(${LINUXBASE}/etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9) # 检查兼容层内是否存在文件 RPM-GPG-KEY-Rocky-9,如果有则为 Rocky Linux 9 兼容层
linux_ARGS=		rl9
.    else
linux_ARGS=		${LINUX_DEFAULT}
.    endif
.  endif

.  if ${linux_ARGS} == c7  # 检查是不是 CentOS 7 兼容层
LINUX_DIST_VER?=	7.9.2009    # 当前引入的是 CentOS 7.9.2009
.  elif ${linux_ARGS} == rl9   # 检查是否为 Rocky Linux 9 兼容层
LINUX_DIST_VER?=	9.7  # 当前引入的是 Rocky Linux 9.7
.  else
ERROR+=			"Invalid Linux distribution: ${linux_ARGS}"  # 如果都不是则直接打印错误信息
.  endif

启用 Linux 兼容层服务

安装 Rocky Linux 兼容层前,需先启用 Linux 兼容层服务。

启用 Linux 兼容层服务,并设置为开机自启:

立即启动 Linux 兼容层服务:

安装基本系统

  • 使用 pkg 安装:

  • 也可使用 Ports 安装:

配置相关服务

安装完成后,还需配置相关服务。

重启系统后生效。

通过 Shell 脚本安装 Rocky Linux 10 兼容层

以下脚本将在 /compat/rocky 下构建 Rocky Linux 10.2(代号 Red Quartz)。

Rocky Linux 10 兼容层

参考文献

最后更新于