Hiện tại tôi đang sử dụng:
find /nix/store/* -maxdepth 1 | xargs -L <N> nix-copy-closure --sign --gzip --use-substitutes --to <remote machine>
Đâu N
là một số hợp lý sẽ không làm cho độ dài dòng quá dài xargs
.
Có một phương pháp thành ngữ hơn để làm điều này trên hai máy đang chạy?
biên tập:
Ưu điểm của phương pháp trên:
- Không sao chép các bao đóng tồn tại ở cả hai đầu. Điều này cũng có nghĩa là bạn có thể dừng chuyển khoản và chọn nơi bạn rời đi sau đó kiểm tra băm
--use-substitues
Điều này sẽ làm cho máy từ xa tải xuống từ bộ đệm nhị phân trước rồi gửi máy thứ hai. Điều này thật tuyệt vời trong trường hợp phổ biến là gửi các tệp từ máy tính xách tay của tôi đến một máy chủ loại bỏ nơi máy chủ từ xa thường có băng thông gấp 100 lần so với bộ đệm nhị phân của nix so với máy tính xách tay của tôinix-copy-closure
bản sao qua ssh để chuyển được mã hóa.- nix-copy-clos, theo hiểu biết hạn chế của tôi, không nên can thiệp vào bất kỳ hoạt động nào khác xảy ra trên cửa hàng nix.
/nix/store/*
cho-bash: /run/current-system/sw/bin/find: Argument list too long
.find /nix/store -maxdepth 1
không có vấn đề đó