【連載】

Windows 10で始めるBash

53 UbuntuやSUSE Linux Enterprise Serverがパッケージ化

53/54

Windows 10 バージョン1607(Anniversary Update)からサポートしたWSL(Windows Subsystem for Linux)。その結果としてWindows 10上でもUbuntuなどのLinuxディストリビューションが動作し、各種コマンドが利用可能になった。本連載ではWSLに関する情報を紹介する。

UbuntuやSUSE Linux Enterprise Serverがパッケージ化

Microsoftは2017年9月リリース見込みのWindows 10 バージョン1709(Fall Creators Update)で、Ubuntu以外のLinuxディストリビューションをサポートすると発表した。既存のUbuntuに加えて、SUSE Linux Enterprise Server/openSUSE/Fedoraの名前を挙げていたが、同社は7月10日(現地時間)にUbuntuがWindowsストアに並んだことを公式ブログで発表した。Windows 10 Insider Preview ビルド16215以降で利用できるという。

Windowsストアに並んだUbuntu

基本的には従来のBUW(Bash on Ubuntu on Windows)もWindowsストア経由でイメージをダウンロードしていたが、他のUWP(ユニバーサルWindowsプラットフォーム)アプリケーションと同じパッケージ化することで、ダウンロードサイズを最小限に抑えるブロックベースのダウンロードロジックが利用可能になる。

既にBUW展開済みの環境に、WindowsストアからUbuntuを展開した状態

上図のとおり基本的な操作は従来と変わらず、ユーザー名やパスワードの設定を行う。ただし、言語周りのシェルスクリプトは用意されておらず、環境変数LANGは「en_US.UTF-8」のため、ご自身で設定を変更しなければならない。

Ubuntuのバージョンなどに変更はなく、16.04 LTSのままだ

興味深いのはAppxパッケージになったことで、Windows 10上の実行環境が変更した点だ。以前のBUWは「%LOCALAPPDATA%\lxss」をメインフォルダーとして使っていたが、Windowsストア経由のUbuntuは、「%ProgramFiles%\WindowsApps」フォルダーを利用する。具体的には「C:\Program Files\WindowsApps\CanonicalGroupLimited.UbuntuonWindows_16.0.4.0_x64__79rhkp1fndgsc\ubuntu.exe」を起動する仕組みのようだ。

WindowsストアのUbuntuを実行した状態。実行パスなどが異なっている

フォルダーをエクスプローラーで開いた状態。Appxパッケージ関連ファイルが並ぶ

その結果、WSLは複数のLinuxディストリビューションのインストールや実行を可能にしている。執筆時点でWindowsストアに並ぶLinuxディストリビューションは、UbuntuSUSE Linux Enterprise Server 12openSUSE Leap 42の3つだが、インストール可能だったのは前者2つ。openSUSEは準備中のようであり、Fedoraは見つからないものの、Microsoftは1~2週間で入手可能になるという。

Windowsストアに並ぶSUSE Linux Enterprise Server 12

openSUSEは以前からWindowsストア上で見つかっているが、まだインストールできない

Windows 10上にUbuntuとSUSE Linux Enterprise Serverを起動した状態

このようにBUWとWindowsストア経由で入手するLinuxディストリビューションは似て非なるものである。つまり、BUWとWindowsストアのUbuntuは別物のため、既存環境を新しいUbuntuに移行させる場合、必要なファイルをコピーしてから、Windows 10上のコマンドプロンプトやWindows PowerShellで「lxrun /uninstall」を実行してアンインストールすることをお薦めする。なお、LinuxディストリビューションがAppxパッケージに変わったことで、lxrunコマンドは今後廃止されるはずだ。

「lxrun /uninstall」でBUWの環境はアンインストールできる

阿久津良和(Cactus)

<お知らせ>
ITソリューション検討Information

マイナビニュースのIT Search+では、ITソリューションの検討に役立つ情報を掲載しています。
ここでは、IT Search+の人気記事ベスト3をご紹介。ぜひ、ビジネスにお役立てください。

53/54

インデックス

連載目次
第54回 サーバー上のパッケージ処理をexpectで自動化する
第53回 UbuntuやSUSE Linux Enterprise Serverがパッケージ化
第52回 expectコマンドでクライアントからサーバー処理を自動化
第51回 Windowsコンソール設定を整える
第50回 CPU情報をPowerShell経由で取得する
第49回 DirectXおよびWDDMのバージョンを確認する
第48回 PCの稼働時間をWindows 10から取得する
第47回 Ubuntuのパッケージを管理する
第46回 Windows 10とWSLの最新バージョンをBashで取得する
第45回 米国本家のOfficeの最新バージョン情報もBashで取得する
第44回 インストール済みのOfficeバージョンを取得する
第43回 Office 2016の最新バージョン情報を公式サイトから取得する
第42回 1週間のファイルをISOファイルに書き込むシェルスクリプト
第41回 WSL上のLinuxディストリビューションを変更する
第40回 知ってますか今年の祝日? 国民の祝日自動取得シェルスクリプト
第39回 Bashから当日使ったファイルをWindowsのアプリケーションで開く
第38回 Findで当日使ったファイルを検索する
第37回 HTMLコードの出力シェルスクリプトをRowspan属性に対応させる
第36回 HTMLのTableタグ出力シェルスクリプトをColspanに対応させる
第35回 BashでHTMLのTableタグを楽に
第34回 ファイル名の大/小文字一括変更シェルスクリプトをオプションで制御する
第33回 規則に応じたファイル名の大/小文字化
第32回 拡張子を一括で小文字に統一するスクリプト
第31回 Googleカレンダーから情報を抜き出す
第30回 ドライブを占有するフォルダー容量をExcelで可視化する
第29回 ドライブを占有するフォルダー容量を「R」で可視化する
第28回 ドライブを占有するフォルダー容量をSparkで可視化する
第27回 ドライブを占有する容量をフォルダーごとに簡単確認
第26回 オプションを加え汎用性を高めたレジストリーキー比較スクリプト
第25回 Reg.exeの出力結果をカラフルにして見やすくする
第24回 Reg.exeの出力結果を比較する
第23回 getoptsを活用してイベントソース可視化を大幅に拡張する
第22回 BashからPowerShellを利用する
第21回 Windowsのイベントソースを可視化してオプションで表示を分ける
第20回 Windowsのイベントログを「Cut」で切り出し可視化する
第19回 PDFファイルを画像ファイル化する
第18回 PDFファイルから一括で大量の画像を抽出
第17回 複数PDFファイルから一括テキスト抽出
第16回 文章をMarkdown記法で整える
第15回 ファイル名ではなく内容判断で重複ファイルを削除するには?
第14回 整理整頓!空のフォルダを一括でデスクトップに移送する
第13回 フォルダの中のファイルを一括でPDFにするには
第12回 フォルダーの中のエクセル請求書ファイルを合計する
第11回 BashからExcelブックにアクセスする
第10回 時間軸でデスクトップを片付ける
第9回 散らかったデスクトップを片付ける
第8回 インターネットショートカットファイルを作成する
第7回 取得結果をCSVファイルやテキストファイルに出力する
第6回 Webページの情報をシェルスクリプトで取得する
第5回 case文でスクリプト内容を整理する
第4回 実行先のフォルダーを引数で指定する
第3回 ピクセルサイズに応じて画像ファイルをリサイズする
第2回 他の画像形式をJPEG形式に変更する
第1回 フォルダー内のJPEGファイルを連番でリネームする

もっと見る



人気記事

一覧

イチオシ記事

新着記事