X



トップページLinux
1002コメント296KB

【Bash】Windows Subsystem for Linux【WSL】11

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
垢版 |
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/
0777login:Penguin
垢版 |
2022/02/10(木) 10:47:34.41ID:/XeeiE/p
WindowsもシェルでCUIライクに操作したいということでpowershellに期待してたけど、どうしても見劣りするなぁ
仕事柄社内の人間にも使ってもらう必要があって、シェル操作するためだけにWSL入れてくださいとか言うのは抵抗感あったんだけど、やっぱ使わざるを得ないな
0778login:Penguin
垢版 |
2022/02/10(木) 13:09:03.09ID:XY1zQ9so
>>777
> WindowsもシェルでCUIライクに操作したいということでpowershellに期待してたけど、どうしても見劣りするなぁ
純粋に機能だけ見たらPowerShellの圧勝だと思うけど、見劣りする部分って何?
0779login:Penguin
垢版 |
2022/02/10(木) 16:41:40.42ID:44DeLPqg
windowsアップデートして再起動したら
windows側からhttp://localhostでwsl2のapacheにアクセスできなくなった
ip addressコマンドで表示されるeth0のアドレスを直打ちしたら接続できる

たすけてー!!!
0780login:Penguin
垢版 |
2022/02/10(木) 17:51:45.86ID:HQsP0oGp
>>777
シェル使いたいならbusybox-w32使えば?
バイナリ1ファイルの上にbusyboxだから
たくさんのコマンドが内蔵されてるよ
0781login:Penguin
垢版 |
2022/02/10(木) 17:52:23.02ID:HQsP0oGp
>>778
見劣りと言うか文化が違うって感じだろうね
普通に使いたいコマンドが使えないってのもあるけど
0782login:Penguin
垢版 |
2022/02/10(木) 18:25:41.72ID:rvScpbMG
>>781
自分が理解できない文化は劣等だ!
って感じ?
典型的な老害にしか見えないけど…
0783login:Penguin
垢版 |
2022/02/10(木) 18:43:44.65ID:HQsP0oGp
>>782
そんな事一言も言ってないけど?
0784login:Penguin
垢版 |
2022/02/10(木) 19:43:06.29ID:f1QZyycH
>>783
で、見劣りとかどっから出てきたん?
0788login:Penguin
垢版 |
2022/02/10(木) 20:04:28.98ID:f1QZyycH
>>786
お前のバカさしかわからんがw
具体的に書けないから黙ってなよ
0789login:Penguin
垢版 |
2022/02/10(木) 20:08:06.27ID:f1QZyycH
>>787
まさかと思うが>>777に書いてあるとか言い出すんじゃないよな?w
普通の頭持ってりゃなぜ>>777がそんなこと書いたのかを聞いてることぐらいはわかるだろ
0790login:Penguin
垢版 |
2022/02/10(木) 20:09:57.52ID:/XeeiE/p
おっと盛り上げてしまったようだね

>>778
>純粋に機能だけ見たらPowerShellの圧勝
そうなんだっけ?ごめん、実はpowershellあんま詳しくないんだわ
そういう意味では見劣りっていうのは言い過ぎと言うか嘘

powershellをbashやzshライクにするネタはあるけど同じにはならないし
powershellの文法とかコマンドを覚える気はないわ
どうせまた別のが出てくるしアホくさい
0791login:Penguin
垢版 |
2022/02/10(木) 20:30:48.33ID:f1QZyycH
典型的な老害やんw
0792login:Penguin
垢版 |
2022/02/10(木) 21:24:05.60ID:gcZSVIAD
まだまだ破壊的変更繰り返してるから安定はしてないが好きだよpwsh
こっそりディストロwslビルドのデフォルトシェルにするつもりだったりして

preview登録してると毎月何度も更新しろ通知はうざいけど
0793login:Penguin
垢版 |
2022/02/10(木) 21:37:11.62ID:HQsP0oGp
>>789
やっと検索したんですね(笑)
0794login:Penguin
垢版 |
2022/02/10(木) 21:38:51.67ID:gcZSVIAD
呪文のようなエイリアス覚えるまでがハードル高い
0795login:Penguin
垢版 |
2022/02/10(木) 22:14:50.66ID:rvScpbMG
>>793
バカの上塗り?w
ちょっと可哀想…
0797login:Penguin
垢版 |
2022/02/10(木) 23:04:37.53ID:44DeLPqg
>>785
その情報は古すぎます
今はデフォルトで localhostForwarding=True になっています
試しにやってみましたがダメでした
0798login:Penguin
垢版 |
2022/02/10(木) 23:26:44.73ID:44DeLPqg
なんかwindos側にポートフォワーディングの設定が残ってたのでそれを削除したら解決しました

