Безопасно ли использовать tar при обновлении исходного каталога?

Согласно vmware-support Вам необходимо назначить MAC-адрес вручную, чтобы избежать автоматического изменения MAC при каждом его перемещении.

Если вы хотите гарантировать, что один и тот же MAC-адрес назначается данной виртуальной машине каждый раз, даже если виртуальная машина перемещается, или если вы хотите гарантировать уникальный MAC-адрес для каждой виртуальной машины в сетевой среде, вы можете назначить адрес вручную, вместо того, чтобы разрешать VMware Workstation назначать его автоматически.

Чтобы назначить одинаковый уникальный MAC-адрес любой виртуальной машине вручную, с помощью текстового редактора удалите три строки из файла конфигурации и добавьте одну строку. Файл конфигурации имеет расширение .vmx в конце имени файла. На хосте Linux виртуальная машина, созданная с помощью более раннего продукта VMware, может иметь файл конфигурации с расширением .cfg.

Как описано:

Удалите из файла конфигурации три строки, начинающиеся со следующего:

 ethernet[n].generatedAddress
 ethernet[n].addressType
 ethernet[n].generatedAddressOffset

В этих параметрах [n] - это номер виртуального адаптера Ethernet, например ethernet0.

Добавьте следующую строку в файл конфигурации:

ethernet[n].address = 00:50:56:XX:YY:ZZ 

Или вы можете отредактировать файл, как в следующем примере:

ethernet[n].addressType = "static"
ethernet[n].checkMACAddress = "false"
ethernet[n].address = "00:50:56:XX:YY:ZZ"

3
13.04.2017, 15:36
2 ответа

1.tar не испортит что-то в исходном каталоге / подкаталогах

Верно, если вы не считаете время доступа к обновлению ошибкой. Кроме этого, tar ничего не меняет в дереве исходных текстов.

2. tar добавит в архив в том виде, в котором он находился в момент построения архива

Правда, для некоторого значения «в данный момент». Если исходное дерево изменяется, пока tar его читает, то, что входит в архив, несколько непредсказуемо. В частности, если файл изменяется, пока tar его читает, нет гарантии, что tar запишет копию файла в том виде, в каком она была в какой-то момент времени. Например, возможно следующее:

  • tar читает байты 0–4095 из foo .
  • Некоторые программы записывают в foo , изменяя байты 4095–4096 за одну операцию записи.
  • tar читает байты 4096–8191 из foo .

Тогда содержимое foo в архиве не является ни старым, ни новым содержимым, это смесь двух. Другой пример: если файл переименовывается, когда tar читает исходное дерево, tar может вообще его пропустить.

3. сигнал успеха будет выдан, даже если произошли описанные изменения

Нет, не обязательно. Если tar обнаруживает, что источник был изменен во время чтения, он может пожаловаться и вернуть статус сбоя. В частности, tar должен записать размер файла в архив перед записью содержимого, поэтому сначала он считывает размер каждого исходного файла. Если он достигает конца файла до достижения записанного размера, очевидного способа восстановления нет, поэтому любая реализация tar должна пожаловаться, по крайней мере, в этом случае.

Для безопасного создания резервных копий используйте инструменты уровня файловой системы или тома для создания моментального снимка и резервного копирования моментального снимка.

4
27.01.2020, 21:10

Нет.

  • Если вы добавите файл после того, как tar просканировал каталог, файл не будет добавлен.
  • Если файл был добавлен в архив, но вы удалили его на диске, он не будет удален из архива.
  • Это применимо также, если вы изменяете содержание.

Unix (не tar) сделает одну вещь:

  • Если файл открыт (для редактирования), когда tar собирает его, вы не будете знать, какая версия файла будет использоваться tar (либо версия в памяти, либо на диске или их смесь).

Помните, что вы можете использовать tar для чтения или записи в канал (на самом деле t в tar означает ленту, то есть когда мир был молод), поэтому tar

  • будет писать за один проход
  • не будет перематывать вывод

Вышесказанное верно для базового tar -c .

  • tar -u добавит новый файл.
  • При преобразовании в файл для синхронизации tar-файла и каталогов может использоваться комбинация команд оболочки tar --diff и tar --delete .
5
27.01.2020, 21:10

Теги

Похожие вопросы