徹底解決VSCode無法遠程ssh,提示The remote host may not meet VS Code Server‘s prerequisites for glibc and libstdc++
前言:這個錯誤是在第二天嘗試重新連接服務器時出現的,在輸入服務器密碼后一直無法重新連接,彈出如題所示的錯誤提示,之前一直沒有問題,搜尋了網上所有的解決方案也無果,最后再仔細查看了log日志才終於找到解決方案。如果你也有遇到同樣的問題,此篇博文一定能解決你的問題
1. 由於每次遠程連接,vscode都要在服務器上創建臨時文件,所以可能是apt-get的軟件管理空間緩沖區不足,使用如下命令清空文件夾,不會出現問題,因為此命令刪除的都是已經安裝好的deb安裝包文件。
目錄名為/var/cache/apt/archive
使用如下命令:
cd /var/cache/apt/archive
sudo apt-get clean
2. 嘗試上述后,可以嘗試能否成功,若不成功,則可能這個目錄分配的空間已經不足,因此可以將這個目錄軟鏈接到其他目錄,使用命令 ”ln -s 源地址 目的地址“,具體如下:
可以參考鏈接:
CSDN Bolg
2.1 查看磁盤空間
df -h
2.2 將剩余空間較大的目錄作為軟鏈接目標:
先使用mkdir命令,在足夠空間的目錄中創建一個文件夾作為源目錄,然后將原來的目錄刪除,創建軟鏈接。即進入/var/cache/apt/archives實際上進入了/dev/shm/debs目錄:
mkdir /dev/shm/debs
sudo rm -rf /var/cache/apt/archives
sudo ln -s /dev/shm/debs /var/cache/apt/archives
此方法后,我的VSCode仍然無法鏈接,如果你已經成功那么恭喜你,如果還沒成功就接着往下看。
3.最終方案,擴容!
在上面的磁盤空間截圖中,有這樣一個分區:
/dev/mapper/ubuntu--vg--ubuntu--lv,此分區在擴容之前是uesd:100%.
我們可以簡單的把他理解為資源池,每當臨時創建文件時,都是在這里面分配空間,具體可以自行百度。總之,在ssh鏈接的log文件中,出現這樣的提示:
“cannot create temp file for here-document: No space left on device”,是因為資源池空間不夠,我們直接擴容即可得到最終的解決方案,參考鏈接:知乎
所需要執行的命令總結如下(注意兩命令缺一不可):
sudo lvresize -L +60G /dev/mapper/ubuntu--vg-ubuntu--lv
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
再次嘗試ssh成功!
最后,如果你也看到了這里,那么希望你也順利的解決了問題,祝順利_!