netsh interface portproxy show all

ipv4 をリッスンする: ipv4 に接続する:

Address Port Address Port
--------------- ---------- --------------- ----------
* 80 172.23.114.3 80

netsh interface portproxy delete v4tov4 listenport=80 listenaddres=*
0799login:Penguin
垢版 |
2022/02/11(金) 04:27:30.09ID:lETVfjsQ
pwshは良くも悪くもperl焼き直しって感じ
インタラクティブにはワンライナーの短さが売り、コマンド/パラメータの機械的な短縮規約、|, $_, %, ?で溢れかえるperl以上のラインノイズ

全体的にラグいけど、通常シェル関数とは別にawk丸パクリのBEGIN/ENDを備えたフィルタ定義を使えば最適化されてかなりパフォーマンス出る

というか同じcoreリリースでもwin上よりwsl上の方が軽快なのはなんなんだろうか

最近のリリースでは外部コマンド間のパイプはオプション付けずともpodで流すようになったから、win/linuxのパイプ実装の差?
0800login:Penguin
垢版 |
2022/02/11(金) 04:37:45.52ID:lETVfjsQ
セキュアなスクリプティングもできるのも売りだけど、あんまり普及してないから、自分用には便利でも配るスクリプトは結局dash/pythonで書いてしまうなあ
0801login:Penguin
垢版 |
2022/02/11(金) 18:15:25.78ID:MmsVIOOH
Cmder素晴らしいなこれ
エクスプローラでコピペした\なパスをそのまま貼り付けられるのが素敵
0804login:Penguin
垢版 |
2022/02/12(土) 12:40:37.85ID:uZOcK6Zn
powershellとposix系は単純にアプローチ違うだけでしょ
powershellはどっちかというとSQLに近いテキスト処理だと思ってる。文字列処理じゃなくて機能処理。
コマンド型のAPIって考えたほうが良い。クロスプラットフォームだし。
多分ちゃんと学べば使えるだろうけど、使う機会がない。
あと外部コマンド挟むと結局PowerShellのスタイルが崩れるからなかなかきれいなスクリプトが書きにくそう。
究極言えばWSL上でPowershell動かしCoreutilsのコマンドにbindingできるっちゃあできるだろうし
0805login:Penguin
垢版 |
2022/02/12(土) 12:46:24.23ID:uZOcK6Zn
>>775
分割ターミナル、マウス操作不要、大抵のLinuxで利用可能、コマンドラインセッションを複数セッション・複数ウィンドウ保持、コマンド一発でセッション復帰
0806login:Penguin
垢版 |
2022/02/12(土) 13:44:02.90ID:VvEgJo7s
>>804
POSIX(bashでもいいけど)ではWindowsのGUI処理とかむりだしね。
0807login:Penguin
垢版 |
2022/02/12(土) 14:30:05.80ID:bxN2mnex
テキスト入出力のパイプ処理は行毎だからunixコマンドとの相性はいいと思う
コマンド組み立てるにも、パイプ噛ますにもperl風regexpや置換演算子"..." -f使えるのは便利だと思った

対話でpretty表示されてるのは入力型毎にフォーマット指定が定義できる(されてる)からで、カスタマイズしてもいいし、多分|ft, |fl …(format-table, list)で都度見やすく整形するのが柔軟
column, fmtみたいなもん
0808login:Penguin
垢版 |
2022/02/12(土) 15:11:11.71ID:bxN2mnex
慣れた外部コマンドだけ使うとして、とりあえず-join, -split, -f, slsだけ覚えれば行志向処理に便利なシェルとして使えるんじゃなかろうか

普通スクリプト言語に投げるような構造化テキスト/データのパースも、[xml]等キャスト演算子を前置するだけで配列/辞書に入る

パイプや配列の挙動が分からなくても、とりあえず|% {... $_ } (foreach)で愚直に書ける

内部コマンド(コマンドレット)覚えるのはその後でいいよ
0809login:Penguin
垢版 |
2022/02/12(土) 15:26:11.06ID:iJq+0Ypx
powershellはwindowsシスアドコマンド発行する為のものみたいな風潮は根強い
ググってもそんなんばっかだしな

