Лучший способ копирования полного / 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 работает на моей машине?
  • Как я могу разблокировать KDE Wallet автоматически на nixos?
  • Как установить пакеты npm в NixOS?
  • управлять пакетами системного профиля в NixOS
  • Отключение параметров упрощения безопасности для среды `nix-shell`
  • Как узнать, какой (не установлен) пакет принадлежит файлу на NixOS?
  • Как добавить одноразовые пакеты в конфигурацию декларативно?
  • Как передать переменную enivironment в nixos buildFHSUserEnv?
  • Выключение системы непосредственно из диспетчера отображения Xmonad - SLiM
  • Как добавить скрипты для udev для запуска
  • Диспетчер пакетов nix: предупреждение perl: ошибка настройки локали
  • Linux и Unix - лучшая ОС в мире.