Для GNU cp
и GNUtar
(стандартных реализаций в большинстве дистрибутивов Linux, включая CentOS ), они обе создают файл в -месте. Я почти уверен, что то же самое верно и для большинства других реализаций. Однако не так уж сложно написать скрипт-оболочку, чтобы сделать его функционально атомарным. Я не уверен насчет Windows, но я не думаю , что она предоставляет больше гарантий атомарности операций файловой системы, чем POSIX.
Также стоит отметить, что mv
является атомарным только в том случае, если он не пересекает границу файловой системы, в противном случае он становится эквивалентным запуску cp
и последующему удалению исходного файла.
Я не могу оставлять комментарии, поэтому позвольте мне опубликовать это как ответ, который скоро будет удален. :У меня была точно такая же проблема на прошлой неделе. Может быть, вы установили Windows в режиме UEFI, а Fedora в режиме Legacy или наоборот?