幸いヘルプはinfo並みに詳しいし、トピック毎のgh about_*を読むのが最良
0812login:Penguin
垢版 |
2022/02/13(日) 19:04:24.52ID:7AI9sDzm
>powershellはwindowsシスアドコマンド発行する為のものみたいな風潮は根強い
当分こうでしょ
Windowsはシェル文化じゃないし
0813login:Penguin
垢版 |
2022/02/13(日) 19:09:22.31ID:k5A1evG3
シェルとCUIを混同してるようだなw
0814login:Penguin
垢版 |
2022/02/13(日) 19:13:52.81ID:elLH/T+I
WindowsのシェルといえばExplorer
0815login:Penguin
垢版 |
2022/02/13(日) 19:18:15.87ID:QYPvgOXT
プログラムマネージャだろ?
0816login:Penguin
垢版 |
2022/02/14(月) 06:12:53.51ID:DPVKCm8W
ん?、シェル文化ってなんだ?
DOS由来ならまぁ少しは説明つくけど、NT由来でCLIは取ってつけたようなもんだろうから、コンセプトはやはりGUIでPowershellとかもオプション扱いが妥当では?
0819login:Penguin
垢版 |
2022/02/15(火) 05:30:32.03ID:4MZ5WmxZ
スマホ端末でwin11動かして、そのwin11上でAndroid動かすロマン
0820login:Penguin
垢版 |
2022/02/15(火) 06:04:17.88ID:nL7j8Q5E
termuxが死んでuserlandも更新が停滞している状況では、良いニュース…なのかな

正直スマホの画面ではターミナルつつくにしてもステータスやデータの確認とか
せいぜいスクリプトの微調整くらいが限界だけど
タブレットで縦画面で使えれば、夢のダイナブックの実現だわ…
0821login:Penguin
垢版 |
2022/02/15(火) 09:29:00.35ID:69ZVUjkw
termuxが死んでってどういう意味?
0822login:Penguin
垢版 |
2022/02/15(火) 11:30:14.80ID:ZBVAUReA
(Playストアでは)死んだ
0824login:Penguin
垢版 |
2022/02/15(火) 12:55:20.53ID:E9ks5qWf
(F-Droidでは)生きてる
0825login:Penguin
垢版 |
2022/02/15(火) 14:25:23.99ID:69ZVUjkw
だから死んではいないのではと思ったの
0826login:Penguin
垢版 |
2022/02/16(水) 21:18:52.89ID:WYfD5+3l
wsl2でclipboardを共有する方法ない?
0830login:Penguin
垢版 |
2022/02/17(木) 08:14:48.72ID:luztFLCx
>>809
俺は.NET言語の1つだと思ってるよ。
オブジェクト指向で.NETのクラスライブラリが使えて独自のdllも読み込めるし。
向いてはないだろうけどやろうと思えばC#並のことはできるんじゃないかな。
0831login:Penguin
垢版 |
2022/02/17(木) 14:31:38.06ID:OTj/EdAG
dotnetのサンプルコードがc♯だから敬遠してた俺も居る

例えばこのサンプル
https://docs.microsoft.com/en-us/dotnet/standard/base-types/grouping-constructs-in-regular-expressions
[regex]::Regex.Matchesと呼ばなくても-match演算子でフル機能使えるとか最近気付いた

