我编译了 coreutils--sysconfdir=/test/etc
而不是 default /etc
,移至/etc/group
,/test/etc/group
并且 chgrp 失败了
chgrp:无效组:$groupname。
我怎样才能解决这个问题并使 chgrp 与新的 sysconfdir 一起工作?
答案1
重新编译coreutils
以在不同位置查找/etc/group
其他文件不会改变大多数系统仍然希望在标准位置找到这些文件的事实。在您的情况下,您注意到libc
负责在系统数据库中查找组和其他对象的部分(即nss_files
)继续在标准位置查找组。
如果您想更改/etc/group
许多其他非常基本的配置文件所在的位置,您将不得不重新编译,libc6
并且可能很多其他的事情。几乎可以肯定,系统的许多部分(首先想到的是初始化脚本)都是硬编码的/etc
,并且这些部分都没有经过测试,因此即使您成功完成了这项雄心勃勃的任务,您也可能会发现错误。