探検


【Bash】Windows Subsystem for Linux【WSL】11

■ このスレッドは過去ログ倉庫に格納されています
2021/07/29(木) 06:31:29.44ID:280Si2bb
ついに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】10
https://mao.5ch.net/test/read.cgi/linux/1615976083/
412login:Penguin
垢版 |
2021/12/22(水) 22:37:36.20ID:rf3Nrv3S
Windows Subsystem for LinuxはまだLinuxネイティブに追いついてないんだね
2021/12/22(水) 22:42:09.65ID:DS1r5uHB
/mnt/c以下にまともな速度でアクセスできるようになったら起こして
414login:Penguin
垢版 |
2021/12/22(水) 22:48:43.62ID:QVQNO0rG
>>411
関係あるよ
2021/12/22(水) 22:49:32.32ID:mgHafiHc
>>412
>>413

至らない点を取り上げて貶して使わないより
利点を利用するほうがいいよ。

人生においてもね。
2021/12/22(水) 22:49:54.48ID:iAnYv7pI
PowerShellでctrl-mを入力してイラっとする
2021/12/22(水) 22:53:11.70ID:mgHafiHc
>>414

関係ない。LinuxやほかのUnixの機能。

bash=linux

って勘違いしてる人?
418login:Penguin
垢版 |
2021/12/22(水) 22:53:31.09ID:rf3Nrv3S
>>415
利点が無いんで利用するという選択もないんですよ。

それに便利さの影には危険が伴うこともあります。
WSLにバックドアはありませんか?
2021/12/22(水) 22:56:58.35ID:mgHafiHc
>>418

そういう人は利用しなければいいんじゃないですか?
WSLもいらないなら機能を追加しなければいい。

それだけじゃないんですか?
420login:Penguin
垢版 |
2021/12/22(水) 22:56:59.15ID:QVQNO0rG
>>416
Set-PSReadLineOption -EditMode Emacs
2021/12/22(水) 23:00:23.51ID:iAnYv7pI
>>420
キターーー
普通に質問すると教えてくれない人が多いけどw
ありがとうございます、試してみます
422login:Penguin
垢版 |
2021/12/22(水) 23:01:48.44ID:QVQNO0rG
PowerShellは大部分においてBashやZ shellに劣るけど、
Set-PSReadLineOption -PredictionSource History で直近の前方一致候補が薄文字表示される機能や、
Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete で選択形式の入力補完できる点は肯定評価できる
2021/12/22(水) 23:04:24.74ID:iAnYv7pI
ププ、いけたw
ctrl-p、ctrl-nも使える
ctrl-iで補完はだめか
2021/12/22(水) 23:09:53.30ID:iAnYv7pI
i-searchもできるね、面白いじゃん
425login:Penguin
垢版 |
2021/12/22(水) 23:12:26.56ID:QVQNO0rG
WSLのBashがPowerShellを飲み込むか、PowerShellがWSLのBashを飲み込むか、だと明らかに前者の可能性高いわ
2021/12/22(水) 23:29:04.65ID:iAnYv7pI
どっちが飲み込むかどうかは知らんけど
慣れたキーバインドが使えるとなると勉強してみようかなって気になってきたよ
427login:Penguin
垢版 |
2021/12/22(水) 23:57:12.18ID:ZYEXGE2k
>>425
法人のWindowsクライアントのサポートでPowerShellはよく使われているからな
俺の会社のWinクライアントにはWSL入っていないから、サポートする情シスはPSで
クライアントの設定をあーだこーだとしている。
428login:Penguin
垢版 |
2021/12/23(木) 01:36:54.81ID:irKwhvBx
PowerShellがだめなのは、長い名前のコマンドレットの存在

PowerShellをシェルとして使いたいと思うか?
プログラミング言語としては問題ないが
シェルとしては使いたくない
429login:Penguin
垢版 |
2021/12/23(木) 01:38:10.95ID:irKwhvBx
>>418
> それに便利さの影には危険が伴うこともあります。
> WSLにバックドアはありませんか?
ありません。もしあったらLinuxにもあるでしょう。

