どうやら、一筋縄ではいかない砂の迷宮に迷い込んだらしい。 この顛末を書き残しておくか。
ある朝いつものようにVisual Studio Codeという名の魔法の絨毯(コードエディタ)に乗り、Remote - SSHという呪文でCentOS 7という古のオアシスへ向かおうとした。 しかし、どうしたことか。 昨日まで確かに繋がっていたはずの道が跡形もなく消え去っていたのだ。
当初は過去に遭遇した砂嵐が原因かと思ったが、いくら儀式をやり直しても道は開かれない。 情報の砂漠を彷徨った末、私はついに真実に辿り着いた。 犯人は砂嵐ではない。 VS Codeのバージョンが1.86へと進んだ「時の流れ」そのものだったのだ。
Microsoftという名の神々がCentOS 7をはじめとする古の土地への道を公式に閉ざしたのである。 これは時代の流れに抗い、失われた道を取り戻すための、ささやかな抵抗の記録だ。
この羊皮紙のあらまし
- この羊皮紙のあらまし
- この羊皮紙が導く者
- 砂漠の道標
- 第一の儀式:失われた道の再現
- 第二の儀式:時の砂を巻き戻す
- 最終儀式:失われた道との再会
- 羊皮紙を巻く前に
- 砂漠で見つけた魔法のランプ
- ラクダの独り言
この羊皮紙が導く者
- VS Codeで、CentOS 7などの古のオアシス(レガシーOS)への道を失った者
- 時の流れから見放されたOSと、どう付き合っていくべきか悩む探求者
- VS Codeの時を遡るという、禁断の魔法に興味がある冒険者
砂漠の道標
- Visual Studio Code(VS Code) - Microsoft製の無料コードエディタ。拡張機能により多様な開発環境を構築可能。
- Remote - SSH - VS Codeの拡張機能。SSHでリモートサーバーに接続し、ローカルと同じ環境でリモート開発できる。
- CentOS 7 - Red Hat Enterprise Linuxのクローン。2024年6月30日にサポート終了したレガシーLinuxディストリビューション。
- glibc - GNU C Library。Linux系OSの基本ライブラリ。バージョンによりアプリケーションの動作可否が決まる。
- libstdc++ - GNU C++標準ライブラリ。C++プログラムの実行に必要。glibcと同様にバージョン依存性がある。
- ダウングレード - ソフトウェアを旧バージョンに戻す操作。互換性確保のため意図的に古いバージョンを使用。
第一の儀式:失われた道の再現
まずは、なぜ道が絶たれたのかを再現する。 VMware(仮想化ソフト)に清浄なCentOS 7の大地を築き、そこに最新のVS Code 1.86.1から旅を試みる。
SSHの呪文を唱えると案の定、警告のメッセージが浮かび上がった。
「この先の土地は、glibcとlibstdc++の古き理(ことわり)に支配されており、我々の新しい魔法は通じぬかもしれぬ」と。
今回は幸運にも「Allow」で道が開けたが、仕事で使っている環境では、この警告と共に道は完全に閉ざされた。 やはり、新しい時代の魔法では、古の土地へは渡れないのだ。
第二の儀式:時の砂を巻き戻す
道がないなら魔法の絨毯そのものを道があった時代まで巻き戻せばいい。 禁断の魔法だが他に道はない。
準備:自動更新という名の「時の流れ」を止める
まずこれ以上、時が進まぬようVS Codeの設定で「Update: Mode」をnoneにし、自動更新の呪いを解く。
これを忘れると何度巻き戻しても再び現代に引き戻される羽目になる。
過去への旅:VS Code 1.85.2のインストール
最新のVS Codeをアンインストールし、道がまだ存在した最後の時代バージョン1.85.2の古文書を探し出し、インストールする。
呪文の再調整:Remote - SSHのダウングレード
時を遡ったことで最新のRemote - SSHの呪文は使えなくなる。 拡張機能の管理画面から「別のバージョンをインストール」を選び、この時代の魔法に適合するバージョンへと再調整する。
最終儀式:失われた道との再会
全ての儀式を終え、再びSSHの呪文を唱える。 すると、どうだろう。警告のメッセージは現れず、かつてのようにスムーズにCentOS 7への道が開かれたではないか。
羊皮紙を巻く前に
今回の旅で判明した真実。
それはVS Code 1.86以降が、glibc >= 2.28とlibstdc++ >= 3.4.25という新しい時代の理を要求するようになった、という事実だ。
CentOS 7のような古の土地は、この理を満たせないため、見捨てられてしまったのだ。
時を遡る魔法の要点
- VS Code 1.85.2へのダウングレード - CentOS 7と互換性のある最後のバージョンへ回帰する
- 自動更新の停止 - 設定で「Update: Mode」を
noneにし、時の流れを止める - Remote - SSHの調整 - 1.85.2に適合するバージョンへ拡張機能もダウングレードする
注意すべき道標
やむを得ず古の土地へ旅を続ける冒険者は、VS Codeの自動更新を止め、時を遡るしかない。 しかし、それはあくまで一時しのぎの延命措置だ。 いつか、その道さえも完全に砂に埋もれる日が来るだろう。
まとめ
時代の流れは抗えぬもの。 CentOS 7のような古のオアシスは、いずれ砂に呑まれ、完全に忘れ去られる定めにある。
この羊皮紙が、同じ迷宮に迷い込んだ旅人の道標となることを願って。 そして、いつの日か我々もまた、新たなオアシスへと旅立たねばならぬ時が来ることを、心に刻んでおこう。
風向きが変わったようだ。 この機を逃さず次の砂丘へと旅立とう。
砂漠で見つけた魔法のランプ
- Tips by Linux distribution | Microsoftの神託(公式アナウンス)
- Visual Studio Code January 2024 (version 1.85) | VS Code v1.85の古文書
ラクダの独り言
ご主人が「道が消えた!」とか言って、魔法の絨毯を古いものに取り替えたり、呪文を書き換えたり、大騒ぎしていたぜ。 俺に言わせりゃ、自分の足で歩けば道なんてどこにでもあるってもんだ。 便利な道具に頼りすぎるから道が消えたくれえで騒ぐことになるんだ。 おっと、また腹が鳴っちまった。