/ etcファイルは別のパーティションにあります。

/ etcファイルは別のパーティションにあります。

私の設定では、いくつかの/etcファイルが別々のパーティションにある必要があります。これを行うためにソフトリンクを作成しました。

ls -li /etc/group
956 lrwxrwxrwx 1 root root 21 May  7 15:48 /etc/group -> /var/common/etc/group

ls -li /var/common/etc/group
3145744 -rw-r--r-- 1 root root 668 May 11 11:02 /var/common/etc/group

私の問題は、次のファイルを使用してコマンドを実行しようとしたときです。

groupadd foo
groupadd: failure while writing changes to /etc/group

straceレポート:

rename("/etc/group+", "/var/common/etc/group") = -1 EXDEV (Invalid cross-device link)
write(2, "groupadd: failure while writing "..., 54groupadd: failure while writing changes to /etc/group
) = 54

groupadd私がどのように出勤できるかについてのアイデアはありますか?

ベストアンサー1

/etcしたがって、複数のパーティションにファイルを分割するのは悪い考えです。

何が起こっているのかは、ユーティリティが一時groupaddファイルを生成してから、簡単な操作/etc/groupsで実際のファイル(またはむしろシンボリックリンクが指すファイル)を一時ファイルに置き換えることですrename
問題は、rename()同じファイルシステムでのみ機能することです。それ以外の場合はエラーが発生します。

ここで発生する可能性のあるもう1つの問題は、タスクを実行するとrenameシンボリックリンクが失われ、現在は通常のファイルになることです。

/etc別の潜在的な問題は、システムが追加のボリュームをマウントする前に正しく起動するために必要なファイルがたくさんあることです。したがって、これらのファイルは実際に失われます。

 

簡単に言えば、いいえ、この問題は修正できません。とにかく、そうしてはいけません。

おすすめ記事