Взято со страницы руководства rsync
:
Описание
Rsync — это быстрый и необычайно универсальный инструмент для копирования файлов. Это может копировать локально, на/с другого хоста через любую удаленную оболочку или к/от удаленного демона rsync. Предлагает большое количество вариантов которые контролируют каждый аспект его поведения и позволяют очень гибко указание набора копируемых файлов. Он известен своим алгоритм дельта-передачи, который уменьшает объем данных, отправляемых через сети, отправляя только различия между исходными файлами и существующие файлы в месте назначения. Rsync широко используется для резервного копирования и зеркалирования, а также в качестве улучшенной команды копирования для повседневного использования. использовать.
Rsync находит файлы, которые необходимо передать, с помощью команды lqquick checkrq. алгоритм (по умолчанию), который ищет файлы, размер которых изменился или во время последнего изменения. Любые изменения в других сохраненных атрибуты (в соответствии с параметрами) создаются в целевом файле непосредственно, когда быстрая проверка показывает, что данные файла не необходимо обновить.
Итак, поведение по умолчанию, как видно из описания:
если len(f1) != len(f2), то rsync
Теперь осталось найти опции, связанные с контрольной суммой. Поиск в руководствах:
-c, --checksum
This changes the way rsync checks if the files have been changed and are in
need of a transfer. Without this option, rsync uses a lqquick checkrq that
(by default) checks if each file's size and time of last modification match
between the sender and receiver. This option changes this to compare a 128-
bit checksum for each file that has a matching size. Generating the checksums
means that both sides will expend a lot of disk I/O reading all the data in
the files in the transfer (and this is prior to any reading that will be
done to transfer changed files), so this can slow things down significantly.
Описание --checksum
- это именно то, что вам нужно для if len(f1) == len(f2) и md5sum(f1) != md5sum(f2 ), затем rsync
. Он будет выполнять 128-битную контрольную сумму для каждого файла, соответствующего размеру.
Но будьте осторожны, потому что эта опция, в зависимости от ситуации, значительно увеличит количество операций ввода-вывода.
Один из способов - переустановка Grub при каждой установке новой системы. Если вы не используете зашифрованный раздел для первой системы, новая установка обнаружит его и добавит в список Grub. В результате вы сможете использовать как первую, так и новую ОС. Это может не установить первую ОС в качестве системы по умолчанию (это единственное значение термина "основная"), но вы можете выбирать между ними вручную.
Однако если вы решите использовать зашифрованный раздел для первой системы, ситуация усложняется, и я не могу вам в этом помочь.
И, наконец, я не могу ответить, есть ли способ не переустанавливать Grub при каждой новой установке ОС, а сохранять некоторую долговременную и гибкую конфигурацию. Это интересный вопрос.
Один из простых способов опробовать различные дистрибутивы - использовать их версии Live CD. (Они есть во многих дистрибутивах.) Установите каждый из них по очереди на USB и загружайтесь с него, пока вы пробуете его. Удалите USB, и вы можете загрузиться с вашей обычной предпочтительной установки.
Если у вас нет зашифрованного диска для каталога $ HOME
, вы сможете легко получить к нему доступ как из временного, так и из предпочитаемого вами дистрибутива.