Linuxは便利だから、危険が伴いますね
Macも便利だから、危険が伴いますね

だから便利ではないWindowsをみんな使うのです(笑)
2021/12/23(木) 03:19:14.11ID:cD8a2Y2f
ksh→fishと使ってきたが、wslのおかげでやっとpwshに移行できた
wsl関係ないけどmacでも使えるし最強

>>428
標準エイリアス命名規則があるのと、動詞を落とした時のフォールバック規則で短くなるよ
オプションも途中まで打つか、キャピタル入力で曖昧にならない限り受け付けるので、対話では簡潔な方と思うけど
-NonInteractive→-noni
-WhatIf→-wif
-Confirm→-cf
くらいの想像が付く省略は使う
-nop(noOPでなく-NoProfile)みたいな誤解を生みかねない用法や-一文字は避けるけど

スクリプト書くときも短縮で書いたのを、標準モジュールのpsreadlineに通して正規化してる

せっかくwsl使うなら触らなきゃ損
2021/12/23(木) 03:30:05.76ID:LKZy+bko
unixシェルが普及するとしてもbashだけはありえんわ
bash_completion管理するのはもう疲れた
パス通ってればスクリプトの引数やヘルプから勝手に拾って補完してくれるPSReadlineは素晴らしい
2021/12/23(木) 03:43:28.62ID:cD8a2Y2f
lnとかのファイルシステム系コマンドや権限関連はNTFSで挙動おかしいから、相互運用性を考えるとni等cmdletを使うのが楽

pwshで気に入らないのはgciやslが使いたいのにlsとcdへ標準でマップされてるところ、使い分けたい

自分環境ならalias解除しておけばいいんだけど、他人のマシンで作業するとストレスが募る
2021/12/23(木) 03:59:53.02ID:cD8a2Y2f
いつの間にかln -sでもwindowsのシンボリックリンク機能使えるようになってるな、抽象化レイヤー咬ませたんだろうか?
権限は狂ってるけど
少し前のビルドではwin側からmklink呼ぶかni使うしかなかった
2021/12/23(木) 08:18:23.25ID:K/ffo4fP
「Docker Desktop」のWSL 2+NVIDIA GPU対応が正式に 〜「ほぼネイティブ」なパフォーマンスを発揮
暗号化や機械学習……LinuxのGPUコンピューティングをWindowsでも
https://forest.watch.impress.co.jp/docs/news/1376533.html
435login:Penguin
垢版 |
2021/12/23(木) 08:29:42.26ID:2kjrK7gR
コマンド入力が面倒なら、インクリメンタルサーチコマンドを介したコマンド履歴入力補完を使えばいいじゃない
436login:Penguin
垢版 |
2021/12/23(木) 08:52:59.90ID:2kjrK7gR
PowerShellの地味にヤバいところは、Helpコマンドで取得できるヘルプリファレンスがあまりに貧弱なこと
書式だけはスッキリしてて中身スカスカなところは、かつてのショッピングモール「ピエリ守山」みたいな明るい廃墟感がある
2021/12/23(木) 09:03:21.71ID:uzoBpYjH
bashは大幅な機能アップは見込めないからなぁ。先が見えてる。
438login:Penguin
垢版 |
2021/12/23(木) 09:23:49.47ID:T+LZQplz
>>433
何年前の話をしてるんだ?
シンボリックリンクなんてWSLの初期の話だぞ
2021/12/23(木) 11:47:09.75ID:szz4TY5M
windowsコマンドとも結構被せてるよな
短縮規則通りのエイリアスだけにして欲しい
2021/12/23(木) 12:23:44.73ID:mF3BQ4sm
正書法を保ちつつエイリアスでワンライナー順応というのはいいアイデアと思う
&, -ov/iv, %, ?, $_あたりを多用しだすとperlよりラインノイズ
perlをコマンド言語化、という設計だからそれで良いのかもしれんけど
2021/12/23(木) 12:32:37.52ID:3/gtYWcr
>>437
pwshのようにコンテキスト関係なくperl系regex表記と演算子使えるようになればワンチャンあると思う
grep -Pも永遠に未完成なGNUより他のboune系shに期待した方がいい
2021/12/23(木) 14:38:38.11ID:9SH2/f53
>>436
about_Updatable_Help
https://docs.microsoft.com/ja-jp/previous-versions/windows/powershell-scripting/hh847735(v=wps.640)
2021/12/23(木) 15:23:45.31ID:cD8a2Y2f
>>438
そうなんだごめん
windows update止めてたからか