PS> "<abc><mno<xyz>>" -match "^[^<>]*(((?'Open'<)[^<>]*)+((?'Close-Open'>)[^<>]*)+)*(?(Open)(?!))$"; $matches
でワンライナーいける
詳細はdotnetのページ見てね、じゃなくてpwshっぽい書き方を示してほしい
0832login:Penguin
垢版 |
2022/02/17(木) 14:56:31.81ID:OTj/EdAG
要するに
win開発に興味無くて、単にwsl+pwshでシームレスに使いたい俺みたいな層としては、get-help -exampleでpwsh版の用例が引けると嬉しい
0833login:Penguin
垢版 |
2022/02/17(木) 18:52:32.45ID:pRc301I8
>>831
このシリーズ良いregexpチュートリアルだね、言語関係なく
機械翻訳がやばいけど
0835login:Penguin
垢版 |
2022/02/19(土) 12:57:59.21ID:EC4zylS5
windowsのカーネルがlinuxに置き換わる事はあるんだろうか
0837login:Penguin
垢版 |
2022/02/19(土) 15:22:02.96ID:8Wy0NXcf
GUI周りをウェブにしてきてるからフロントエンドだけ提供することは可能だけど、抱き合わせのOfficeスイートができないから旨味がないね。
0838login:Penguin
垢版 |
2022/02/19(土) 15:51:02.51ID:FhQcKsFd
Windowsがなくなるとしたら6G7Gくらいの超高速通信時代になって、一般ユーザがガチのシンクライアントな端末しか持たなくなったらだろうな
0839login:Penguin
垢版 |
2022/02/20(日) 08:22:23.89ID:0ceJtvgX
>>838
サーバー上にWindowsがあるからなくならないよ。
0840login:Penguin
垢版 |
2022/02/20(日) 11:11:55.17ID:8GmAD/nH
情弱なので使い道がわからない
0841login:Penguin
垢版 |
2022/02/20(日) 14:45:21.82ID:Fb3Z6tSo
wsl2&docker desktop で windows開発環境構築しやすくなってよいですな
vscode の remote container むっちゃ楽
0842login:Penguin
垢版 |
2022/02/20(日) 15:01:35.47ID:NXZNfBA1
docker desktopはもう捨てた
0843login:Penguin
垢版 |
2022/02/20(日) 15:22:40.97ID:3kxv4gsF
suseのやつに移行しましたよ
0844login:Penguin
垢版 |
2022/02/20(日) 19:47:55.76ID:C15gu2Wk
>>842
kwsk
なぜ捨てたの?なにかに移行したの?
0845login:Penguin
垢版 |
2022/02/20(日) 23:46:53.23ID:7pRmB7IV
商用有償で大企業でもなきゃ捨てたってことじゃない?
0846login:Penguin
垢版 |
2022/02/21(月) 12:37:57.65ID:tXBf/ILu
月に700円くらいお布施しようぜw
0847login:Penguin
垢版 |
2022/02/21(月) 13:12:21.47ID:o6xdfahQ
やだよ
俺の座右の銘はフリーライド
金を払うなど論外
0848login:Penguin
垢版 |
2022/02/21(月) 15:45:48.82ID:2CXUhmKi
金を払うぐらいなら、休日を捨てる覚悟だ
0850login:Penguin
垢版 |
2022/02/23(水) 02:21:25.54ID:G2eb9VwG
WSL2の軽量VMの稼働時間を知りたいと思ったのですが
uptimeの結果が妙です
軽量VMを再起動してもそれがuptimeの表示に反映せず、また全ての軽量VMで同じ結果になります
個々の軽量VMの稼働時間を知りたい場合どうすればいいのでしょうか?
0851login:Penguin
垢版 |
2022/02/23(水) 02:30:42.57ID:kQJL8BkX
無理なんじゃね?
カーネル共有してるんだから
WSL2はだから仮想マシンよりも省メモリなんだよ
0852login:Penguin
垢版 |
2022/02/23(水) 02:38:10.67ID:jQFBzDkP
コンテナ仮想化された上で動いてるね
0853login:Penguin
垢版 |
2022/02/23(水) 02:53:13.00ID:+rLh1kmS
適当にファイル作成してその差を見ればいいんじゃね?
0854login:Penguin
垢版 |
2022/02/23(水) 03:32:00.94ID:DBnhBFJ4
initの起動した時刻を取得すればいいんでは?
秒まで必要ならlstartとかある
0855login:Penguin
垢版 |
2022/02/23(水) 13:58:37.94ID:zQXfU6e/
すみません。
素人の質問で申し訳ないが、
仮想マシン(Synology NAS)上のWindowsではWSL2は無理ですよね?
(WSL1は動いた。)
0856login:Penguin
垢版 |
2022/02/23(水) 14:29:03.56ID:DBnhBFJ4
>>855
DSMがNested Virtualizationを有効にしてないから、そのままでは無理
sshとかで入って設定を弄れば出来るかもしれないけど、ハードルは高いかと
0857login:Penguin
垢版 |
2022/02/23(水) 14:51:18.70ID:tYGqn0gQ
>>856
ありがとう。
あまりWSL1で困ってないのでそのまま使います。
0858login:Penguin
垢版 |
2022/02/23(水) 17:17:48.18ID:A6RSqcui
>>855
それ、そもそも何をしようとしてますか?
というのはDSM)に docker 導入してdocker コンテナのレポジトリの中からUbuntu インストールするてもあるかと思いまして…
余計なお世話かもしれませんが
0859login:Penguin
垢版 |
2022/02/23(水) 17:47:58.73ID:dvnk1os+
ここが変だよ「WSL2」
自作ディストロ開発で発見した知られざる“バグ”と“事実”
https://logmi.jp/tech/articles/326106

前回の「Kernel VM online Part3」で、実はWSLは、自分でディストロを作れるんだよとお話ししました。

