Создадим с помощью утилиты dd образ флешки с архивацией свободного места. Резервный образ пригодится, если вдруг внезапно перестанет работать оригинал с важной информацией. Например, флешка с закрытыми ключами электронных подписей руководства организации. Итак, у нас есть флешка /dev/sdd объемом 4ГБ, информация на которой занимает около 90МБ.
du -sh /run/media/aleksey/Transcend
1 |
89M /run/media/aleksey/Transcend |
Все команды выполняются от имени пользователя root. Или в соответствующих дистрибутивах перед командами добавляйте sudo.
fdisk -l /dev/sdd
1 2 3 4 5 6 7 8 9 |
Disk /dev/sdd: 3.7 GiB, 3904897024 bytes, 7626752 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xc653eaa4 Device Boot Start End Sectors Size Id Type /dev/sdd1 2048 7628543 7626496 3.7G b W95 FAT32 |
Создав простой образ командой
dd if=/dev/sdd of=sdd.iso bs=4M conv=noerror,
мы обрекаем себя на хранение файла 4ГБ. А если бы флешка была емкостью 64ГБ? И не одна? Эту проблему нам поможет решить обычный архиватор, возьмем стандартный gzip.
dd if=/dev/sdd bs=4M conv=noerror | gzip -c > sdd.iso.zip
где ключ -c позволяет работать со стандартным выводом.
После завершения работы посмотрим на получившийся файл.
ls -al sdd*
1 |
-rw-r--r-- 1 root root 24724643 Feb 8 18:35 sdd.iso.zip |
Получился файл размером примерно 25МБ. Реальная экономия места на диске даже по сравнению с 4ГБ файлом!
Для восстановления флешки из образа используем обратный порядок команд.
gunzip -c sdd.iso.zip | dd of=/dev/sdd conv=noerror bs=4M
Также можно архивировать образы жестких дисков, где объемы на порядок больше.
Кстати! Для наглядности процесса из-за отсутствия у dd своего прогресс-бара предлагаю использовать небольшую утилитку progress — Coreutils Progress Viewer. Установить её в Fedora не составит труда.
dnf install progress
Для других дистрибутивов нужный репозиторий можно найти по ссылке https://pkgs.org/download/progress.
Установив и запустив утилиту командой
watch progress во втором терминале (в первом у нас работает архиватор и dd) от имени того же пользователя, увидим примерно такую картину.
man progress покажет Вам различные полезные ключи этой утилиты.