>>436
gh topic -full/detailはmanpageより(行数的な意味で)は情報あるんじゃ?
-exで例の節だけ見れたりなかなか便利

SYNOPSIS節は大体自動生成に投げてるから、無駄に冗長
あれはなんとかして欲しい

日本語は自動翻訳の品質ヤバいので、update-helpするならen_US指定は必須
444login:Penguin
垢版 |
2021/12/23(木) 15:40:02.54ID:snCoRLHw
なんでWSLスレがトップになってるの?
くだらんことを延々と書き込んでるんだな
445login:Penguin
垢版 |
2021/12/23(木) 15:54:27.26ID:snCoRLHw
このスレは自作自演かな?
上げてあげるよ
446login:Penguin
垢版 |
2021/12/23(木) 16:26:57.88ID:2kjrK7gR
>>443
サンキュー
Update-Help と Update-Help -UICulture en-US でオンラインヘルプの廃墟感が軽減した
2021/12/23(木) 16:39:51.00ID:2kjrK7gR
というか、PowerShell7のMSIインストーラーはファイルサイズ103MBもあるのにオンラインヘルプがインストールされないとか意味不明
448login:Penguin
垢版 |
2021/12/23(木) 17:27:44.98ID:Fq5m6dL9
>>441
grepとGNUとshに何の関係があるんだ?
449login:Penguin
垢版 |
2021/12/23(木) 17:28:22.59ID:Fq5m6dL9
>>447
何ヶ国語もあるからだろ
450login:Penguin
垢版 |
2021/12/23(木) 20:12:26.57ID:WrZXzOqV
しかし日経**はWSL推しがすごいよな
あれ絶対マイクロソフトから広告費ってるだろ
どこの世界にWindows上のWSLでサーバ立てるアホがいるのよw
2021/12/23(木) 20:18:30.93ID:uzoBpYjH
>>450
単に特集の1つの記事なのに、どういう発想だろう。
嫌なら読まなければいいのに。
452login:Penguin
垢版 |
2021/12/24(金) 01:08:00.69ID:hXxcQwiI
>>450
開発用のサーバーなら建てるぞ
本番運用のサーバーを建てるって言ってるのか?
453login:Penguin
垢版 |
2021/12/24(金) 05:18:05.19ID:unouPUGT
>>452
開発用サーバこそVMWareかVirtualBoxだなぁ
開発も移行もバックアップも楽だしね
2021/12/24(金) 07:12:44.53ID:SbF5d9Dv
>>453
え?今なら普通dockerじゃね?
2021/12/24(金) 08:18:15.57ID:omeKqutr
>>453
なんでバックアップなんかとってるの?
仮想マシンだからバックアップを取らないといけなくなってるんだよ
WSLだとバックアップを取る必要がない
2021/12/24(金) 08:27:33.05ID:gdfXCB5N
Windowsで開発したいのに仮想マシンを使うというのはナンセンスだな
仮想マシンだと開発環境を作るのが大変だって話をしてる
だからバックアップが必要になる