Distrodというものを作りました。これはlinuxcontainers.orgからディストロのイメージを落としてきて、システムで動かしながらそれをWSLインスタントして動かすソフトになっています。便利なので使ってみてください。
0860login:Penguin
垢版 |
2022/02/24(木) 08:42:24.07ID:Jmicc5bs
>>858
ありがとう。
やりたいことは単なるテキスト処理です。
awk,sed,nkfなどが動けばいいだけなので。
0861login:Penguin
垢版 |
2022/02/24(木) 09:19:31.24ID:6kHWg2Tz
>>860
その程度ならmingwもあるし、wsl1でも全く問題ない。
0862login:Penguin
垢版 |
2022/02/24(木) 12:00:08.90ID:gm7GGfZx
それだけならbusyboxが楽かな
0863login:Penguin
垢版 |
2022/02/24(木) 12:52:08.92ID:gOQ9H+wR
つまりググるかsynologyスレに行って、DSMでsshを有効にする方法やdpkgで必要なパッケージをインストールする方法を確認するほうがが速いかもしれません。

【高機能】 Synology 総合 part29
https://mevius.5ch.net/test/read.cgi/hard/1644919788/
0864login:Penguin
垢版 |
2022/02/25(金) 03:03:45.78ID:dGnzF7KA
>>862
わしもそう思う
0865login:Penguin
垢版 |
2022/02/25(金) 05:47:38.52ID:5W6XFNP5
>>862
相変わらずダメ文字があるので、
残念ながら使えない
0866login:Penguin
垢版 |
2022/02/25(金) 08:45:12.87ID:j+z0mWHF
皆さん、ありがとうございます!
WSLを使い慣れているのでWSL1を使おうと思います。
0867login:Penguin
垢版 |
2022/02/28(月) 20:18:36.31ID:Fkf9ttzd
WSLのおかげで素のLinuxマシンが減ってるらしい
0868login:Penguin
垢版 |
2022/02/28(月) 20:55:19.28ID:qEeLc6Dt
WSLかChromebookかラズパイかクラウド(VPSやIaaS等)か
0869login:Penguin
垢版 |
2022/03/01(火) 12:07:26.17ID:pr9UByDD
メモリ馬鹿食いするしVMにLinux入れたほうがよくね
0870login:Penguin
垢版 |
2022/03/01(火) 20:04:44.39ID:RPfI5b4P
VMにLinux入れると、ディストリ毎にメモリ食うんだよね
WSL2はカーネルは全ディストリで共有だから軽いし
起動がものすごく速い。2秒とかで起動する。
0871login:Penguin
垢版 |
2022/03/01(火) 20:18:49.75ID:lEFA1QFM
WSL2ってVM+コンテナだよね?
VMに軽量Linux入れてその中でLXC使えばいいんじゃね
0872login:Penguin
垢版 |
2022/03/01(火) 20:22:41.52ID:NIvV7voI
VM未起動でも数秒で起動するのがいいよね、下手にカスタマイズしたPowerShellより早いかもしれん
0873login:Penguin
垢版 |
2022/03/01(火) 22:46:27.63ID:s3jqCffg
Windows Integrationがやはり強みだと思う。
エクスプローラーから全部覗けるし、逆も然り
Win11なら、概ねのXアプリも一応動く。gnuplot とか。
だけど軽い。
Office やTeamsが必要だけどLinux便利でいろいろしたいひとには便利
というかsshのコンソールとしてだけでも意味ある
0874login:Penguin
垢版 |
2022/03/02(水) 04:01:56.26ID:OYgd/FAG
正直インテグレーションは筋が悪いと思う、wsl同梱のコマンド類はネイティブなので、windowsファイルシステム上で使うと不正なファイルを作りがち(pwshスレで聞きかじり)

pwshは稀有なファイルシステムawareなので、インテグレーション運用したいならベスト
重いのはパワーアピールの為にデフォルトで要らんもんわんさかロードしてるので*-Moduleで要らんものパージすると快適、細かい事分からんなら-no-...系のオプションとりあえず付けるのがよい

パス通ってる.ps1等対応スクリプトをパースして引数補完するのが特に重い…便利ではあるけど
大量に俺々コマンド書くようなヘビーユーザでない限り、パース不要な内部コマンドの補完だけで十分だと思うので、デフォルトにするべきじゃないと思うわ
0875login:Penguin
垢版 |
2022/03/02(水) 07:23:36.45ID:fGDzXcPN
>>871
VMに軽量Linux入れてその中でLXC使って
WSL2のマネをするぐらいなら
WSL2を使うという理屈だよ
■ このスレッドは過去ログ倉庫に格納されています

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