как сделать резервную копию img только с использованными данными, а НЕ с пустым пространством?

У вас есть несколько вариантов: защитить свой resolv.conf, изменить код dhclient и отключить автообновление серверов имен, или отключить DNS с eth0.

Вариант 1: Защита от записи файла /etc/resolv.conf:

$ chattr +i /etc/resolv.conf

Опция +i (атрибут) защищает от записи файл /etc/resolv.conf в Linux так, что никто не может его изменить, включая пользователя root.

Вариант 2: dhclient-script hooks

Откройте файл "resolvconf" в папке dhclient:

$ nano /etc/dhcp/dhclient-enter-hooks.d/resolvconf

и измените код на:

make_resolv_conf(){
    :
}

Приведенный выше скрипт заменит make_resolv_conf() на нашу собственную функцию. Эта функция ничего не делает.

Вариант 3:

Откройте ваш файл ifcfg:

$ nano /etc/sysconfig/network-scripts/ifcfg-eth0

и измените опцию PEERDNS на No:

PEERDNS=no

Bonus: Это не отменит ваш файл resolv.conf и не отключит обновление DNS, но перезапишет вашу таблицу маршрутов. Когда вы посылаете какой-либо DNS-запрос, независимо от содержимого вашего файла resolv. conf он проверит вашу таблицу маршрутов и отправит запрос на определенный адрес:

$ ip route add 8.8.8.8/32 via 192.168.1.1
2
29.08.2017, 10:40
4 ответа

Если вы не можете каждый раз выполнять цикл сжатие файловой системы -> резервное копирование -> увеличение файловой системы(при условии, что файловая система поддерживает как сжатие, так и увеличение и достаточно надежна, чтобы выдерживать такие повторяющиеся циклы без нарушения ), вам следует рассматривать не резервное копирование на уровне блоков (т.е. образ раздела, созданный dd), а резервное копирование на уровне файловой системы (например, образ файловой системы, созданный partclone или около того, который будет пропускать неиспользуемые блоки в способ с учетом файловой системы) или резервное копирование на основе файлов (например, tar, rsync...).

1
27.01.2020, 22:18

Используйте средство создания образов системы, например Ghost (платное) или clonezilla (бесплатное и бесплатное).

Чтобы клонировать образ Pi, вам нужно вставить SD-карту в компьютер, загрузить clonezilla и скопировать образ всей SD-карты в файл на жестком диске. Восстановление — обратный процесс.

0
27.01.2020, 22:18

Да.

Вы должны точно знать, какие данные вы хотите сделать резервной копией. Допустим, у вас есть 4 ГБ данных на диске емкостью 32 ГБ.

Используйте:seek and countс дд.

Чтобы скопировать 4G с накопителя

dd=if/dev/sdb1 of=mybackup.iso bs=1M count=4096 conv=noerror,sync

Вышеприведенное скопирует 4G из раздела /dev/sdb1. Однако вы можете решить скопировать данные из xMB в xGB

.
dd=if/dev/sdb1 of=mybackup.iso bs=1M seek=xMB count=x noerror,sync

мы использовали seek для продвижения вперед, поэтому seek=2G начнет копировать из 2G не с начала, count=x — это объем данных, которые необходимо скопировать, поэтому count=4096 скопирует 4096 x 1MB = 4G

Не забудьте использовать lsblk, чтобы показать свой блок

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0  37.3G  0 disk
|-sda1   8:1    0  19.5G  0 part /
|-sda2   8:2    0  17.2G  0 part /home
`-sda3   8:3    0   511M  0 part [SWAP]

fdisk /dev/sdb
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        4096    40962047    20478976   83  Linux
/dev/sda2        40962048    77111295    18074624   83  Linux
/dev/sda3        77111296    78157823      523264   82  Linux swap / Solaris
-1
27.01.2020, 22:18

После некоторого использования системы вам нужно будет проанализировать, где именно эти 4 ГБ расположены на вашей SD-карте, поэтому ddпростое знакомство с устройством может быть рискованным.

Я предлагаю передать изображение через утилиту сжатия. Даже большие пробелы без содержимого почти не займут места в сжатом изображении :

.
dd if=/dev/sdxxx conv=sync,noerror bs=64K | gzip -c > sdxxx.image.gz
1
27.01.2020, 22:18

Теги

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