Лучший способ копирования полного / nix / хранения по сети с одной машины nixos на другой

В настоящее время я использую:

find /nix/store/* -maxdepth 1 | xargs -L <N> nix-copy-closure --sign --gzip --use-substitutes --to <remote machine>

Где N – некоторое разумное число, которое не сделает длину строки слишком длинной для xargs .

Есть ли более идиоматический способ сделать это на двух работающих машинах?

редактировать:

Преимущества вышеуказанного метода:

  • Не копирует замыкания, которые существуют на обоих концах. Это также означает, что вы можете остановить передачу и выбрать, где вы остановились, а затем некоторые хеш-проверки накладных расходов
  • --use-substitues Это заставит удаленный компьютер сначала загрузиться из двоичных кэшей, а затем отправить вторую. Это замечательно в общем случае отправки файлов с моего ноутбука на удаленный сервер, на котором удаленный сервер часто имеет в 100 раз большую пропускную способность для двоичного кеша nix по сравнению с моим ноутбуком
  • nix-copy-closure копирует по ssh, поэтому передача зашифровывается.
  • nix-copy-замыкание, к моим ограниченным знаниям, не должно мешать другим операциям, происходящим в магазине nix.

Онлайн-справочная страница для nix-copy-closure

2 Solutions collect form web for “Лучший способ копирования полного / nix / хранения по сети с одной машины nixos на другой”

Я предпочитаю использовать nix-serve для обмена пакетами между ноутбуками

 % nix-env -i nix-serve % nix-serve -p 8080 

больше вариантов обмена пакетами nix между машинами, описанными в руководстве nix

Я предпочитаю использовать scp . Команда ниже скопирует все рекурсивно на ваш удаленный компьютер:

 scp -r /nix/store/* your_user@host_name:/path/to/store/copy 

Если вы хотите сохранить время модификации, время доступа и режимы из исходного файла, используйте флаг -p .

Чтобы оптимизировать производительность scp и увеличить скорость, используйте blowfish в качестве чипера и включите сжатие следующим образом:

 scp -c blowfish -r -C /nix/store/* your_user@host_name:/path/to/store/copy 
  • Загрузочный NixOS ISO не работает (18.03.132847)
  • Как настроить параметры авторизации postgres в nixos?
  • Каков надлежащий способ установки внешних устройств на NixOS
  • NixOS не появляется в Grub (серия Sony Vaio E)
  • Быстро перезагрузить nix-выражение в nix-shell?
  • cURL не признает сертификат
  • Как обновить netbeans с помощью packageOverride в configruation.nix?
  • Как настроить systemd-journald на NixOS?
  • Как найти имя пакета Nix для его установки в файле configuration.nix?
  • Как передать переменную enivironment в nixos buildFHSUserEnv?
  • `ld: не могу найти -lc` на NixOS
  • Linux и Unix - лучшая ОС в мире.