我正在使用超老的C程序进行密集型计算项目。该程序需要一个名为Sun Performance Library的库,该库是一种商业软件。我不是通过自己购买该库,而是通过使用ssh命令登录到我们的计算机实验室中的Solaris计算机上来运行该程序,而用于存储输出数据的工作目录仍位于本地Mac上。

现在,出现了一个问题:该程序使用大量磁盘空间来保存一些中间结果,并且本地Mac上的空间很快被填充(管理员指定的每个用户50 GB)。这些结果对于下一阶段的计算是必需的,在最终生成输出数据之前,我无法删除其中的任何结果。因此,我必须将工作目录移至外部硬盘驱动器才能继续。明显,

cd /Volumes/VOLNAME

这不是正确的方法,因为远程计算机会提示我
/Volumes/VOLNAME: No such file or directory.

那么,正确的方法是什么?

最佳答案

sshfs最近added support表示“从属模式”,它允许您执行此操作。假设您在Solaris上具有sshfs(我不确定),则以下命令(从Mac运行)将完成您想要的操作:dpipe /usr/lib/openssh/sftp-server = ssh SOLARISHOSTNAME sshfs MACHOSTNAME:/Volumes/VOLNAME MOUNTPOINT -o slave
这将导致服务器上的MOUNTPOINT目录安装到本地外部驱动器上。请注意,我不确定macOS是否具有dpipe。如果没有,您可以使用How to make bidirectional pipe between two programs?上的等效解决方案之一替换它。另外,如果您的SFTP服务器二进制文件位于其他位置,请替换其路径。

关于ssh - 使用ssh命令登录到远程计算机后访问外部硬盘驱动器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42686339/

10-16 15:58