Closed2

VSCodeでcent osのdev containerにアクセスできなくなった。

名無しのプログラマ名無しのプログラマ

その不具合は突然に

仕事をはじめようといつも通り、vscodeからdev containerを開こうとするとエラーメッセージが出てきた

コンテナーは、VS Codeサーバーのすべての要件を満たしているわけではありません。
Warning: Missing GLIBCXX >= 3.4.25! from /usr/lib64/libstdc ++, so.6.0.19
Warning: Missing GLIBC >= 2.28! from /usr/lib64/libc-2.17.so
Error: Missing requuired dependencies, PLease refer to our FAQ
https://aka.ms/vscode-remote/faq/old-linux for additional information

詳細情報を見てみるとvscodeの公式ページに遷移し、以下の記事が・・・
https://code.visualstudio.com/docs/remote/faq#_can-i-run-vs-code-server-on-older-linux-distributions

Can I run VS Code Server on older Linux distributions?
Starting with VS Code release 1.86, the minimum requirements for the build toolchain of 
the remote server were raised. 
The prebuilt servers distributed by VS Code are compatible with Linux distributions 
based on glibc 2.28 or later, for example, Debian 10, RHEL 8, Ubuntu 20.04.

version 1.86からはglibc 2.28より古いLinux distributionはvscode serverが稼働できないとのこと。。。

対応策としてはversion 1.85より前のバージョンにダウングレードもしくはweb版vscodeやポータブル版のvscodeで開発すればよいとのこと。

ふーーんと思いポータブル版vscodeを落としてきて対応しました。
普通に使えたのそのまま利用しています。

ただ疑問点が2つ、glibcってなんだ!!!なんでglibcが古いと何が問題なのか!!!
そこら辺の疑問点が出てきたので、調査しました。

glibcについて

https://ja.wikipedia.org/wiki/GNU_Cライブラリ

GNU Cライブラリ(グニュー・シーライブラリ、glibc、ジーリブシー)は、GNUプロジェクトによる標準Cライブラリ実装。
元々はGNUオペレーティングシステム向けにフリーソフトウェア財団 (FSF) が作成したもので、
2001年からは主要なコントリビュータでメンテナーでもあるレッドハットのウルリッヒ・ドレッパーら
からなる委員会が開発を監督していたが、
2012年3月にコミュニティ主導の開発プロセスへの移行のために委員会の解散が決定した[1][2]。

GNU Lesser General Public Licenseでリリースされているフリーソフトウェアである。

どうやらglibcとはC言語のライブラリらしい。。。
そしてこのライブラリはgnuというOSで利用されていて、
様々なLinux distributionはgnuを利用しているらしい。。。

glibcが古いと何が問題なのか

明確に記載された記事はありませんが、やはりセキュリティ問題が大きいのかなと
glibc関連の脆弱性は結構報告されており、バッファオーバフローを利用して任意のコードを実行させたり、
root権限を奪ったりなどなど脆弱性があるみたいです。

https://nulab.com/ja/blog/nulab/glibc-ghost/
https://security.sios.jp/vulnerability/glibc-security-vulnerability-20231004/

なぜglibc 2.28なんだ!!!という理由は分かりませんでしたが・・・

名無しのプログラマ名無しのプログラマ

2024/02/15 時点

最新版のver 1.86.2では警告ダイアログが出てきて、アクセスを許可を選択すると今まで通り使えるようになりました。
※その際のダイアログのキャプチャを忘れてしまった…

コンテナにアクセスするとvscodeのウインド上に「⚠️Visual Studio CodeでサポートされていないOSバージョンに接続しています。」というメッセージが表示されるようになりました。

やはりなるべくOSのアップデートをする方がよさそうです。
バージョンアップどうしよう…

このスクラップは2024/04/13にクローズされました