Next: , Previous: , Up: ファイルのバックアップ   [Contents][Index]


27.1.2 リネームかコピーのどちらでバックアップするか?

Emacsのバックアップファイル作成には2つの方法があります:

デフォルトの方法は1つ目のリネームです。

変数backup-by-copyingが非nilなら、それは2つ目の方法、つまり元のファイルをコピーして新たなバッファー内容で上書きすることを意味します。変数file-precious-flagが非nilの場合にも、(メイン機能の副作用として)この効果があります。バッファーの保存を参照してください。

User Option: backup-by-copying

この変数が非nilなら、Emacsは常にコピーによりバックアップファイルを作成する。デフォルトはnil

以下の3つの変数が非nilの際は、ある特定のケースに2つ目の方法が使用されます。その特定のケースに該当しないファイルの処理には影響はありません。

User Option: backup-by-copying-when-linked

この変数が非nilなら、Emacsは複数名(ハードリンク)をもつファイルにたいしてコピーによりバックアップを作成する。デフォルトはnil

backup-by-copyingが非nilなら常にコピーによりバックアップが作成されるので、この変数はbackup-by-copyingnilのときだけ意味がある。

User Option: backup-by-copying-when-mismatch

この変数が非nil(デフォルト)なら、リネームによりファイルの所有者やグループが変更されるケースではEmacsはコピーによりバックアップを作成する。

リネームによりファイルの所有者やグループが変更されなければ、値に効果はない。つまり、そのディレクトリーで新たに作成されるファイルにたいするデフォルトのグループに属するユーザーにより所有されるファイルが該当する。

backup-by-copyingが非nilなら常にコピーによりバックアップが作成されるので、この変数はbackup-by-copyingnilのときだけ意味がある。

User Option: backup-by-copying-when-privileged-mismatch

この変数が非nilなら、特定のユーザーIDおよびグループIDの値(具体的には特定の値以下のID数値)にたいしてのみ、backup-by-copying-when-mismatchと同じように振る舞うことを指定する。変数にはその数値をセットする。

したがってファイル所有者の変更を防ぐ必要がある際には、backup-by-copying-when-privileged-mismatchを0にセットすればスーパーユーザーとグループ0だけがコピーによるバックアップを行うことができる。

デフォルトは200。