--sysconfdir=/test/etc
default 대신 coreutils를 컴파일하고 /etc
로 이동했는데 /etc/group
chgrp /test/etc/group
가 실패했습니다.
chgrp: 잘못된 그룹: $groupname.
이 문제를 어떻게 해결하고 chgrp가 새로운 sysconfdir에서 작동하도록 할 수 있습니까?
답변1
coreutils
다른 위치에서 다른 파일을 찾기 위해 다시 컴파일해도 /etc/group
대부분의 시스템이 여전히 표준 위치에서 이러한 파일을 찾을 것으로 기대한다는 사실은 바뀌지 않습니다. 귀하의 경우 libc
시스템 데이터베이스(예: nss_files
)에서 그룹 및 기타 개체를 찾는 역할을 담당하는 부분이 계속해서 표준 위치에서 그룹을 찾는 것을 확인했습니다.
다른 매우 기본적인 구성 파일이 많이 있는 위치를 변경하려면 /etc/group
다시 컴파일해야 하며 libc6
아마도많은다른 것들. 시스템의 많은 부분(초기화 스크립트가 가장 먼저 떠오름)이 하드 코딩되어 있고 /etc
이러한 부분 중 어느 것도 테스트되지 않는다는 것이 거의 확실하므로 이 야심 찬 작업에 성공하더라도 버그를 발견할 수 있습니다.