nix-copy-closure "команда не найдена" ошибка

413
5ndG

Я пытаюсь скопировать закрытие Nix на свой сервер, используя

nix-copy-closure user@server.com /nix/store/somelonghash-programname 

но я получаю

bash: nix-store: command not found error: cannot connect to 'user@server.com' 

Когда я вхожу на сервер с ssh user@server.comя могу запустить, nix-store --versionи это работает.

Обе машины работают под управлением Ubuntu 16.04.

2

1 ответ на вопрос

1
5ndG

Я нашел обходной путь для этого, отсюда . Сценарий для предоставления доступных команд Nix поставляется в ~/.profile. Я думаю, что причина, по которой они недоступны из-за того, nix-copy-closureчто ssh не является источником, ~/.profileкогда команды выполняются неинтерактивно. Добавление

command=". ~/.profile; if [ -n \"$SSH_ORIGINAL_COMMAND\" ]; then eval \"$SSH_ORIGINAL_COMMAND\"; else exec \"$SHELL\"; fi" 

прежде чем мой открытый ключ SSH (и в той же строке) ~/.ssh/authorized_keysна сервере решает проблему для меня.

Я все еще хотел бы знать, почему nix-copy-closureне обрабатывает это автоматически.

Похожие вопросы