.. _linuxulator_startup: ================================ Linuxulator 快速起步 ================================ FreeBSD提供了Linux二进制程序兼容,也就是 ``Linuxulator`` ,可以在FreeBSD上直接运行无需修改的Linux二进制程序。 要激活 ``Linuxulator`` ,执行以下命令: .. literalinclude:: linuxulator_startup/kldload :caption: 加载linux模块激活 ``Linuxulator`` - 要使配置持久化,则修改 ``/etc/rc.conf`` 添加: .. literalinclude:: linuxulator_startup/rc.conf :caption: 配置 ``/etc/rc.conf`` 持久化激活 ``Linuxulator`` - 安装Rocky Linux 9 userland: .. literalinclude:: linuxulator_startup/install_rl9 :caption: 安装Rocky Linux 9 userland .. note:: 根据handbook说明, ``Linux userlands`` 当前推荐采用 **Rocky Linux 9 userland** 以前的 CentOS 7 不建议采用 (废弃) :strike:`执行以下命令在系统中安装CentOS 7软件包源的Linux子系统` : .. literalinclude:: linuxulator_startup/install_c7 :caption: 安装CentOS 7软件包源的Linux子系统 如果已经安装过旧版本 ``linux_base-c7`` 可以先移除,然后再安装 ``linux_base-rl9`` ( **Rocky Linux 9 userland** ): .. literalinclude:: linuxulator_startup/remove_c7 :caption: 移除CentOS 7 Linux系统 根据安装提示,还需要在 ``/etc/fstab`` 中添加以下挂载配置:: linprocfs /compat/linux/proc linprocfs rw 0 0 linsysfs /compat/linux/sys linsysfs rw 0 0 tmpfs /compat/linux/dev/shm tmpfs rw, mode=1777 0 0 然后执行以下命令挂载上述兼容文件系统:: mount /compat/linux/proc mount /compat/linux/sys mount /compat/linux/dev/shm 当然,也可以重启系统生效 - 升级 **Rocky Linux 9 userland** : .. literalinclude:: linuxulator_startup/update :caption: 升级 **Rocky Linux 9 userland** .. warning:: 默认 ``linux_base-rl9`` 是 **minimal** 版本,没有提供 :ref:`dnf` 。所以需要通过 :ref:`linuxulator_rocky-base` 来构建一个更完整系统才能执行本段更新 .. note:: 这里有一个问题,我在FreeBSD 15上实践 ``linuxulator`` ,发现 ``linux_base-rl9`` 没有包含 :ref:`dnf` ,似乎是一个不完整的环境。难道需要像 :ref:`linux_jail_ubuntu-base` 一样用官方的 ``core.txz`` 包来构建基础环境? `Rocky Linux download > 9 > images > x86_64 `_ 提供了 `Rocky-9-Container-Minimal.latest.x86_64.tar.xz `_ ,虽然是针对 :ref:`container` 的镜像压缩包,但是jail非常类似container,实际上都剥离了 :ref:`systemd` ,应该可以共用 另外 `Rocky Linux 9 minimal jail working, need to figure out the next steps `_ 提到了通过 :ref:`podman` 保存镜像 ``tar.gz`` 文件也是一个思路,实际上和 :ref:`transfer_docker_image_without_registry` 中 ``docker save`` 是异曲同工。 - (可选)安装Python 3 .. literalinclude:: linuxulator_startup/install_python3 :caption: 安装 python 3 - (可选)安装开发工具(对于很多python包需要) .. literalinclude:: linuxulator_startup/install_develop :caption: 安装开发工具 - (可选)安装pip for Python 3 .. literalinclude:: linuxulator_startup/install_pip :caption: 安装pip for Python 3 参考 ====== - `Install FreeBSD with XFCE and NVIDIA Drivers [2021] `_ - `Chapter 12. Linux Binary Compatibility `_