2

Я пытаюсь скопировать закрытие 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.

1 ответ1

1

Я нашел обходной путь для этого, отсюда. Скрипт для предоставления команд 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 не обрабатывает это автоматически.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .