【Bash】Windows Subsystem for Linux【WSL】9
■ このスレッドは過去ログ倉庫に格納されています
ついにWSL2が登場したぜー。こりゃ完全にLinuxだ。ヒャッハー!WSL最高!開発にLinuxは使わねぇー。Windowsで開発してLinuxは動かすだけや! WSL2アーキテクチャ https://www.atmarkit.co.jp/ait/articles/1906/14/news019.html WSL 2では、仮想マシン環境が起動し、bashがコマンドを受け付けるまで2秒程度という速度で起動できる。 このため、コマンドプロンプトなどからwsl.exeなどを使ってbashコマンドを処理する時間は、 現在のWSL 1とほとんど変わらない。また、本物のLinux実行環境であるため、 これまで正しく動作できなかったアプリケーション、例えばコンテナシステム(Dockerなど)や ユーザーファイルシステム(FUSEなど)も動作させることができる。その上で、現在のWSL 1と同等の機能と使い勝手を実現するという。 WSL 2はWSL 1を置き換えずに併存する WSL 2が登場したからといって、WSL 1は廃止になるわけではなく、引き続き利用可能である。 ファイル共有プロトコル「9P」でWSL 1との互換性を確保 このように、WSL 2とWin32環境の間のファイル共有は、どちらも9Pを使うことになる。 また、WSLからWin32プログラムを起動する「Win32相互運用性」では、最初にWSL側で、 実行ファイルを判別する必要がある。具体的には、実行ファイル先頭のマジックナンバー (Win32ではMZ)を見て、LinuxのELF64か、Win32の実行ファイルなのかを判断する。 前スレ 【Bash】Windows Subsystem for Linux【WSL】8 https://mao.5ch.net/test/read.cgi/linux/1590742701/ >>587 いやWSLのせいだろ WSLのカーネルはWSL用のカスタムカーネルなんだから なんですぐバレるウソを付くんだろうw dockerのオフィシャルイメージってなんだよw Docker for Windowsが動かないならそれはDockerのせいだろ アホだな。WindowsでDockerを使ったオフィシャルな開発方法を知らんから オフィシャルじゃない話をしてるのに気づいてないんだろうな >>591 避けろ避けろ。便利さがわからなければそれまで。 WSL2はただの仮想マシンだから面白味無くなったね というかネットワークアダプタ増やすなよ ここ参照してるソフトが別マシン扱いするからorz 面白みとかを重視してるのはお前だけ WSL1とWSL2の並行開発で 両方ともより実用的になっていっている WSL2で動いてるDockerにWSL1ディストリビューションからアクセスできてる人いる? ファイルシステムとしてはmnt配下を使う方が好都合(WSL1でないとアクセスが遅い)なのでなんとか実現したいんだけど、Cannot connect to the Docker daemon at unix:///var/run/docker.sockを越えられないんだよね >>595 WSL1からは今までのやり方を使わないと駄目だよ WSL2で動いてる公式のDockerは「WSL2対応」で共有している WSL2カーネルで動いているディストリに対しては特に設定無しで アクセスできるけど、WSL1からすると別のカーネルで動いてるわけだから Expose daemon on tcp://localhost:2375 without TLS 経由じゃないとだめ >>596 くるしいなぁwww >>597 ありがとう 実はDockerをWSLで使おうとし始めたのがつい最近なので今までのやり方がよく分からないし、実はDocker for WindowsをWSL2使わないオプションでインストールし直してやってみたことあるけど行き詰まったんだ Docker for WindowsをWSL2使わないオプシ ョンでインストールし直して起動しといて設定からlocalhost:2375 without TLSをオフって、WSL1からdocker.io(今はUbuntu最新に対応)かdocker.ceでアクセスするってことで合ってる? >>598 Docker for Windowsを入れ直す必要はない WSL2無効はオプションで変更できるがその必要はない そのままlocalhost:2375を有効にするだけ WSL1だろうがWSL2だろうが普通にUbuntu版を入れろ そもそもWS1とWSL2は切り替えできる >>599 毎回丁寧にありがとう うーむ行き詰まった時というのはlocalhost:2375のオンを試してたはずなんだけどね また明日の日中にやってみるよ WSLはバージョン表記なしのUbuntuディストリビューション入れてるよ WSL1と2は切り替えに時間掛かるのも分かってるから、とりあえず今はexport/別名importで共存させて起動/停止で単一ディストリビューションだけがrunningになるようにしてる だからWSL1でのやり方を調べろ localhost:2375のオンにするだけじゃなくて、そこに接続しに行かないと駄目 そもそも初期のDocker for WindowsはWSL登場前に作られたもので WSL2はおろかWSL1にも対応しとらん コマンドプロンプトまたはPowerShellから使うもの使うDockerも docker.exe だ Windows上で動いてるDockerサーバーにdocker.exeではない Linux版から接続するならTCPポート経由しかない そこにWSL2対応版のDocker for Windowsが登場して WSL2からの接続は何もしなくてよくなった しかしWSL1からの接続はそのような便利な仕組みは用意されてない だから今まで通りのやり方でやればいいだけ 世の中には作業を効率化するのは面倒だからやりたくないって本気で言う人がいるんだよなw >>601 あ、.exeかありがとう! docker-compose.exeまで含めて全部実現できたよ 明確なバージョニングがされてなくて新旧どちらも使われてる状況って往々にして、旧情報調べても判然としなくない? それで頭こんがらがってたんだ 普段windowsの実行ファイルをWSLから実行する事をしてなくて.exeで呼び出せるの忘れてたし ちなみに今はlocalhost:2375オプションをONにしなくてもいいらしくて、実際にOFFにしたままでも動いたよ これでWSL1と2の共存にDockerは無調整で対応できることになる ほんとに何から何までありがとう! >>605 問題になるのはボリュームのパスなんだよね WSLからWindowsのパスにwslpathで変換すればいいから dockerコマンドの方はどうにかなるとして docker-composeの方がわからん 個人的にボリュームはなるべく使わないようにしてるから WSLからdocker.exeを実行した場合のノウハウがない >>606 dockerクライアントはwslの使ったらだめなん? >>607 使っていいよ。俺も使ってるし。 WSL1だと接続方法にTCPを使うように設定しないといけないってだけ Linuxを使って良いのは、そのLinuxが実機かエミュレータかwslか関係なく、手を抜くための努力を惜しまない奴だけだ。 いや別に使える用途で使いたいやつが使える範囲で使えばいいよ そんな大したもんじゃない >>606 フヒョー 必要性が出てきた時に調べてみる それに職域上、自分が開発するコンテナ(WSL1で動かしたい)では扱わないと思うんだ 他の人のコンテナではあり得るけど、それはWSL2で動かせばよくて >>597 WSLとWSL2があるから忙しいんだ! みたいな仕事してるフリしてるか?w > WSL1とWSL2の並行開発で こんなわけのわからないことを言うプログラマーって… >>613 https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-faq > WSL 1 はどうなりますか? 廃止されますか? > 現在、WSL 1 を廃止する予定はありません。 > WSL 1 と WSL 2 のディストリビューションを並行して実行し、 > 任意のディストリビューションをいつでもアップグレードおよびダウングレードできます。 > WSL 2 を新しいアーキテクチャとして追加すると、WSL チームにとって、 > WSL を利用して Windows で Linux 環境を実行する機能を提供するための優れたプラットフォームになります。 WSL 1 と WSL 2 の両方が動くことは、WSLの正式機能 >>614 並行開発なんて英語ドキュメントにも一切書かれていないが おかしい奴が多いなw WSL 1 を廃止せず機能追加していくのなら WSL 1とWSL 2を並行で開発してるってことじゃん >>618 そりゃお前さんが勝手に妄想してるだけだ。 >>619 じゃあお前は廃止されると勝手に妄想してるの? 使えるようになったら使えば良いけど、今はまだ使えないし、使えるようになる見込みも薄い。 (>>621 は)使えるようになったら使えば良いけど、今はまだ使えないし、使えるようになる見込みも薄い。 だからクビにしよう >>316 >>215 に、Windows 10 Home 版に、WSL2, Docker を入れる手順を書いたが、 Docker Compose まで出来れば、未経験でも、10年以上のプログラマー並み さらに、Kubernetes, Terraform, CircleCI, AWS CloudFormation で、Ruby のKumogata, Chef, Cookpad 製のItamae などが出来れば、 未経験でも、トッププログラマー! 指摘されるとピタッと書き込みが止まったからな。 怪しいわ。 ps4-waker をWSL2で使えてるやつおる? WSL1 でbind指定すれば使えてたのにWSL2 に上げたら ホストPCと同ネットワーク内のPS4が探せなくなって繋がらなくなった まさかネットワーク仕様が変わるなんてなぁ >ホストPCと同ネットワーク内の WSL2はホストPCとしか繋がらないネットワークで隔離されてる NAT?で誤魔化し出来る? 20年くらい前にはiptableだったか使ってたことはあるような 長らくLinux離れてて最近戻り始めたので実はよく覚えてない… 面倒ならWSL1に戻せるらしいし戻すかな Hyper-V ManagerはHOME Editionだと使えない? Hyper-V マネージャはPro以上らしくHOMEではHyper-V有効化出てこないね >>634 でやってみようとしたけどポートが正確に把握できてないから、まだうまくいっていない ポート987は使うのはps4-wakerのドキュメントにあったけどそれ以外も使うらしい これ以上はWSLと言うよりPS4-waker側のポートの話なので 色々と分かったありがとう >>637 linuxのコマンドでlistenポート見てみればいいよ そもそもの疑問なんだが、home使う奴がWSLを使う? おかしくね? ps4-wakerでPS4のIPアドレスを指定するとか?(ざっと見た限りオプションがある) 探索はブロードキャストでやってるみたいだからNAT越えは面倒だと思うけど WSL2は使えるのか。 home持ってないし使ったことも無いから知らなかった。 しかしWSL2使うようなユーザーがhomeエディションなのは違和感覚えるけど。 予備機的な使い方してるのかな? >>642 会社はPro、自宅はHOME。WSL1でもいいんだけど、WSL2の評価も兼ねて使い続けている。 >>639 ドン・キホーテのストイックPC3(Win home)にwslを入れてるよ。 GNU coreutils をちょくちょく使うので >>641 bind オプションはWSL1でも必須で使ってる >>638 をヒントにポートが毎回変わるのも判明したので pオプションでポートも固定したけど繋がらず、NAT越えはあきらめてもうWSL1に戻して使ってる >>637 下の方を見るとHyper-V Managerでうまくいかなかったから ncpa.cpl(コントロールパネルのネットワーク接続)から WiFi接続とvEthernet(WSL)をブリッジさせた後 PCを再起動させるとできたというのもあるね Linuxコマンド使いたくて、WSLをHOMEで使うのはIT屋さんでもなく業務でもないなら普通だと思うけど まあ、そのうちnode-redとかミュージックサーバーとかの常用のためにLinuxサーバーを立てるつもりのお試し側面はある >>623 に、Windows 10 Home 版に、WSL2, Docker を入れる手順を書いたが、 Docker Compose まで出来れば、未経験でも、10年以上のプログラマー並み 未経験で、Ruby on Rails, Docker などを勉強して、 自社開発系ベンチャーへ転職したい香具師が多い >>642 ただの開発者だけどPro使う理由がないよ そもそもWSLが中途半端すぎなのが問題 作業を効率するため?それにWSL?苦行の変態? WSLとEmacsの相性がいいんだよな。 最近はほとんどの操作をEmacs起点に行っている。 >>652 別に問題じゃないだろう そぐわないなら使わなければいいのに。敢えて苦行の変態?w >>651 普通って誰にとっての普通? AD連携ってなに? >>651 思い出した もしかしてえすあい屋? もう脱えすあい屋して7年が経って3年おきに事業会社にだけ転職してるけど、ActivelyDirectly(のことで合ってるよね?)使ってるとこには当たらなかった Active Directory のことを あくてぃぶりーダイレクトリーと書く人初めて見た AD連携知らんということはそういう管理が必要でない会社にしか行けてないか使ってても認識することができない程度の知能しかないってことでしょ スルーしていいかと >>651 > 普通、会社ではAD連携必要だからな 普通の会社じゃなくて、"お前"の会社の間違いだろw > AD連携知らんということはそういう管理が必要でない会社にしか行けてない AD連携使ってない所って、Googleとか? ゲームとかウェブアプリ開発してるところには不要だろうね ソフトウェア開発会社はADとか使ってないところが多そうな気がする AD使ってるのはSE専門とかソフトウェアの開発を下請けとかに回しているような所のイメージ >>657 俺もw 副詞を並べるなら間にカンマが欲しいよな。 積極的に、真っ直ぐに みたいな。 >>657 >>663 やーこれはわざとじゃなくて予測変換に頼った上で目が節穴だっただけだすまんすまん 論旨が論旨だけに、自分でダッサーと思うわ 転職先は大小の事業会社(自社ITサービスで食ってる企業)だけど、そもそもWindowsServer(の機能で合ってるよね?)置いてる会社に当たらなかった 別にこれはWindowsディスとかじゃなくて、使う使わないはその合理性次第で決めたらいいと思うんだけど おかしな奴が絡んできただけだから気にしなくていいかと それなりの規模の企業だと何らかのクライアント管理ソフトがないとやってられない ADは管理ソフトとしてコスパがいいので1,000以上の企業の半数近くに採用されてる https://xtech.nikkei.com/it/article/Research/20080715/310856/ >>662 会社の99.7%が中小企業だって知ってるかね? >>667 日本がGAFAに勝てないのは、未来を見据えたIT戦略を取れないからだろうな 理屈の上ではわかってるでしょ? そういうMS前提のシステムじゃなくて、ネット前提(リモートワーク前提)で どんなコンピュータ、どんな場所からでも仕事できるような仕組みにしなきゃいけないことなんて >>668 社員の30%は大企業勤め それに入れてないなら御愁傷様w >>669 IT会社ならまだわかるけど普通の会社にとってITは単なるツールだから管理が容易でコストが安い奴が選ばれるのは当然の帰結 リモートワークでAD対応の製品も多数あるし >>670 大企業努めかどうかの話はしてない それが一般的かどうかの話をしてる 所詮お前は大企業のことしか知らない 胃の中のわかずってことだ あと大企業勤めなんて30%もいないw 夢見るのやめとけ >>651 俺の発言が物議を醸しているが、普通というのは普通の会社って意味で行ったのではなく、ADでクライアントPCが管理されているのが普通と思って発言した。でもそうでもないんだね。俺の発言については他意はないから気にせんでくれ。 wsl2からwindowsのプログラムを実行する方法を教えてください 昔、何も設定しなくても環境変数PATHが通ってて、windowsのプログラムを実行できた記憶があります >>671 > 大企業努めかどうかの話はしてない > それが一般的かどうかの話をしてる 30%はそれなりのシェアだと思うけど? > あと大企業勤めなんて30%もいないw まあ確かに29.9%しかいないよな http://jobgood.jp/wp-content/uploads/2016/08/619.jpg http://jobgood.jp/chusho > 夢見るのやめとけ 現実見せられて悲しいねw >>674 おや? わずか30%で世間を知った気になってるのかね?w >>676 まあ零細とか知ったこっちゃないから ゴメンねw >>653 emacs って開発終わってるよね? 俺もemacsの中に住んでるけどw >>678 emacs からの引っ越し先が見つからん。 >>679 VSCodeが有力候補なんだろうけど、オレは移行できそうもない。Emacsキーバインドにしてもダメそう。 windowsでもxyzzy をUSBメモリに 入れて持ち歩いてる。 WSLがemacsと相性が良いって どんな所がですか? MacからWSLに移行したんだけどCtrlとCmdがCtrlに統合されたの地味に痛い Vscodeにvimのプラグイン入れてるんだけどコピペやらなんやら競合しまくってイライラする ここだけはMacが羨ましいとおもった >>683 Emacsキーバインドで良ければ、左右のCtrlキーを使い分ける方法がある >>682 EmacsにはMagic File Namesという機能がある。これをうまく設定すると、 wslpathを使わなくてもWindowsのパスをWSLのパスに変換することが可能となる。 これでWSL上でWindowsのパスを利用できるようになる。emacsclientでWindows のパスも使えるようになる。 また、wslstartというコマンドをDiredと組み合わせて利用するようにすると、 Diredで開いているディレクトリをExplorerで開いたり、Windowsのアプリの ドキュメントをDiredから開けるようになったりする。 Diredはwdiredを使うと左右に開いているDiredのバッファ間でファイルの移動や コピーを簡単にできるようになるので、Explorerの代わりにファイル操作も可能 となる。 WindowsショートカットファイルもDiredで作成、参照できるようにすることが できるので、Windowsショートカットファイルをシンボリックリンクの代わりに 使えるようになる。 まだあると思うけど、これだけでも随分便利になるかな。 winのpathを足すお節介は切った方がいいと思うぞ、スペースやらの扱いが苦手なので おれはinuxシェルをpwshにしてるけど、ソフト側での取り扱いの問題は避けられない 数Gbも占めてるx関連全てアンインストールして画像pdfビューアブラウザexplorerだけ/mnt/c/bin作っといてリンク貼ってwsl側のパスに入れた xなんて要らんかったんや! >>677 Googleがいつから零細になったんだろう??? ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる