Linux 用 Windows サブシステム: Windows 上で Linux をシームレスに実行できるようにする

Windows と Linux は、世界で最も広く使用されているオペレーティング システムです。ただし、この 2 つはまったく異なります。Windows は、世界最大のソフトウェア会社の 1 つである Microsoft の商用製品です。対照的に、「Free and Open Source Software」(FOSS) としての Linux は、何千人ものボランティアの共同作業です。

Windows は主にプライベート環境とビジネス環境で使用されます。Linux は、プロフェッショナルおよび個人のサーバーおよびコンピューター上で実行されます。多くの開発者は Linux を使用しています。さらに、オープン オペレーティング システムは、Android 携帯電話オペレーティング システムの基礎です。

Windows Subsystem for Linux (WSL) を使用すると、Windows ユーザーは何千ものフリー ソフトウェア パッケージやオープン ソース ツールにアクセスできます。以前は、これには専用のデュアルブート Linux 環境で仮想マシンをセットアップするか、コンピュータを再起動する必要がありました。しかし、WSL を使用すると、わずか数クリックで完了します。

Linux 用 Windows サブシステム

Linux 用 Windows サブシステムとは何ですか?

Linux 用 Windows サブシステムは、ネイティブ Linux プログラムを Windows コマンド ラインから直接実行できるようにする互換性レイヤーです。具体的には、WSL では、標準の Executable and Linkable Format (ELF) で 64 ビット Linux バイナリを実行できます。

Linux 用 Windows サブシステムは、Windows 10 以降で利用可能です。しかし、Windows ユーザーが使い慣れたデスクトップ環境から Linux ツールを簡単に使用できるようにするという Microsoft の関心はさらに遡ります。たとえば、WSL は「Microsoft Windows Services for UNIX」(SFU/Interix) プロジェクトから生まれました。このプロジェクトは、すでに Windows NT に統合されている「POSIX サブシステム」をさらに発展させたものです。この開発は Windows Subsystem for Linux 2 (WSL2) でも継続されます。

WSL がリリースされる前に、ユーザーは Windows と Linux の世界の最良の部分を組み合わせることを試みる必要があります。原則として、Linux プログラムを Windows 上で実行するには 2 つの方法があります。

  1. 仮想マシンを使用します。Windows 上の仮想コンピュータとして Linux を完全にインストールします。この方法はユーザーフレンドリーで、あらゆる Linux アプリケーションを最大限に活用できますが、ある程度のハードウェア リソースが必要です。さらに、2 つのオペレーティング システムで実行されるプログラム間の互換性には制限があります。

  2. Linux オペレーティング環境 Cygwin を使用します。Windows にインストールすると、多くの一般的な Linux プログラムを使用できるようになります。Windows プログラムと Linux プログラム間の交換は Cygwin を使用して可能ですが、範囲は限られています。

さらに、ユーザーは、既存の Windows インストールと並行して Linux をセットアップできます。ただし、このセットアップはデュアルブートと呼ばれ、対応するオペレーティング システムに切り替えるにはコンピューターを再起動する必要があります。したがって、このオプションを使用して Windows と Linux で実行されているプログラムを切り替えることはできません。

Windows Subsystem for Linux は仮想マシンを必要としないため、非常に優れています。ただし、完全な Linux カーネルが搭載されていないため、すべてのアプリケーションがサポートされているわけではありません。特に、WSL 自体は、グラフィカル ユーザー インターフェイス (GUI) を使用した Linux プログラムの実行を許可しません。これを行う方法も存在しますが、追加のインストールと構成手順が必要です。

WSL を使用するための要件は何ですか?

Windows Subsystem for Linux を使用するのに特別なシステム要件は必要ありません。コンピューターに必要なのは、x64 または ARM プロセッサだけです。これは、ほとんどすべての最新のシステムに当てはまります。さらに、64 ビット Windows 10 バージョン 1709 以降が必要です。使用している Windows のバージョンとエディションがわからない場合は、次の手順で確認できます。

  • Windows ロゴ キー + [R] を押し、表示されるテキスト ボックスに「winver」と入力し、[Enter] を押します。

  • または、[スタート] > [設定] > [システム] > [バージョン情報] > [Windows の仕様] をクリックし、そこにある値を読みます。

Linux 用 Windows サブシステムをアクティブ化/インストールするにはどうすればよいですか?

システム上で Linux 用 Windows サブシステムをアクティブ化するプロセスは簡単です。ここではホームユーザー向けのプロセスを示します。次のように進めます。

  1. [スタート] > [コントロール パネル] > [プログラム] > [プログラムと機能] > [Windows の機能を有効または無効にする] をクリックします。

  2. 「Linux 用 Windows サブシステム」にチェックを入れます。コンピュータを再起動してください。

  3. Microsoft Store を開いて「Linux」を検索します。利用可能な Linux ディストリビューションのリストが表示されます。

  4. 目的の Linux ディストリビューションをクリックし、[インストール] をクリックします。どのディストリビューションが自分に適しているかわからない場合、Popeye は「Ubuntu Linux」をインストールすることをお勧めします。

  5. インストールが完了したら、「開始」をクリックします。

  6. 表示されるウィンドウで、初回起動時にパッケージがダウンロードされ、解凍されます。ちょっと時間かかります。最後に、新しい Linux インストールのユーザー名とパスワードを設定するように求められます。

注意
WSL を使用すると、複数の Linux ディストリビューションを並行して実行できます。この場合、ディストリビューションごとに個別のユーザー アカウントを作成します。

前の 2 つの手順の代わりに、次の PowerShell コマンドを使用して Linux 用 Windows サブシステムを有効にすることもできます。コマンドは管理者として実行する必要があることに注意してください。完了したら、コンピュータを再起動し、手順 4 以降の指示に従います。

 
 

1

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Linux 用 Windows サブシステムを使用する最初のステップは何ですか?

Linux 用 Windows サブシステムをアクティブ化し、Linux ディストリビューションをインストールした後の最初の手順は何ですか? WSL の目的によって異なります。Web 開発者は、多くの場合、アプリケーション開発者とは異なるアプリケーション構成ファイルを必要とします。Popeye では、よく必要となる最初のステップをここにまとめます。

  • WSLを搭載した表示・制御

コマンド ラインで Windows wsl.exe ツールを使用して、インストールされている Linux ディストリビューションを制御します。コマンド ラインを開き、次のコマンドを入力して、wsl コマンドで使用可能なオプションを表示します。

 
 

1

wsl --ヘルプ

  • Windows Subsystem for Linux を使用して Linux ディストリビューションを表示する

Linux 用 Windows サブシステムを使用して、いくつかの Linux ディストリビューションをインストールして使用できます。コマンド ラインで次のコマンドを実行して、インストールされているディストリビューションの概要を取得します。

 
 

1

wsl --list --verbose

  • Linux 用 Windows サブシステムを使用してデフォルトの Linux ディストリビューションを起動する

デフォルトで Linux ディストリビューションを開始するには、追加パラメータを指定せずに wsl コマンドを実行するだけです。

 
 

1

WSL

その後、Linux ユーザーとしてログインし、既知の Linux コマンドに直接アクセスできるようになります。

  • WSL を使用した Linux ディストリビューションの更新

Linux ディストリビューションに初めてログインした後、次のコマンドを使用して、インストールされているパッケージを更新します。

 
 

1

sudo apt アップデート && sudo apt アップグレード

これは Linux レベルでシステム全体に影響を与える操作であるため、コマンドは「sudo」で始まります。次に、Linux ディストリビューションのインストール時に設定したパスワードを入力する必要があります。

  • Linux 用 Windows サブシステムを使用して Git をインストールする

Git は、コード プロジェクトで最も広く使用されているバージョン管理ツールです。Linux ディストリビューションに Git をインストールするには、次のコマンドを使用します。

 
 

1

sudo apt install git

  • Windows から Linux ツールを使用するには、Linux 用 Windows サブシステムを使用します

wsl ツールを使用して Linux ディストリビューションにログインし、Linux コマンドを使用する方法を説明しました。それ以外に、別の方法もあります。Windows シェルから Linux コマンドを直接実行できます。これは、たとえば、PowerShell スクリプトで Linux コマンドを使用する場合に便利です。Linux コマンドを wsl ツールの呼び出しに追加するだけです。

 
 

1
2

# Linux コマンド `ls` を使用して現在のディレクトリの内容を出力します
wsl ls -la

  • Linux 用 Windows サブシステムを使用して Linux コマンド プロンプトから Windows ツールを使用する

ご覧のとおり、WSL Linux コマンドを使用して、Windows コマンド ラインまたは PowerShell から直接スクリプトを実行できます。これは逆の方法でも機能します。つまり、Linux コマンド プロンプトまたは Linux スクリプトで Windows コマンド ライン ツールを使用できます。コマンド ライン ツールは、通常の Linux コマンドと同様に組み合わせることができます。

ここでは、Windows ツール ipconfig.exe を使用してネットワーク情報を表示し、Linux ツール grep を組み合わせて IPv4 結果をフィルタリングし、列フィールドを削除します。

 
 

1

ipconfig.exe | grep IPv4 | カット -d: -f2

Linux 用 Windows サブシステムを使用する場所

WSL は主に、コマンド ラインおよびスクリプトで Linux コマンドを使用することを目的としています。Windows ツールと Linux ツールをリンクするために使用することもできます。このため、WSL は開発者にとって非常に関連性の高いものになります。特に Web 開発とオープンソース プログラミングの場合、WSL を有効にする方が簡単です。Linux 用 Windows サブシステムを有効にすると、次のことが可能になります。

  • Microsoft Store から 1 つ以上の Linux ディストリビューションをインストールします。

  • 「grep」、「sed」、「awk」などの一般的なコマンド ライン ツールを使用します。

  • 他の ELF-64 バイナリを実行します。

  • Bash シェルおよびその他のシェル環境のスクリプトを実行します。

  • 「vim」、「emacs」、「tmux」などのターミナルベースのアプリケーションを使用します。

  • NodeJS、JavaScript、Python、Ruby、C/C++、C# & F#、Rust、Go などのプログラミング言語と関連ツールを使用します。

  • SSHD、MySQL、Apache、lighttpd、MongoDB、PostgreSQL などの Linux サービスをマシン上で実行します。

  • Linux ディストリビューションのパッケージ マネージャーを使用して、追加のソフトウェアをインストールします。

  • Unix のようなコマンド ラインを使用して Windows アプリケーションを呼び出します。

  • Windows 上で Linux アプリケーションを実行します。

 

おすすめ

転載: blog.csdn.net/winkexin/article/details/131499983