1.99 以上版本微软大战代码(Microsoft VS Code) 连接 centos 7的解决方案(CentOS 7 安装升级 glibc)

前言

根据微软的说明,1.99以上的 vscode 将需要 GLIBC 2.28以上版本,微软官方给出的解决方案是自己编译一套GLIBC。但是这个可行度比较低,实际上我们也可以找到相关的预编译包,直接下载解压即可,不必自己编译。

致谢

MelodiCly在 Ubuntu 12.04 上安装了新版本的GLIBC,并成功运行 vscode。如果你是ubuntu系统,可以参考上文。如果你是centos 7系统,可以参考本文。本文的一些内容参考了上述文章。

操作步骤

  1. 首先创建一个工作文件夹并进入
mkdir glibc
  1. 下载glibc-2.28-251.el8_10.27.x86_64.rpm并解压
cd glibc
wget https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/x86_64/baseos/os/Packages/g/glibc-2.28-251.el8_10.27.x86_64.rpm
mkdir glibc-2.28-251.el8_10.27.x86_64
cd glibc-2.28-251.el8_10.27.x86_64
rpm2cpio ../glibc-2.28-251.el8_10.27.x86_64.rpm | cpio -idmv
cd ..
  1. 下载libstdc++-8.5.0-28.el8_10.x86_64.rpm并解压
wget https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/x86_64/baseos/os/Packages/l/libstdc++-8.5.0-28.el8_10.x86_64.rpm
mkdir libstdc++-8.5.0-28.el8_10.x86_64
cd libstdc++-8.5.0-28.el8_10.x86_64
rpm2cpio ../libstdc++-8.5.0-28.el8_10.x86_64.rpm | cpio -idmv
cd ..
  1. 下载patchelf 0.18.0并解压
    这步需要手动去GitHub下载,下载完成后放置于最初创建的工作文件夹glibc中,得到:patchelf-0.18.0-x86_64.tar.gz,然后将其解压
mkdir patchelf
cd patchelf
tar -xf ../patchelf-0.18.0-x86_64.tar.gz
cd ..
  1. 然后将所有需要的库文件拷贝到一个文件夹,命名为custom_lib_for_vsc
mkdir custom_lib_for_vsc
cp -rd glibc-2.28-251.el8_10.27.x86_64/usr/lib64/* custom_lib_for_vsc/
cp -rd libstdc++-8.5.0-28.el8_10.x86_64/usr/lib64/* custom_lib_for_vsc/
cp patchelf/bin/patchelf custom_lib_for_vsc/
  1. 随后,修改~/.bashrc,添加几行环境变量
export VSCODE_SERVER_CUSTOM_GLIBC_LINKER=/path/to/your/glibc/custom_lib_for_vsc/ld-linux-x86-64.so.2
export VSCODE_SERVER_CUSTOM_GLIBC_PATH=/path/to/your/glibc/custom_lib_for_vsc
export VSCODE_SERVER_PATCHELF_PATH=/path/to/your/glibc/custom_lib_for_vsc/patchelf

并将/path/to/your/glibc替换为你刚刚创建的工作文件夹路径。

  1. 至此,请享用您的微软大战代码程序。

tips

用该方法patch后,使用vscode连接服务器可能会提示你:正在连接到不受支持的操作系统,请点击允许即可。

后记

在GitHub也有一个项目,patch了vscode的server端程序,但是使用该项目patch的vscode,本人无法使用某些插件。转而使用官方建议的上述方法patch,可以正常使用插件。

posted @ 2026-01-09 21:18  王冰冰  阅读(36)  评论(0)    收藏  举报