gpt4 book ai didi

linux - schroot 没有正确同步 nss 数据库(密码、组、主机)

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:22:57 26 4
gpt4 key购买 nike

我正在尝试使用 schroot 来处理多个 chroot 环境,以便为特定版本的 ubuntu 生成干净的开发版本。宿主环境为Ubuntu 16.04。

我使用以下配置创建了/etc/schroot/chroot.d/test.conf:

[test]
description=ubuntu trusty
type=directory # DO NOT FORGET THIS LINE
directory=/var/chroot/test
shell=/bin/bash
groups=sudo
profile=desktop
personality=linux
preserve-environment=true
message-verbosity=verbose

然后我创建了 chroot:

sudo debootstrap --arch amd64 --variant=buildd trusty /var/chroot/test http://archive.ubuntu.com/ubuntu

该命令运行良好,chroot 已创建。然后我以这种方式进入 chroot:

schroot -c test
groups: cannot find name for group ID 1000
groups: cannot find name for group ID 108
groups: cannot find name for group ID 124
groups: cannot find name for group ID 135
groups: cannot find name for group ID 137
I have no name!@xps-dev:/$

无论我尝试过什么,我都无法将/etc/passwd、/etc/group、/etc/hosts 之类的文件正确复制到 chroot 环境或与 chroot 环境同步。在这个例子中,我将配置文件设置为“桌面”,这应该使用/etc/schroot/desktop 中的设置信息,但我也尝试创建自己的配置文件但没有成功。在任何情况下,桌面配置文件都指定它应该复制或同步这些文件:

awake@xps-dev:/etc/schroot/desktop$ cat copyfiles 
# Files to copy into the chroot from the host system.
#
# <source and destination>
/etc/resolv.conf
awake@xps-dev:/etc/schroot/desktop$ cat nssdatabases
# System databases to copy into the chroot from the host system.
#
# <database name>
passwd
shadow
group
gshadow
services
protocols
networks
hosts

我已经尝试从 nssdatabases 文件中删除“passwd”和“group”以将“/etc/passwd”和“/etc/group”添加到 copyfiles 以便直接复制文件而不是同步文件,但是它没有用。

我已尝试使用以下命令以 root 身份进入 chroot,并输出详细信息:

sudo schroot -v --debug=notice -c test -u root

日志在这里:http://pastie.org/10947460

我在日志中没有看到任何确认设置脚本已执行的内容。

我显然做错了什么。有人有想法吗?

谢谢!

最佳答案

我找到了问题的解决方案:如果 test.conf 文件中没有“type=directory”行,类型将变为“plain”,这意味着不会调用配置文件中的设置脚本。添加该行后,设置脚本开始被调用,现在一切正常。

关于linux - schroot 没有正确同步 nss 数据库(密码、组、主机),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40178297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com