在 Gentoo 系统中搭建多用户环境,并为每个用户创建独立的 prefix 是一个实用且灵活的做法,特别是当你需要在同一个系统上为不同的用户或项目隔离环境时。以下是构建这样一个环境的一般步骤。
准备工作
在开始之前,请确保你的 Gentoo 系统已经安装并配置好了,同时你也应该熟悉 Gentoo 的基本概念,如 portage 系统和 overlays。
安装必要的工具
eix或emerge-info—— 这些工具可以帮助你更容易地搜索和查看包信息。userprefix—— 这是一个 Gentoo 的 overlay,包含了用户 prefix 相关的包。
使用下面的命令来安装它们:
emerge eix emerge-info
然后添加 userprefix overlay 到你的 /etc/portage/package.keywords:
echo 'sys-user/userprefix' >> /etc/portage/package.keywords
创建用户
创建一个新的用户,例如 user1:
sudo useradd -m user1
确保这个用户属于适当的用户组和项目组,比如 wheel 组。
设置 prefix
为 user1 设置一个 prefix。这个 prefix 应该位于 /var/run/user/ 目录下,以便 Gentoo 知道这是一个用户级别的 prefix:
sudo mkdir /var/run/user/user1
sudo chown user1:user1 /var/run/user/user1
配置 prefix
现在,需要配置 user1 的 home 目录以指向这个 prefix:
sudo su - user1
cd
ln -s /var/run/user/user1 .
安装 userprefix 包
在用户的 home 目录中安装 userprefix 包:
Lies here
userprefix 包将会创建一个名为 setup.sh 的脚本,用于设置环境变量和配置 Gentoo 的 portage。
运行 setup.sh
运行 setup.sh 以安装 prefix 所需的依赖,并设置环境变量:
Lies here
这将安装必要的 portage 文件和配置 prefix 所需的环境变量。
测试 prefix
为了测试 prefix 是否设置正确,可以在用户 user1 的环境中尝试安装一个新的包:
Lies here
Lies here
Lies here
确保 make 命令在用户的 prefix 目录下运行。
为其他用户重复步骤
为其他用户重复上述步骤,确保每个用户的 prefix 是独立配置的。
注意事项
- 确保每个用户的 prefix 是在创建之前设置好的。
- 用户必须首先切换到 prefix 环境中,然后才能进行任何 portage 操作。
- 不要忘记为每个用户设置合适的权限和所有权。
通过遵循上述步骤,你就可以轻松地在 Gentoo 系统中搭建一个多用户环境,每个用户都可以拥有一个独立的 prefix。这不仅可以隔离用户之间的环境,还能提高系统安全和效率。