WSLだとデフォルトで開発マシン状態になってるから
gitからソースコードをpullするだけで動く
2021/12/24(金) 08:46:55.46ID:RBCC1M2X
WSLに否定的な人はだいたい加齢による理解力低下がみられる人だから、そっとしといてやれ
2021/12/24(金) 09:09:24.40ID:hZd3KPwC
いや、>>456はどう見ても開発マシン構築したことないだろ
せっかく構築したマシンが飛んだらまたイチからやるのかよ
あと開発マシンにテスト的に設定変えたりツール入れたりしたのがまずいとわかったら破棄してバックアップからすぐにやり直せる
2021/12/24(金) 09:25:36.72ID:HFwe8F8a
>>458
一人でやってるとVirtuaboxでやって自分で
バックアップとるんでしょうね。
2021/12/24(金) 09:57:28.31ID:tAtRAZjf
開発環境のセットアップなんてansibleで一発じゃないの?
ローカルの開発マシンにごちゃごちゃ余計なもの突っ込むなんて考えたくもないけど。
2021/12/24(金) 10:21:42.51ID:HFwe8F8a
>>460
趣味で開発とかの人は環境を構築することからが開発だから。
仕事の人は開発環境は与えられるものであって自分で構築したりは
しない。
2021/12/24(金) 16:38:01.13ID:xlOlWSHv
>>460
いやvagrantで十分だと思う
463login:Penguin
垢版 |
2021/12/24(金) 18:18:50.64ID:unouPUGT
>>455
>WSLだとバックアップを取る必要がない

開発経験はおろか環境構築の経験もないだろあんた
2021/12/24(金) 18:29:12.69ID:vRVrWPFV
そういえばWSL2にはスナップショットが無いね
そのうち実装されるかな?
2021/12/24(金) 18:32:54.89ID:gdfXCB5N
>>463
環境はソースコードから生成できるから
環境自体のバックアップは必要ないって言ってるんだけど
理解できない?

データのバックアップと環境のバックアップの区別ついてる?
2021/12/24(金) 18:33:50.32ID:gdfXCB5N
>>462
vagrantだと環境の更新が面倒すぎる
毎日イメージを取ってこなくてはいけなくなる
2021/12/24(金) 18:34:04.55ID:gdfXCB5N
>>464
WSLのスナップショットなんか
ずっと前からあるが?
2021/12/24(金) 18:39:52.17ID:vRVrWPFV
>>467
あれ?あったっけ?
export/importじゃなくてHyper-Vで言うチェックポイント

Hyper-V用語でなかったのは申し訳ない
2021/12/24(金) 18:45:29.83ID:gdfXCB5N
>>468
exportの意味じゃなくて本物のスナップショットなら
Windowsのスナップショット機能を使えばいい

WSL=Windows上の開発環境
なぜWindows上で開発しているのに
Windowsのスナップショット機能を使わないんだと言う話?
2021/12/24(金) 18:47:05.88ID:gdfXCB5N
もしLinuxで開発していたとしたら
Linuxのスナップショットを使うでしょう?

Linuxで開発しているのにその上に仮想マシン入れてLinux入れて
仮想イメージのスナップショットを使うわけないよね

Linuxで開発=Linuxのスナップショット機能を使う
Windowsで開発=Windowsのスナップショット機能を使う
471login:Penguin
垢版 |
2021/12/24(金) 18:51:40.90ID:RBCC1M2X
Linuxがクライアントとしてこの先生きのこるカギはWSLが握ってるから
2021/12/24(金) 19:08:02.50ID:vRVrWPFV
>>470
コンテナみたいな隔離された環境単体の、特定の状態を保存しとけたらいいかな?
と思ったけど少数派だったみたいね

export/importでももちろん出来るけど時間が掛かるのが今一つ
2021/12/24(金) 19:38:15.03ID:HFwe8F8a
>>471
と、いうかWindowsのイチ機能として生きていく感じですね。
2021/12/24(金) 19:54:29.87ID:ZJSBQ3Vt
>>469
Windows のスナップショットって何?
まさかと思うけど復元ポイントじゃないよね?
Windows Server なら VSS 使えるけど
2021/12/24(金) 20:33:48.87ID:HFwe8F8a
>>474
Windows10 でも VSSは使えるんだけど。
2021/12/24(金) 20:34:37.70ID:HFwe8F8a
>>474
標準で物足りないならサードパーティーのものを使えば
いいと思うよ。
2021/12/24(金) 21:16:33.28ID:hZd3KPwC
>>475
そうなんだ、それは知らなかったわ

