Самая полная резервная копия /dev/sdX с помощью dd, tar, gz, xz.
Каков наиболее полный способ резервного копирования/восстановления всего /dev/sdX (в/из файла), включая таблицу разделов устройства и флаги разделов , все возможные метаданные, владельцев, права доступа к файлам, списки управления доступом , время создания/доступа/изменения, атрибуты файлов (например, добавлять только (a) или неизменяемый (i)), xattrs, флаги прав доступа (например, setuid, setgid, липкий бит), атрибуты, специфичные для файловой системы, и т. д., хочу ли я получить сжатый файл резервной копии? Разделы /dev/sdX могут быть отформатированы в ext4, fat, exfat, ntfs, в другой файловой системе для каждого раздела или нет.
Самый простой способ — использовать или дажеdump
утилиту, но в результате мы получим большой несжатый файл (.iso, .img, .bin и т. д.). Но что дальше?
Я вижу некоторые варианты, которые хотелось бы использоватьdd | gzip
или труба, но я не уверен, что это сохранит все необходимые данные с учетом этого ответа . Кроме того, я не уверенgzip
может предложить наиболее эффективный механизм сжатия.
Другой вариант — использовать самые современные, эффективные и многопоточные инструменты сжатия, такие как. Но человек говорит
После успешного сжатия или распаковки файла xz копирует владельца, группу, разрешения, время доступа и время модификации из исходного файла в целевой файл. Если копирование группы завершается неудачей, разрешения изменяются таким образом, что целевой файл не становится доступным для пользователей, у которых не было разрешения на доступ к исходному файлу. xz пока не поддерживает копирование других метаданных, таких как списки управления доступом или расширенные атрибуты.
Имеет ли это значение, если я использую его в канале с dd, который копирует блоки, а не файлы? Этоsudo dd if=/dev/sdX | xz -9 --threads=0 --keep -v > output.img.xz
достаточно канала, чтобы сохранить все указанные данные? И трубка типаxz -dck output.img.xz | dd of=/dev/sdX status=progress
восстановить резервную копию? Нужно ли мне беспокоиться о метаданных (атрибутах, списках управления доступом и т. д.)?
Я не уверен, что нет, учитывая цитату из xz
руководства xz :
--keep Не удалять входные файлы. Начиная с xz 5.2.6, эта опция также заставляет xz сжимать или распаковывать, даже если входные данные представляют собой символическую ссылку на обычный файл, имеют более одной жесткой ссылки или имеют установленный бит setuid, setgid или липкий. Биты setuid, setgid и Sticky не копируются в целевой файл.
Нужно ли мне беспокоиться о таких параметрах команды, как--xattrs
,
--acls
в случае, когда я используюdd | tar
трубка?
Наконец, нужно ли мне всегда указыватьbs
атрибутdd
команда, если я создаю резервную копию всего /dev/sdX и использую сжатый файл в качестве промежуточного хранилища резервной копии, если я хочу получить наиболее идентичную копию исходного устройства в результате восстановления? В этом случае какой размер bs предпочесть?
Может быть, мне нужно предпочестьfsarchiver
или что-то подобное вместо dd, но оно используется реже и еще не выпущено как v1.x.