Каждый раз, когда Вы удаляете использование файла rm
команда, данные файла никогда не удаляются. Другими словами, блоки в файловой системе, содержащей данные, все еще там.
То, что происходит, - когда Вы работаете rm
команда, система отмечает inode, принадлежащий тому файлу, столь же неиспользованному и блоки данных того файла также как неиспользованный (но не вытер). Однако ext3
нули большинство полей в inode, когда файл удален.
Эта нормальная маркировка неиспользованных сделана для скорости... Иначе для удаления потребуется еще некоторое время. Вот почему Вы, возможно, отметили, что удаление даже больших файлов быстрее (можно восстановить данные, если это блоки данных не перезаписывается).
Подробнее: Структура Inode, Как удаление файла работает
Я обычно использую одну из следующих альтернатив:
rsync -aHAX
(добавьте v для многословия), удостоверяется, что Вы сохраняете любую структуру ссылки и x-attrs в целевой папке при копировании. Не забывать a
средства архивируют, и уже сохраняет время, владение и полномочия.tar cvf
(не сжимайтесь, чтобы сэкономить время, просто смолить их), то, что я использую, если первый не встречает то, в чем я нуждаюсь по любой причине, и у меня нет времени, но я всегда пробую первый.Чтобы проверить, что все пошло, как это должно, можно работать diff -r <folder1> <folder2>
впоследствии, если Вы хотите.
При чтении ответа в комментариях, на которые это походит, Вы возможно пытаетесь скопировать корневую папку ("Мое устройство, не загрузит использование скопированного каталога"). В этом случае существует несколько вещей, которые необходимо сделать.
$ cd /
$ mkdir backups
$ tar -cvpf /backups/fullbackup.tar --directory=/ --exclude=proc --exclude=sys \
--exclude=dev/pts --exclude=backups .
После того как Вы скопировали корневую папку в новую систему, необходимо будет обновить личинку, прежде чем она загрузится.
$ grub-install --recheck /dev/sdX (Where X is the partition number)
$ update-grub
tar c
затем tar x
это. Строка над заголовком, хотя должен был удостовериться, что моя машина была прочь, так как я загружал ее с помощью FS, который был локальным для моей машины, но удаленным к устройству, которое я загружал (я запускал устройство через NFS)
– TopGunCoder
18.10.2013, 15:13
grub-install: error: embedding is not possible, but this is required for cross-disk install.
– Vitaly Zdanevich
28.02.2018, 02:28
Используя du
сравнить папки по сути неприятно. Если Вы хотите действительно выдержать сравнение, 2 каталога, базирующиеся просто на их размерах затем, используют du
как это:
$ du -sh --apparent-size <dir>
Этот переключатель сообщит о каталогах acutual размер по сравнению с количеством дискового пространства, которое это использует при хранении на носителе физического диска. Диски организованы в блоки, и файлы записаны в эти блоки. Если файлу только будет нужен БЛОК + 1 из пространства, то это использует 2 ценности БЛОКОВ пространства, и это что du
обычно отчеты. Помните, что название инструмента является использованием диска!
Учитывая Вы имеете дело с тем, что походит на всю файловую систему, которую я был бы склонен использовать dd
сделать точную копию раздела, что каталог идет
$ dd if=/dev/sda1 of=/srv/boot.img
Можно затем использовать это boot.img
восстановить раздел везде, где Вы хотите.
$ dd if=/srv/boot.img of=/dev/sdb1
du -sh /var
дает 21G, но du -sh --apparent-size /var
дает 209G в моей системе.
– Victor Roetman
19.05.2016, 23:48
Вы могли попробовать FSArchiver. Это - преемник подобного partimage, который теперь не сохраняется. Я использовал и partimage и FSArchiver в прошлом, и они оба работали хорошо. Насколько я знаю, они оба делают копии файловой системы, которая является максимально близко к идентичному оригиналу. Я думаю, что FSArchiver немного более мощен, чем partimage. Например, это работает с ext4, в то время как partimage не делает. См. сравнительную таблицу FSArchiver/partimage.
Это зависит немного от того, под чем Вы подразумеваете "идентичный".
rsync
был бы прекрасен большую часть времени. Иногда Вы хотите использовать tar
упаковать все в файле и извлечь его в другом месте.dd
скопировать саму целую файловую систему. Если Вы имеете, любой означает отлаживать Ваше устройство, пытаться узнать, что точно является проблемой, почему это в настоящее время не убегает.
du -s
различие. Я использовалrsync -axXSAH
скопировать все.-x только скопирует в файловой системе и не файлах, смонтированных от другой файловой системы. – Victor Roetman 19.05.2016, 23:45