>>476
なんでそんな話になるんだ?
2021/12/24(金) 21:23:48.87ID:HFwe8F8a
>>477
VSSより使い勝手が優れたものはあるから、気に入らなければ
それを使えばってこと。
2021/12/24(金) 22:26:19.32ID:hZd3KPwC
誰も気に入らないなんて言ってないのに?
2021/12/24(金) 22:38:21.54ID:HFwe8F8a
>>479
あまり知識がないようだから、もっと使い勝手がいいものも
あるよって紹介しただけだよ。なに苛ついてんの。
2021/12/24(金) 22:43:42.69ID:hZd3KPwC
はいはい、自称情強さん乙w
2021/12/24(金) 23:09:39.34ID:HFwe8F8a
>>481

次の方、どうぞ〜。
2021/12/25(土) 01:57:10.20ID:cLdkIDdU
>>482
ハイ!
2021/12/25(土) 02:01:28.07ID:uFrGZf9y
WSLgとGPU対応って結局Win11専用なの?
2021/12/25(土) 03:04:40.96ID:oZiURL4N
Xのソフト動いても、たいていウィンドウズのあるんだよな。
Linuxにしかないのってなんや?
2021/12/25(土) 06:18:50.22ID:uBv/jsoM
LinuxにあってWindowsにないものか・・・

MTAやMDAにはWindowsにないものの方が多いんじゃね?
ncursesみたいなコンソールアプリ作成支援ライブラリもないし、ネットワーク系がWindowsは弱い印象。
Linuxのiptablesみたいな仕組みがあればルーティングが楽になるんだけどねぇ
2021/12/25(土) 07:43:16.68ID:w1M55aLG
> 標準で物足りないならサードパーティーのものを使えばいいと思うよ。
製品名すら書けないとかどんだけ出し惜しみしてるんだよ
2021/12/25(土) 08:13:51.52ID:68jWeSjU
>>486

それらはX使わないのでは?
2021/12/25(土) 08:16:06.78ID:bIu0ZlzI
>>486
パソコンをルータの代わりに使うところってまだあるのか?
ルータ専用機でいいじゃん
2021/12/25(土) 08:16:13.97ID:68jWeSjU
>>485

昔はGIMPとかそうだったけど(動いたとしてもすごく不安定)
いまは逆にWindowsのほうが主流になった感じですしね。

xfontselとかはWindowsでは意味ないからなぁ。
2021/12/25(土) 08:16:46.70ID:68jWeSjU
>>489

Windowsでもできるしね。iptablesは使わないけど。
2021/12/25(土) 08:19:45.39ID:68jWeSjU
>>485

fontforgeはそうですね。今でもWindows用はX Server使ってるし。
WSLで簡単に導入できるようになったのが便利。
2021/12/25(土) 08:21:31.40ID:68jWeSjU
>>492

失礼しました。最近はXじゃないWindows版もあるんですね。
2021/12/25(土) 08:29:43.11ID:bIu0ZlzI
ハッカー文化っていうのは、Linuxだけで動くソフトウェアを作ることじゃないんだよね
あらゆるOSで動くソフトウェアを作りたいと思ってる
だからWindowsでも動くようにしようとする
2021/12/25(土) 08:36:55.09ID:68jWeSjU
>>494

特にGUI使うソフトはWindowsでも使えるようにしたほうが
はるかに多くの人に使ってもらえるからね。
2021/12/25(土) 08:41:16.40ID:bIu0ZlzI
GUIアプリはWindowsでも動くように作られていたのに比べて
CLIコマンドはWindowsを無視されていた

