Windows 上の Ubuntu (Linux ではありません): 仕組み

  • Oct 18, 2023

Linux 自体ではなく、Ubuntu が次の Windows 10 メジャー アップデートである Redstone で実行される予定です。

はい、マイクロソフトはそうするつもりです ユーザーが Windows 10 上で Bash をネイティブに実行できるようにする、はい、Ubuntu 次の Windows 10 メジャー アップデートについて、 赤石。

一体どうやって彼らはそんなことをしたのでしょうか? まず、Ubuntuの親会社であるCanonicalとMicrosoftは、Linuxではなくコンテナ内のUbuntuを実行する予定です。 または仮想マシン (VM)、ただし Windows ネイティブ ライブラリおよびプログラム上: Linux 用 Windows サブシステム (WSL)。

Microsoft ビルド 2021

  • 「Quake モード」が Windows ターミナルに登場
  • Teams、Microsoft 365 に開発者フックがさらに追加されました
  • 明らかになった: Power BI、Cosmos DB の機能強化
  • Microsoft、ブロックチェーンを活用した台帳サービスに新たな挑戦を開始
  • Microsoft、「平易な英語」でのコーディングを容易にする
  • MicrosoftとLinux Foundationはコーディングのカーボンフリー化を目指している
  • Edge のアップデートにより、ブラウジングが高速化され、バッテリー寿命が向上します
  • OpenJDK ビルドが一般公開されました

WSLはひっそりと置かれていました。 Windows 10 (ビルド 14251) 1月下旬のコード。 数日後、開発者は次のことを発見しました。 2 つの新しいサブシステム lxcore.sys および lxss.sys、Windows プログラマーが Linux アプリケーションを開発するための架け橋となる可能性があります。 開発者の判断は半分正しかった。

WSL はそのために使用できますが、その最初の仕事は Ubuntu ユーザーモード イメージをサポートすることです。 Microsoft の広報担当者は、「当社は Windows 内に新しいインフラストラクチャである WSL を構築し、その上で 正規の Ubuntu ユーザーモード イメージは、Ubuntu Linux の作成者である Canonical の優れたパートナーによって提供されています。 その結果、Windows 上の Ubuntu でネイティブ Bash を実行できるようになりました。」

Canonical の Ubuntu 製品および戦略エグゼクティブ チームのメンバーであるダスティン カークランド氏は、これは Cygwin のバリエーションではないと指摘しました。 Cygwin の「オープン ソース ユーティリティは、Windows でネイティブに実行できるようにソースから再コンパイルされます」」とカークランド氏は語った。 「ここでは、Windows で直接実行される、ビットごと、チェックサムごとの Ubuntu ELF バイナリについて話します。」

カークランド氏は続けて、「マイクロソフトの鋭敏な開発者チームは、いくつかの機能を適応させるために熱心に取り組んできました。 基本的に Linux システムコールの Windows OS へのリアルタイム変換を実行する Microsoft の研究テクノロジー システムコール。 Linux マニアは、これを「WINE」の逆のようなもの、つまり Windows でネイティブに実行される Ubuntu バイナリと考えることができます。 Microsoftはこれを「Windows Subsystem for Linux」と呼んでいます。 (いいえ、現時点ではオープンソースではありません。)

すでに「泥道を走る100メートルの短距離走選手のような走りだろう」と言う人もいる。 間違っている。 カークランドさんは「本当に暑いです。 の システムベンチ ユーティリティは、ほぼ同等の CPU、メモリ、および I/O パフォーマンスを示しています。」

WSL はまだゴールデンタイムに向けた準備ができていません。 Canonicalの代表者は、「まだ初期段階にあり、これはベータ版だ」と述べた。

カークランド氏は次のように付け加えた。 LTP 合格し、うまく機能します。 しかし、特に tty と vt100 に関しては、まだ不完全な点がいくつかあります。 私の愛する人 屏風, 画面、 そして tmux まだ完全には機能していませんが、それに近づいています。」

これは新しいアイデアではありません。 実際、それはまったく古い概念です。 それは Windows にまで遡ります NT POSIX サブシステム. NT Posix は、ネイティブ Unix (Linux はまだ作成されていませんでした) のバイナリを Windows NT 上で実行するように設計されました。

多くの人が「なぜ!?」と私に尋ねてきました。 カークランド氏はインタビューで、スティーブ・バルマー氏と同じように「開発者、開発者、開発者。 Microsoft は、今日の開発者はデスクトップ上で Windows または Mac (あるいは Ubuntu) を実行するかもしれないが、必然的に多くの時間を Linux シェルで費やすことになることを認識しています。 Windows 10 のこの新機能が登場する前は、Windows ユーザーは VM を実行するか (リソースが大量に必要)、クラウド インスタンスに SSH で接続するか (接続が必要)、Cygwin をいじる (ハック的で遅い) 必要がありました。 この新機能を使用すると、Windows ユーザーは Windows のスタート キーを押し、「bash」または「ubuntu」と入力するだけで、リッチなファイルが表示されます。 Ubuntu シェル。Ubuntu のすべてと apt の全世界のほとんどにアクセスでき、仮想化や仮想化を行わずにネイティブに実行されます。 再コンパイル。」

何を期待します

Microsoft ビルド 2016

Mary Jo Foley の Microsoft Build 2016 開発者カンファレンスのウォッチ リスト。

今すぐ読む

カークランド氏はブログ投稿で次のように続けた、「これは、開発者にとってのオープンソースの重要性についてのマイクロソフトによるほとんど現実離れした支持だ。 無料のオープンソース テクノロジの世界を地球上の Windows 10 デスクトップに直接橋渡しできる素晴らしい機会です。 そして、パブリック クラウドで Ubuntu と Linux をさらに学習し、使用するための素晴らしいベクトルです。」

クラウドについて、カークランド氏はインタビューで次のように付け加えた。 Ubuntu は Azure で最も人気のある Linux ディストリビューションです そして他の雲。 Windows デスクトップにネイティブの Ubuntu シェルが直接組み込まれているため、コードの記述が非常に簡単になります。 Visual Studio、vim、または emacs を使用して、それを git、scp、または rsync でクラウド インスタンスにプッシュする、またはその逆 その逆も。 明らかに、それらのクラウド インスタンスの多くは Azure Ubuntu インスタンスになります。」

Canonical の創設者である Mark Shuttleworth は、こ​​の新しいテクノロジー パートナーシップに興奮しています。 Shuttleworth 氏は、「仮想化やエミュレーションを使用せずに、Windows 上で完全な Ubuntu 環境をネイティブに利用できることは、常識を覆すマイルストーンです。 私たちは Ubuntu for Windows を支持し、この驚くべき新しい方法で Linux を探求する Windows 開発者のニーズに応えることに尽力できることを嬉しく思います。」

試してみませんか? Windows 10 用の最初の Ubuntu イメージである Ubuntu 14.04 LTS が間もなく利用可能になります。 Ubuntu 16.04 LTSは、Ubuntu 14.04 に代わるもので、4 月 21 日のリリース直後に Windows ストアで入手できるようになります。 イメージは Redstone のコードに依存しているため、Windows Build 14251 以降を実行する必要があります。 マイクロソフトがリリースすることを発表したばかりです Windows 10 レッドストーン 1、別名「Windows 10 Anniversary Update」、または私にとって Windows 10 SP1 がこの夏に登場します。

関連記事:

  • Microsoft が Windows 10 で Bash をサポートする方法は次のとおりです
  • Microsoft と Canonical が提携して Ubuntu を Windows 10 に導入
  • Microsoft、Windows 10上で動作するBash on Linuxを披露へ