--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
のどれもテストされていないことがほぼ確実であるため、この野心的な作業に成功してもバグを見つけることができます。