27.1.2 Резервная копия путем переименования или путем копирования?

Существует два способа, которыми Emacs может создать резервную копию файла:

Первый метод, переименование, является настройкой по умолчанию.

Переменная backup-by-copying, если она не равна nil, указывает использовать второй метод, то есть копировать исходный файл и перезаписывать его содержимым нового буфера. Переменная file-precious-flag, если она не равна nil, также имеет этот эффект (как побочный эффект своей основной значимости). См. Сохранение Буферов.

Пользовательская опция: backup-by-copying

Если эта переменная не равна nil, Emacs всегда создает резервные копии путем копирования. По умолчанию установлено nil.

Следующие три переменные, если они не равны nil, заставляют использовать второй метод в определенных особых случаях. Они не влияют на обработку файлов, которые не подпадают под особые случаи.

Пользовательская опция: backup-by-copying-when-linked

Если эта переменная не равна nil, Emacs создает резервные копии путем копирования для файлов с несколькими именами (жесткие ссылки). По умолчанию установлено nil.

Эта переменная значима только в том случае, если backup-by-copying равна nil, поскольку копирование всегда используется, когда эта переменная не равна nil.

Пользовательская опция: backup-by-copying-when-mismatch

Если эта переменная не равна nil (по умолчанию), Emacs создает резервные копии путем копирования в случаях, когда переименование изменило бы владельца или группу файла.

Значение не имеет эффекта, когда переименование не изменит владельца или группу файла; то есть для файлов, принадлежащих пользователю, чья группа соответствует значению по умолчанию для нового файла, созданного пользователем там.

Эта переменная значима только в том случае, если backup-by-copying равна nil, поскольку копирование всегда используется, когда эта переменная не равна nil.

Пользовательская опция: backup-by-copying-when-privileged-mismatch

Эта переменная, если она не равна nil, определяет то же поведение, что и backup-by-copying-when-mismatch, но только для определенных значений идентификатора пользователя и идентификатора группы: а именно, тех, которые меньше или равны определенному числу. Вы устанавливаете эту переменную в это число.

Таким образом, если вы установите backup-by-copying-when-privileged-mismatch в 0, резервная копия путем копирования будет выполняться только для суперпользователя и группы 0, когда это необходимо для предотвращения изменения владельца файла.

По умолчанию установлено 200.