VS Code Remote - SSH:"Lockfiles in Tmp" 和 "Use Flock" 之间的区别?
VS Code Remote - SSH: difference between "Lockfiles in Tmp" and "Use Flock"?
我正在尝试使用 VS Code 扩展 Remote - SSH (v0.63.0) 在远程系统上开发 C/C++ 代码。
远程系统是使用 OpenAFS 的数十台 Linux (Ubuntu 14) 台机器的集群。
我运行遇到了问题:
- 初始连接:工作正常
- 进一步尝试失败,重试时超时
为了解决,我会删除.vscode-server
文件夹,更改扩展设置,然后尝试重新连接几次。最终,我了解到两种可能的解决方案:
"remote.SSH.useFlock": false
- 这解决了我的问题
"remote.SSH.lockfilesInTmp": false
- 使用相同文件系统的同行建议,我没试过
两者(实际上)有什么区别?哪个更好?
旁白:SSH config
Host foo foo.bar.addr
HostName foo.bar.addr
User qux
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
ControlPersist yes
<total conjecture>
听起来即使服务器关闭,锁也会卡住。所以在重新连接时 vscode 不会启动新服务器(因为锁定)但无法连接到“现有”服务器,因为它已经关闭</total conjecture>
这就是第一个选项 "remote.SSH.useFlock"
的用武之地。它控制 vs 代码是使用 flock 系统调用还是 ln 来锁定文件。设置这将清除您可能遇到的大多数问题,这些问题可能有支持 flock 的问题。
第二个选项 "remote.SSH.lockfilesInTmp"
完全重新定位锁定文件(将它们移动到 tmp),因为即使使用 ln 锁定方法,某些安装(如 SSH)也可能有问题。这里的缺点是这会从实际安装中移动锁定文件。因此,如果存在共享安装的风险(NFS、共享主页、link 到共享区域等),那么 vscode 可能会“错过”锁。
如果 "remote.SSH.useFlock": false
适合你,我会保留它。
如果您需要使用 "remote.SSH.lockfilesInTmp": true
,请注意避免 运行 同一安装中的多个服务器。
我正在尝试使用 VS Code 扩展 Remote - SSH (v0.63.0) 在远程系统上开发 C/C++ 代码。
远程系统是使用 OpenAFS 的数十台 Linux (Ubuntu 14) 台机器的集群。
我运行遇到了问题:
- 初始连接:工作正常
- 进一步尝试失败,重试时超时
为了解决,我会删除.vscode-server
文件夹,更改扩展设置,然后尝试重新连接几次。最终,我了解到两种可能的解决方案:
"remote.SSH.useFlock": false
- 这解决了我的问题
"remote.SSH.lockfilesInTmp": false
- 使用相同文件系统的同行建议,我没试过
两者(实际上)有什么区别?哪个更好?
旁白:SSH config
Host foo foo.bar.addr
HostName foo.bar.addr
User qux
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
ControlPersist yes
<total conjecture>
听起来即使服务器关闭,锁也会卡住。所以在重新连接时 vscode 不会启动新服务器(因为锁定)但无法连接到“现有”服务器,因为它已经关闭</total conjecture>
这就是第一个选项 "remote.SSH.useFlock"
的用武之地。它控制 vs 代码是使用 flock 系统调用还是 ln 来锁定文件。设置这将清除您可能遇到的大多数问题,这些问题可能有支持 flock 的问题。
第二个选项 "remote.SSH.lockfilesInTmp"
完全重新定位锁定文件(将它们移动到 tmp),因为即使使用 ln 锁定方法,某些安装(如 SSH)也可能有问题。这里的缺点是这会从实际安装中移动锁定文件。因此,如果存在共享安装的风险(NFS、共享主页、link 到共享区域等),那么 vscode 可能会“错过”锁。
如果 "remote.SSH.useFlock": false
适合你,我会保留它。
如果您需要使用 "remote.SSH.lockfilesInTmp": true
,请注意避免 运行 同一安装中的多个服务器。