当前了解的VScode连接远程服务器的原理,是在服务器上下载安装了一个代理程序,这个过程就是在下载该进程的代码。
由于该代码下载需要联网,如果目标机器无法联网,就会卡住。另外,由于有些情况下,该下载地址在外网,会有下载慢或者被墙的情况。也就可以选择先通过特定地址下载,拷贝到目标机器进行解压安装。
本文介绍两个问题,
1是如何直接下载手动安装该代理;
2是从中观察vscode远程连接造成的目标机器资源占用问题。
1 直接下载手动安装该代理
打开远端项目时会显示setting up: downloading vs code server 之类的提示,这时在远端执行。
查看下载进程
在目标机器上执行
ps aux | grep wget
可以看到
wget --tries=0 --connect-timeout=7 --dns-timeout=7 --show-progress -nv -O vscode-server.tar.gz http://update./commit:b3318bc0524af3d74034b8bb8a64df0ccf35549a/server-linux-x64/stablewget --tries=1 --connect-timeout=7 --dns-timeout=7 -nv -O vscode-server.tar.gz https://update./commit:da15b6fd3ef856477bf6f4fb29ba1b7af717770d/server-linux-x64/stable
找到真正的下载地址
找到真正的下载地址, 将上面的wget 移除-nv
执行
wget --tries=1 --connect-timeout=7 --dns-timeout=7 -O vscode-server.tar.gz https://update./commit:da15b6fd3ef856477bf6f4fb29ba1b7af717770d/server-linux-x64/stable
输出
---05-19 17:11:34-- https://update./commit:da15b6fd3ef856477bf6f4fb29ba1b7af717770d/server-linux-x64/stableResolving update. (update.)... 20.43.132.130Connecting to update. (update.)|20.43.132.130|:443... connected.WARNING: cannot verify update.'s certificate, issued by ‘CN=Microsoft Azure TLS Issuing CA 05,O=Microsoft Corporation,C=US’:Unable to locally verify the issuer's authority.HTTP request sent, awaiting response... 302 FoundLocation: https://vscode./stable/da15b6fd3ef856477bf6f4fb29ba1b7af717770d/vscode-server-linux-x64.tar.gz?1 [following]---05-19 17:11:37-- https://vscode./stable/da15b6fd3ef856477bf6f4fb29ba1b7af717770d/vscode-server-linux-x64.tar.gz?1Resolving vscode. (vscode.)... 221.204.49.35Connecting to vscode. (vscode.)|221.204.49.35|:443... connected.WARNING: cannot verify vscode.'s certificate, issued by ‘CN=DigiCert Basic RSA CN CA G2,O=DigiCert Inc,C=US’:Self-signed certificate encountered.HTTP request sent, awaiting response... 200 OKLength: 55149556 (53M) [application/gzip]Saving to: ‘vscode-server.tar.gz’
拷贝地址到浏览器下载
https://vscode./stable/da15b6fd3ef856477bf6f4fb29ba1b7af717770d/vscode-server-linux-x64.tar.gz?1
处于外网环境,下载速度较快,之后将下载文件重命名为vscode-server.tar.gz
将下载的文件放入对应目录
~/.vscode-server/bin/da15b6fd3ef856477bf6f4fb29ba1b7af717770d
解压
tar xf vscode-server.tar.gz
移动一级目录到上层
mv vscode-server-linux-x64/* .
2 vscode远程连接造成的资源占用问题
大家关注到在~/.vscode-server/bin/下,有时会有进行不同的项目代理,重复进行下载安装的文件目录,但是该目录中文件总大小最终可达到70M以上。
因此可以仅仅保留当前在用到远处连接代理。
另外每次全新连接,该hash值都会变,就会需要重新下载文件,所以尽量不频繁进行安装清理工作。