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の公式ページに遷移し、以下の記事が・・・
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について
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権限を奪ったりなどなど脆弱性があるみたいです。
なぜglibc 2.28なんだ!!!という理由は分かりませんでしたが・・・
2024/02/15 時点
最新版のver 1.86.2では警告ダイアログが出てきて、アクセスを許可を選択すると今まで通り使えるようになりました。
※その際のダイアログのキャプチャを忘れてしまった…
コンテナにアクセスするとvscodeのウインド上に「⚠️Visual Studio CodeでサポートされていないOSバージョンに接続しています。」というメッセージが表示されるようになりました。
やはりなるべくOSのアップデートをする方がよさそうです。
バージョンアップどうしよう…