4

Я часто делаю снимки тома ZFS (содержащего AOSP), делаю некоторые изменения (часто извлекаю ZIP-файлы поверх или запускаю сценарии) и затем запускаю diff чтобы увидеть, что изменилось.

Это действительно легко с ZFS:

diff /mnt/vol /mnt/vol/.zfs/2017-10-18_snapshot

Это занимает очень много времени, когда "vol" содержит 63 ГБ в основном небольших файлов.

Очевидно, что ZFS содержит информацию о том, какие файлы различаются, поскольку снимки являются копией при записи.

Есть ли ZFS-ориентированный diff, который может просто спросить у ZFS ответ?

1 ответ1

3

На самом деле есть, и он даже называется zfs diff (документация и примеры)

$ zfs diff tank/home/tim@snap1 tank/home/tim@snap2
M       /tank/home/tim/
+       /tank/home/tim/fileB

Вы также можете различать моментальный снимок и активный набор данных, но только внутри одного и того же набора данных и потомков, и только в действительном временном порядке (то есть от старого к новому, а не от нового к старому, просто поменяйте местами аргументы, если он сначала не работает). Возможные результаты:

M : File or directory has been modified or file or directory link has changed
- : File or directory is present in the older snapshot but not in the more recent snapshot
+ : File or directory is present in the more recent snapshot but not in the older snapshot
R : File or directory has been renamed

Чтобы отфильтровать результаты и использовать их в сценариях, см. Также пример в комментарии в моем другом ответе на StackOverflow.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .