Хм; Я пробовал что-то, основанное на вики (раздел «Большие файлы»), то есть:
sudo unshare -m bash
mount -o remount,rw /nix/store
cd /mnt/foobar
tar c kipnv4i3njqc3hjunp8nv23o2io3-somepackage-0.0.1 | tar x -C /nix/store
printf "kipnv4i3njqc3hjunp8nv23o2io3-somepackage-0.0.1\n\n0\n" | nix-store --register-validity --reregister
exit
и nix-env -qa
теперь, кажется, показывает этот пакет как -P-
(это установлено? Или нет?); не уверен на 100%, что сейчас все в порядке ...
zfs recv -F
заставит принимающий набор данных выполнить откат к предыдущему полученному снимку. Отключение atime решит только проблему проверки людьми файлов в резервной копии, но если есть какие-либо другие изменения, вместо этого вы захотите использовать флаг -F.
Отключения обновления времени доступа должно быть достаточно:
zfs set atime=off bpool/backup
Лично я предпочитаю напрямую монтировать моментальные снимки как -только для чтения, таким образом, мы даже не модифицируем моментальные снимки при построении.
Если вы работаете с зашифрованным набором данных, сначала выполните следующие команды, чтобы загрузить ключи:
$ sudo zfs load-key -a
Затем просто установите его, например, следующим образом (нет необходимости в опциях -o ro
):
$ mkdir /tmp/zp
$ sudo mount -t zfs zpool_my_passport/backup/2020_Dell_laptop@2021_01_05_-_test_update /tmp/zp/
Но если происходит модификация, zfs recv -F
действительно практично (Я просто немного боюсь потери данных с -F
, поэтому я предпочитаю этот метод ).