Лучший способ копирования полного / nix / хранения по сети с одной машины nixos на другой
В настоящее время я использую:
find /nix/store/* -maxdepth 1 | xargs -L <N> nix-copy-closure --sign --gzip --use-substitutes --to <remote machine>
- В новом выводе nixos, основанном на двоичном дистрибутиве, почему я получаю ошибку, ссылаясь на nativeBuildInputs?
- Java SDK для NixOS для IntelliJ
- Как отключить приостановление на закрытой крышке ноутбука на NixOS?
- Команда, чтобы посмотреть, какая версия NixOS работает на моей машине?
- Имеет ли диспетчер пакетов Nix спецификацию формата данных, позволяющую альтернативные реализации, подобно Git?
Где N
– некоторое разумное число, которое не сделает длину строки слишком длинной для xargs
.
Есть ли более идиоматический способ сделать это на двух работающих машинах?
редактировать:
Преимущества вышеуказанного метода:
- Не копирует замыкания, которые существуют на обоих концах. Это также означает, что вы можете остановить передачу и выбрать, где вы остановились, а затем некоторые хеш-проверки накладных расходов
-
--use-substitues
Это заставит удаленный компьютер сначала загрузиться из двоичных кэшей, а затем отправить вторую. Это замечательно в общем случае отправки файлов с моего ноутбука на удаленный сервер, на котором удаленный сервер часто имеет в 100 раз большую пропускную способность для двоичного кеша nix по сравнению с моим ноутбуком -
nix-copy-closure
копирует по ssh, поэтому передача зашифровывается. - nix-copy-замыкание, к моим ограниченным знаниям, не должно мешать другим операциям, происходящим в магазине nix.
Онлайн-справочная страница для nix-copy-closure
- Как сделать самозаверяющий сертификат сохраняющимся в nixos?
- Как разбить /etc/nixos/configuration.nix на отдельные модули?
- Как я могу установить Dragon Player на NixOS?
- Установка NixOS в многозагрузочной системе с GRUB (от установки Arch)
- NixOS: отсутствуют драйверы OpenGL
- Как установить браузер по умолчанию в NixOS?
- Как узнать, какой (не установлен) пакет принадлежит файлу на NixOS?
- В NixOS, как добавить пользователя в файл sudoers?
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