Добавьте ПУТЬ к ячейке с другой машины

#linux #path

Вопрос:

Я хочу создать программу на машине A. Однако файл Makefile вызывает программу с машины B.

Как я должен определить или связать ПУТЬ от машины B к машине A? Есть ли какой-либо способ подключить папку с компьютера B на компьютер A в качестве диска, а затем добавить ПУТЬ?

Спасибо.

Ответ №1:

Вы смешали два вопроса: как скопировать (или смонтировать) файл (или каталог) с удаленного хоста и как задать ПУТЬ, чтобы ваш файл Makefile мог его найти.

Для первого: TLDR, вы должны использовать sshfs или scp. Длинная версия доступных опций:

  1. sshfs: Самый быстрый способ. Он просто устанавливает SSH-соединение с вашим хостом B, поэтому для него не требуется никакого специального сервера, кроме SSH. Однако он использует предохранитель, поэтому работает медленнее. Не требуется root, так как это решение для каждого пользователя.
  2. NFS: Для настройки NFS требуется некоторая работа, но как только она заработает, она обеспечит плавную интеграцию с вашей системой. Чтобы получить максимальную отдачу от NFS, вам необходимо настроить LDAP, Kerberos и карту идентификаторов NFS, даже если незашифрованная анонимная NFS все еще работает. Затем вам необходимо подключить сервер NFS к точке подключения всей системы. Наконец, вы можете просто работать с этой точкой монтирования, и это похоже на ваш локальный жесткий диск: разрешения просто работают. Требуется root, так как он должен быть смонтирован глобально. Лично я не рекомендую вам использовать этот подход, так как он слишком сложен для ваших требований. Рекомендуется использовать общий /home диск.
  3. scp: Используйте scp для копирования одного файла с удаленного хоста без подключения файловой системы sshfs FUSE. Это тоже быстро.
  4. SMB: Я не часто им пользовался, но он такой же сложный, как NFS, и его интеграция разрешений не такая простая, как в NFS. Имейте в виду, что для этого требуется много усилий, особенно с разрешениями.
  5. FTP / HTTP / …: Все работает, и они проще, чем SMB или NFS, но все равно их сложно настроить (вам нужно настроить отдельный сервер), чем sshfs или scp.

Сложность: SMB gt; NFS gt;gt; FTP / HTTP gt;gt;gt; SCP / SSHFS (лучше всего соответствует вашим требованиям)

По второму вопросу, как только вы скопировали двоичные файлы на локальный хост или смонтировали удаленный каталог в локальную точку монтирования, вы можете просто установить переменную среды PATH примерно так lt;/directory/of/mountpoint/or/parent/directory/to/the/binarygt;:$PATH . Это можно сделать в скриптах Makefile или оболочки (например export PATH=appended_path:$PATH ).

Надеюсь, это поможет.