Мне нравится «Диски» ( gnome-disk-utility
) и его способность создавать резервные копии системных разделов.
Но в какой-то момент я прочитал в интернете о программе, которая создала бы такие изображения, которые были бы не такими большими, как весь раздел, а такими же большими, как файлы на нем. Теперь я не могу найти его снова.
Есть ли такая утилита?
Ответы:
В следующем ответе используется TUI , а не GUI- решение:
В зависимости от вашего варианта использования (я использую его для резервного копирования системы), вы можете использовать CloneZilla Live . Это может создать:
Основными преимуществами являются:
Помимо всех этих вкусностей, он также может копировать MBR.
Если резервная копия холодной системы - это не то, что вам нужно, вы все равно можете использовать технологию, на которой основана CloneZilla, и это так
partclone
.источник
Достижение меньших образов дисков обычно выполняется путем не копирования нулевых блоков из исходной файловой системы в образ. Это понятие называется разреженным пространством в файлах или пробелами в файлах, и файловая система вашего хоста должна его поддерживать. немного командной строки, но попробуйте это:
И после установки вы можете использовать:
Это создаст разреженный (нули в файле не записаны) образ вашего диска. где -f = формат, -O выходной формат. sdX диск (также можно использовать разделы). Программа имеет расширенные функции, такие как снимки и различные форматы вывода (vdi, vmdk и т. Д.). Ваше место , где сохранить изображение должно поддерживать разреженные файлы , либо размер будет так же , как большая, так как нули в разделе будет записаны на диск. И чтобы извлечь максимальную пользу из этого, запустите на разделе программу, например
sfill
илиzerofree
найденную в apt, потому что свободное пространство не всегда означает нулевое пространство, и вы хотите максимизировать количество нулевого пространства в файловой системе.Бонусные очки ниндзя. Поскольку linux считает диски «файлами», вы также можете использовать простой cp с условием, что ваш выходной раздел, где вы храните файл, знает разреженные файлы.
Который создаст сырую копию с помощью cp ..
Примеры файловых систем, которые поддерживают разреженные: ext4, btrfs, xfs, ntfs (однако ntfs-3g может не разрешать разреженные записи).
Примеры файловых систем, которые не: fat32.
источник
sudo cp /home/<user>/Ubuntu.img /dev/sdX
, или если вы фантазия дд,sudo dd if=/home/<user>/Ubuntu.img of=/dev/sdX
. То же самое с qemu-img convert .. Если вы говорите, хотите установить виртуальную машину на реальном оборудовании. Когда он записывает назад, он записывает нули на диск, таким образом, вы разбираетесь , так как он должен правильно обращаться к геометрии раздела.Поскольку, похоже, нет какой-либо программы, которая сама по себе удовлетворяла бы двум условиям:
1) иметь графический интерфейс в стиле «Disks»;
2) Создайте образ диска размером с используемое пространство,
Я думал о довольно простом обходном пути, но с участием двух программ с графическим интерфейсом, очень распространенных в Ubuntu:
Одним из них будут те же «Диски» (gnome-disk-utility) , используемые для создания образа резервной копии данного раздела, а вторым будет Gparted, чтобы максимально сжать раздел перед созданием его образа резервной копии, и после этого изменить его размер до оригинального .
Я не вижу неудобств в такой операции: сжатие раздела до минимума займет всего несколько минут (около минуты для 10 ГБ) и создаст пустое пространство справа. После создания резервной копии диска с помощью «Дисков» с помощью Gparted можно изменить размер раздела обратно вправо в пустое пространство до его исходного состояния, и это займет всего несколько секунд.
Протестировано на разделе с установкой Ubuntu:
максимально сократить усадку с помощью Gparted
резервный образ этого раздела с дисками
восстановить образ с Дисками на раздел размером больше изображения; этот раздел должен быть сначала размонтирован: Как правильно восстановить системный раздел (iso-образ) с помощью «Дисков» .
источник
Изменить : Это не будет работать хорошо, если файлы, удаленные из файловой системы, все еще присутствуют в разделе, поэтому сначала необходимо стереть свободное место на целевом разделе:
dd if=/dev/zero of=<path_to_partition_volume>/file.dd && rm <path_to_partition_volume>/file.dd
Затем:
Вы можете прочитать весь раздел раздел за блоком
dd
и вывести все в утилиту сжатия, какgzip
. Скорее всего, любой инструмент сжатия, даже используя самые быстрые / самые низкие настройки сжатия, сожмет все свободное пространство во время процесса.С
gzip
:sudo dd if=/dev/sdX | GZIP=-1 gzip >/path/to/backup.gz
(
GZIP=-1
Временно устанавливает переменную окружения ,GZIP
чтобы-1
достичь наиболее быстрых / наименьшую компрессию)Чтобы восстановить резервную копию:
gzip -d /path/to/backup.gz >/dev/sdX
источник
Как насчет использования
ddrescue
с-S
опцией?Это будет клонировать каждый блок , но нулевые блоков находятся в блоке устройстве
/dev/sdXY
для/<path_to_backup>/backup.img
источник
Его нельзя использовать для копирования на меньший диск. Когда у меня есть диск на 64 Гб, который заполнен данными только на 10%. Я хотел бы иметь возможность скопировать его в файл образа 6 ГБ, который я могу скопировать на его диске 16 ГБ, а затем расширить его до 16 ГБ
Единственная возможность, которую я знаю сейчас, - использовать GParted, чтобы уменьшить оригинал, затем скопировать его и затем изменить размер обоих. Очень рискованная операция, так как вам нужно уменьшить и изменить размер оригинала.
источник
Вы можете использовать
rsync
для резервного копирования только файлы в разделе на другой раздел. Илиtar
создать сжатый архив, содержащий все файлы.Оба, вероятно, имеют (несколько) графических интерфейсов, но я никогда не использовал их сам.
источник
Клонезилла может быть довольно дружелюбной. Live CD не требует использования командной строки - я был бы счастлив назвать его GUI, даже если он не использует мышь - и я думаю, что по умолчанию все в порядке во многих случаях. Проблема в том, что вы явно не вызывали: похоже, она не предназначена для установки в произвольной системе Linux. Он специально для Debian / Ubuntu, и Live CD - самый простой способ его запустить.
Clonezilla / partclone используют клонирование с учетом файловой системы и используют собственный сжатый формат изображения.
Есть еще одна возможность без графического интерфейса для создания простых (монтируемых) разреженных файлов, которые не зависят от обнаружения нулевых секторов.
Если / tmp является виртуальным диском, он предупредит, что ему может понадобиться больше места для временных файлов. Так что вам может понадобиться добавить опцию
--tmp /var/tmp
.источник
virt-sparsify --version
? Опция задокументирована в mine (man virt-sparsify
) ... Я не могу поклясться, что использовал ее, но по крайней мере мой ток/tmp
- tmpfs. Если вы можете использовать--in-place
, похоже, что это позволит избежать временного хранения. Наконец, вы можете попробоватьTMPDIR=/var/tmp virt-sparsify ...
. Документы для моей версии говорят, что именно так вы должны установить каталог tmp для версий до 1.28.