なぜならCLIコマンドだけ頑張っても
Windowsにはbashがなかったから

bashだけがあってもだめで
シェルスクリプトから呼び出せるいろんなコマンドが必要

GUIアプリは単体のアプリですむのにくらべて
CLIコマンドはそういう環境を作らないといけなかった
それがcygwinやmsysだったが、WSLによって環境全てが移植された
この意味は大きかった
2021/12/25(土) 08:47:53.14ID:68jWeSjU
>>496
Unix的な使い方をしようとする人がいるからね。
そういう人はPowerShellとか毛嫌いしてることが多い。
今は便利なものは取り入れるっていう文化がWindowsのほうがあるね。
2021/12/25(土) 08:52:33.10ID:68jWeSjU
>>497
Linuxの文化はWindows的なものは排除するか独自実装して対抗しようと
したけど、WSLによってWindowsにLinuxが取り込まれてしまって
挙げたこぶしを下げられなくなっちゃった感じですかね。MSは強かだししぶとい。
499login:Penguin
垢版 |
2021/12/25(土) 10:07:39.13ID:s37VqeYw
どっちがどっちを取り込むということではなく
WindowsとLinuxで相互運用できる抽象化技術が発達するでしょ
で、それがデファクトスタンダードになっていく
2021/12/25(土) 10:46:48.35ID:9vBLlfbZ
windowsがtcpip話せるのは中にbsdいるからだろ
501login:Penguin
垢版 |
2021/12/25(土) 13:01:57.79ID:s37VqeYw
規格の話をしてるわけじゃないんだが
どちらかというとバイナリモジュールそのものの共同利用
2021/12/25(土) 13:08:05.61ID:68jWeSjU
>>500
bsdも中にARPAがいるからでは?
503login:Penguin
垢版 |
2021/12/25(土) 15:53:47.44ID:uBv/jsoM
>>488
GUIアプリだけがプログラムじゃないのだよ。

>>489
ルータ専用機じゃ細かい所まで処理できないんだよね。
特定パケットを切り取って処理するとか、ちょっと書き換えて送り出すとか。
2021/12/25(土) 16:05:03.46ID:uBv/jsoM
>>491
Windowsのルーティング機能はタコすぎて使えんw
2021/12/25(土) 16:10:46.52ID:68jWeSjU
>>503
あなたが言ってるルーター専用機は何ですか?
おしえてほしいな。
2021/12/25(土) 16:17:06.82ID:68jWeSjU
家庭とかごくごく小規模のところ以外Linuxをルーターにしてるところは
ないと思うけど。実例あるのかな?
507login:Penguin
垢版 |
2021/12/25(土) 19:25:45.74ID:s37VqeYw
スレ違い上等で書くけどさ、fzf version 0.29.0でプレビューウィンドウの位置をキー入力で変更できるようになったね
2021/12/25(土) 19:56:48.74ID:bIu0ZlzI
>>503
×ルータ専用機じゃ細かい所まで処理できないんだよね。
○ルータ専用機じゃ普通やらないようなこと変な事ができないんだよね。

だろ?

特定パケットを切り取って処理するとか、ちょっと書き換えて送り出すとか
一体なにをしたいのかわからん。
手段ではなくて、やりたいことを言ってみ
2021/12/25(土) 20:11:22.59ID:68jWeSjU
>>508
ハッカー気取りなだけでしょうから、あまり突っ込まないほうが・・・。
510login:Penguin
垢版 |
2021/12/25(土) 21:30:36.96ID:uBv/jsoM
あーあ、またいつもの自演集団(たぶん一人w)かよ
LANの統計情報にしてもMIBだけで済むような組織は楽でいいねぇ
511login:Penguin
垢版 |
2021/12/25(土) 21:33:26.26ID:uBv/jsoM
OSは適材適所で使わないとね
Windowsは端末OSが起源なんだから無理してもしゃーない
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況