github编辑

21.2 通过 FreeBSD Ports 安装 Rocky Linux 兼容层

Rocky Linux 版本号概述

截至 2026 年 2 月 16 日,Ports/包 emulators/linux-rl9arrow-up-right(实际上是 emulators/linux_base-rl9arrow-up-right)基于 Rocky Linux 9.7:

查看当前 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 (+)arrow-up-right,可以发现,真正决定了版本号的是 Ports 框架中的 Mk/Uses/linux.mkarrow-up-right‎ 文件中的 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 兼容层服务

安装基本系统

  • 使用 pkg 安装:

  • 或者使用 Ports 安装:

配置相关服务

无需配置 /etc/fstablinux_mounts_enable 会自动运行。

重启后生效。

最后更新于