リネオブログ

Bash シェルが使えるようになった Windows 10

2016 年 06 月 24 日   Linux 技術ネタ

toolchain の議論を含めて興味深い話題なので少しコメント。

Cygwin 開発者の受け止め方としては、頓挫した以前の SFU (Service for UNIX) と同じ話という意見が主流な様だが、少し事情が異なるは、やはり Ubuntu 14.04 の x86_64 バイナリをそのまま apt-get 等で導入できる点が大きい。SFU と cygwin/mingw について述べるのとは多少次元の異なることではあるが、Linux とは違うバイナリを用意しなくてはいけないことがあり、これがインストーラの件を含めて、少なからず導入障壁になっていた。また、NTFS と Windows の API が、Linux 的な POSIX 仕様と動作やデフォルト状態に違いがあるということも大きな問題の一つで、これはこれでかなり根が深い。加えて、VirtualBox や VMware Player などの方が 主ストレージの VM を 複製・管理すれば良いう簡便さで、開発環境としては現時点で大きく有利だ。

それで、今回のトピックをポストした趣旨となるが、Ubuntu Bash に於ける fork() 関数の動きに着目している。過去 Windows では Linux 的な POSIX 仕様の fork() を実現することが中々できなかった。 改善はされてきているものの、これは Windows 8 に至っても細かい点が異なるのは同様で、今回の Ubuntu Bash が Windows10 からいうことになっているのも、真偽は定かではないが、それが背景の一つにあるのではという話しが出ていた。

これまで Windows での fork() の動きで問題になっている点は、mingw などの実装に見られるPIPEやファイルディスクリプタ(Windows ではファイルハンドル)の動作の差異なのだが、Linux で普通に動くオープンソースのツールの一部が、Windows ではそのまま動かないために修正が必要になる原因となっている。ただ、Windows10 になれば、この問題が解決ということにはなっていないのが実情なので(この辺りの Windows API 仕様が明確でないという事情があり、CygwinはUndocument な機能を使って実装しているという話しもあるようだ)、今回の Ubuntu Bash の実装がまだまだ不明なので、より使える情報が出てくることが期待されている。

組込みLinuxセキュリティ基礎講座
Vigiles サポート
Yocto Project よもやま話
Yocto よもやま話 第 14 回 「Yocto 4.3 Nanbield リリース」
Yocto よもやま話 第 14 回 「Yocto 4.3 Nanbield リリース」

2024 年 03 月 26 日 Yocto Project よもやま話

Yocto よもやま話 第 13 回 「Yocto Project の最新動向 2023 夏」
Yocto よもやま話 第 13 回 「Yocto Project の最新動向 2023 夏」

2023 年 07 月 25 日 Yocto Project よもやま話

Yocto よもやま話 第 12 回 「Yocto Project 始めます その 2」
Yocto よもやま話 第 12 回 「Yocto Project 始めます その 2」

2023 年 06 月 20 日 Yocto Project よもやま話

Linux 技術ネタ
RISC-Vについて学ぶ-後編
RISC-Vについて学ぶ-後編

2024 年 01 月 10 日 Linux 技術ネタ

RISC-Vについて学ぶ-前編
RISC-Vについて学ぶ-前編

2023 年 12 月 12 日 Linux 技術ネタ

イベントレポート
EdgeTech+ West 2024 出展レポート
EdgeTech+ West 2024 出展レポート

2024 年 07 月 26 日 イベントレポート

Advanced Technology Forum 2024 Summer 参加レポート
Advanced Technology Forum 2024 Summer 参加レポート

2024 年 07 月 09 日 イベントレポート

リクルート
新卒採用、絶賛募集中!
新卒採用、絶賛募集中!

2023 年 05 月 30 日 リクルート

国立大学オンライン研修レポート 2022
国立大学オンライン研修レポート 2022

2022 年 09 月 27 日 リクルート

信州リネオ便り
リネオに雪が積もりました
リネオに雪が積もりました

2024 年 11 月 29 日 信州リネオ便り

社内BBQを開催しました!
社内BBQを開催しました!

2024 年 09 月 25 日 信州リネオ便り

夏季休業明け、スイカを頂きました!
夏季休業明け、スイカを頂きました!

2024 年 08 月 20 日 信州リネオ便り

ソリューション統括部
シリコンバレー探検記 2019 ~番外編~
シリコンバレー探検記 2019 ~番外編~

2019 年 12 月 10 日 ソリューション統括部

シリコンバレー探検記 2019 ~後編~
シリコンバレー探検記 2019 ~後編~

2019 年 12 月 10 日 ソリューション統括部

シリコンバレー探検記 2019 ~前編~
シリコンバレー探検記 2019 ~前編~

2019 年 12 月 10 日 ソリューション統括部

マーケティング統括部
大成功決起大会!!(ET2019)
大成功決起大会!!(ET2019)

2019 年 12 月 13 日 マーケティング統括部

ESEC 2019 決起大会
ESEC 2019 決起大会

2019 年 04 月 25 日 マーケティング統括部

シリコンバレー探検記 その 2
シリコンバレー探検記 その 2

2018 年 12 月 18 日 マーケティング統括部