ついに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/
【Bash】Windows Subsystem for Linux【WSL】9
■ このスレッドは過去ログ倉庫に格納されています
1login:Penguin
2020/12/10(木) 17:44:21.97ID:o6AATirQ2020/12/10(木) 19:31:40.03ID:TB58pINX
WSLからWindowsのファイルシステムにアクセスするのは遅いな
WSL1も遅かったがWSL2はもっと遅くなってる
find -L(シンボリックリンクの解決)を使うとfindよりも極端に遅くなる
Windowsのファイルシステムにアクセスしない場合はWSL2は十分速いんだが
WSL1も遅かったがWSL2はもっと遅くなってる
find -L(シンボリックリンクの解決)を使うとfindよりも極端に遅くなる
Windowsのファイルシステムにアクセスしない場合はWSL2は十分速いんだが
2020/12/11(金) 08:24:17.72ID:b4LJ8n00
公式でもwindowsのファイルシステムでは使うなって言ってるね
なんかデフォルトのファイルシステムサイズが小さいのか、すごく大きなファイルはディスク一杯!って出て作業できないや
メモリー増やさないと駄目かも
なんかデフォルトのファイルシステムサイズが小さいのか、すごく大きなファイルはディスク一杯!って出て作業できないや
メモリー増やさないと駄目かも
2020/12/11(金) 13:16:20.97ID:YPbJK/5K
WindowsからWSLのファイルシステムアクセスは実用的ですか?
2020/12/11(金) 17:44:39.56ID:L1NuDIfv
遅いだけで十分実用的
6login:Penguin
2020/12/12(土) 12:16:19.62ID:arkY6vfB wsl2で振られるvEthernetのアドレス、範囲を指定したりすることってできます?
うちの会社結構広大なプライベートアドレスを使っていてかぶることがある。
近接しているwslの方が優先されるし、そのアドレスでLAN側に出ていくことはないので、ほとんど実害はないのですが、
そのアドレスが通信が必要な実ホストと万が一かぶるを面倒になりそうで。
うちの会社結構広大なプライベートアドレスを使っていてかぶることがある。
近接しているwslの方が優先されるし、そのアドレスでLAN側に出ていくことはないので、ほとんど実害はないのですが、
そのアドレスが通信が必要な実ホストと万が一かぶるを面倒になりそうで。
2020/12/21(月) 20:11:02.52ID:x05TIYuR
windows用のbusyboxでも日本語が理解できて感動
8login:Penguin
2020/12/22(火) 18:31:45.38ID:5BrIzTyC あげ
2020/12/22(火) 19:56:10.21ID:/HDWOBUs
>>>993
>お前が言ってるのはDockerがあればLinuxは不要と言ってるのと同じことだぞ
>LinuxでもDockerは使える。Dockerコンテナの中に作業データ全部入れてしまえば
>ホストのLinuxでやることは何もなくなる
>デスクトップLinuxを使ってCUIでやることは全部Dockerでやればいいと
>お前はいいたいのか?不便すぎるだろう
DockerがあればLinuxは不要とか俺が言ってることと真逆のーじゃねーか
Dockerじゃ簡単にできないこと、つまりシステムのコンテナ化がDockerとは別に必要なんだよ
LXCとかフル仮想化のことな
WSL2にはそれを期待したんだがsystemdがサポートされてないからクソ中途半端
こんな出来ばえならDockerで十分だ
>お前が言ってるのはDockerがあればLinuxは不要と言ってるのと同じことだぞ
>LinuxでもDockerは使える。Dockerコンテナの中に作業データ全部入れてしまえば
>ホストのLinuxでやることは何もなくなる
>デスクトップLinuxを使ってCUIでやることは全部Dockerでやればいいと
>お前はいいたいのか?不便すぎるだろう
DockerがあればLinuxは不要とか俺が言ってることと真逆のーじゃねーか
Dockerじゃ簡単にできないこと、つまりシステムのコンテナ化がDockerとは別に必要なんだよ
LXCとかフル仮想化のことな
WSL2にはそれを期待したんだがsystemdがサポートされてないからクソ中途半端
こんな出来ばえならDockerで十分だ
10login:Penguin
2020/12/22(火) 20:50:01.02ID:5BrIzTyC >>9
systemdはWindowsのサービスで置き換えられるだろ
Linuxだからって全部がsystemdを使うわけではない
Windows版Linux(=WSL2)はサービスを使うだけの話
OSはWindowsだってわかってんのか?
systemdはWindowsのサービスで置き換えられるだろ
Linuxだからって全部がsystemdを使うわけではない
Windows版Linux(=WSL2)はサービスを使うだけの話
OSはWindowsだってわかってんのか?
2020/12/22(火) 20:55:50.27ID:/HDWOBUs
>>10
もうめちゃくちゃだなお前さん
もうめちゃくちゃだなお前さん
12login:Penguin
2020/12/22(火) 21:01:30.28ID:5BrIzTyC >>11
ほーら反論できなくなったw
WSL1もWSL2もWindowsにLinuxに変えるものじゃなくて
Linuxアプリを動かせるようにするものだって
理解してないからそんなアホなことを言うんだよ
WSLはお前のためのLinuxお勉強環境じゃないの
それでお前は俺の質問に答えてない
Linuxを使う時、お前はホームディレクトリに何も置かないのか?
Linuxを使う時、GUIデスクトップ+Dockerの中だけで作業してるのか?
あ、systemdだけ使うんだったなw
ほーら反論できなくなったw
WSL1もWSL2もWindowsにLinuxに変えるものじゃなくて
Linuxアプリを動かせるようにするものだって
理解してないからそんなアホなことを言うんだよ
WSLはお前のためのLinuxお勉強環境じゃないの
それでお前は俺の質問に答えてない
Linuxを使う時、お前はホームディレクトリに何も置かないのか?
Linuxを使う時、GUIデスクトップ+Dockerの中だけで作業してるのか?
あ、systemdだけ使うんだったなw
2020/12/22(火) 21:15:33.20ID:/HDWOBUs
2020/12/22(火) 21:22:12.64ID:/HDWOBUs
>>12
>Linuxアプリを動かせるようにするものだって
だからそう言ってんじゃん
Linuxアプリ動かすだけならDockerで十分だろ
Dockerはアプリケーションコンテナなんだからよ
>Linuxを使う時、お前はホームディレクトリに何も置かないのか?
>Linuxを使う時、GUIデスクトップ+Dockerの中だけで作業してるのか
ホームディレクトリにファイルは置いてるがべつにホームにこだわる必要はない
必要なファイルは作業用のコンテナにマウントすればいいだけだからな
Dockerでできる作業は全部Dockerだよ
これはLinuxでもWindowsでも同じ
んでWSL2でやるような作業って全部そういうDockerだけでできる作業なんだよな
Dockerにできないあるいは難しい仕事をやろうと思ったらsystemdなどを動かしてアプリケーションではなくシステムを切り出すしかない
>Linuxアプリを動かせるようにするものだって
だからそう言ってんじゃん
Linuxアプリ動かすだけならDockerで十分だろ
Dockerはアプリケーションコンテナなんだからよ
>Linuxを使う時、お前はホームディレクトリに何も置かないのか?
>Linuxを使う時、GUIデスクトップ+Dockerの中だけで作業してるのか
ホームディレクトリにファイルは置いてるがべつにホームにこだわる必要はない
必要なファイルは作業用のコンテナにマウントすればいいだけだからな
Dockerでできる作業は全部Dockerだよ
これはLinuxでもWindowsでも同じ
んでWSL2でやるような作業って全部そういうDockerだけでできる作業なんだよな
Dockerにできないあるいは難しい仕事をやろうと思ったらsystemdなどを動かしてアプリケーションではなくシステムを切り出すしかない
15login:Penguin
2020/12/22(火) 22:06:24.53ID:5BrIzTyC >>13
Windowsでbatファイルを自動実行したい時(タスクスケジューラの設定)
https://qiita.com/Richard_Roe/items/44e16841f16ee40c6113
Windowsでbatファイルを自動実行したい時(タスクスケジューラの設定)
https://qiita.com/Richard_Roe/items/44e16841f16ee40c6113
16login:Penguin
2020/12/22(火) 22:07:15.71ID:5BrIzTyC >>14
> Linuxアプリ動かすだけならDockerで十分だろ
> Dockerはアプリケーションコンテナなんだからよ
DockerはLinuxアプリを動かすためのもの
WSLはWindowsにLinux相当のCUIを導入するもの
理解できた?
> Linuxアプリ動かすだけならDockerで十分だろ
> Dockerはアプリケーションコンテナなんだからよ
DockerはLinuxアプリを動かすためのもの
WSLはWindowsにLinux相当のCUIを導入するもの
理解できた?
2020/12/22(火) 22:08:21.08ID:/HDWOBUs
2020/12/22(火) 22:08:43.64ID:/HDWOBUs
>>15
systemdじゃないじゃん
systemdじゃないじゃん
19login:Penguin
2020/12/22(火) 22:09:59.68ID:5BrIzTyC lsをDockerコンテナで実行しても
ホストのファイルシステムは見れないしなw
ホストのファイルシステムは見れないしなw
20login:Penguin
2020/12/22(火) 22:10:26.17ID:5BrIzTyC21login:Penguin
2020/12/22(火) 22:11:58.19ID:5BrIzTyC >17
> 所詮はbashっていうアプリだからな
だからその理屈なら、お前はLinuxデスクトップを使ってる時に
bashを起動したかったら、dockerを使えって言ってるの
コンテナの中しか見えないがなw
> 所詮はbashっていうアプリだからな
だからその理屈なら、お前はLinuxデスクトップを使ってる時に
bashを起動したかったら、dockerを使えって言ってるの
コンテナの中しか見えないがなw
2020/12/22(火) 22:14:36.78ID:/HDWOBUs
>>19
マウントしろ
マウントしろ
2020/12/22(火) 22:15:26.60ID:/HDWOBUs
2020/12/22(火) 22:16:43.89ID:/HDWOBUs
25login:Penguin
2020/12/22(火) 22:17:14.21ID:5BrIzTyC >>22
> マウントしろ
だから、お前がLinuxデスクトップでbashを使う時にでDockerにマウントしろ
俺はそんな面倒なことはしない
> Windowsの流儀でやるならWSLも要らんだろ
だからWindowsの流儀で劣っていたCUI環境を
大幅に改善させたのがWSLだっていってんだろ
> PowerShell使えば?
それも使えるし、なんでも使えるw
> マウントしろ
だから、お前がLinuxデスクトップでbashを使う時にでDockerにマウントしろ
俺はそんな面倒なことはしない
> Windowsの流儀でやるならWSLも要らんだろ
だからWindowsの流儀で劣っていたCUI環境を
大幅に改善させたのがWSLだっていってんだろ
> PowerShell使えば?
それも使えるし、なんでも使えるw
26login:Penguin
2020/12/22(火) 22:18:19.62ID:5BrIzTyC2020/12/22(火) 22:19:22.40ID:/HDWOBUs
>>25
面倒じゃないからDocker使うわ
WSLはコンテナと違ってイミューたブルじゃないから管理めんどくせんだよね
Windows上でならPSのほうが遥かに強力なCLIだぞ?
PSに比べたらbashとか貧弱すぎるわ
面倒じゃないからDocker使うわ
WSLはコンテナと違ってイミューたブルじゃないから管理めんどくせんだよね
Windows上でならPSのほうが遥かに強力なCLIだぞ?
PSに比べたらbashとか貧弱すぎるわ
2020/12/22(火) 22:20:19.80ID:/HDWOBUs
29login:Penguin
2020/12/22(火) 22:20:42.86ID:5BrIzTyC うざいからスレ立ててきた
そっちでやれ
bash(すべてのCLIコマンド)はDockerコンテナで動かすべき
https://mao.5ch.net/test/read.cgi/linux/1608643209/
そっちでやれ
bash(すべてのCLIコマンド)はDockerコンテナで動かすべき
https://mao.5ch.net/test/read.cgi/linux/1608643209/
2020/12/22(火) 22:21:28.20ID:/HDWOBUs
ここまででWSLを使うメリットまだ1つも出せてねえぞ?
そんなんで大丈夫か?
そんなんで大丈夫か?
2020/12/22(火) 22:22:08.52ID:5BrIzTyC
だからWindowsのCUI環境をLinuxデスクトップ並にすることだって言ってんだろw
2020/12/22(火) 22:23:02.39ID:/HDWOBUs
2020/12/22(火) 22:29:04.70ID:/HDWOBUs
結局お前は「Windows上に強力なCLI環境を載せたい」んじゃなく「Linuxでbashを使いたい」だけなんだよ
WSLはVMだからホストWindowsのコントロールなんてろくにできない
そんな環境で普段使い用のターミナルを整備したって意味ないの
WSLでbash使うんだったらコンテナでbash使うのと変わらん
ならイミュータブルでより便利なコンテナで十分だ
WSLはVMだからホストWindowsのコントロールなんてろくにできない
そんな環境で普段使い用のターミナルを整備したって意味ないの
WSLでbash使うんだったらコンテナでbash使うのと変わらん
ならイミュータブルでより便利なコンテナで十分だ
2020/12/22(火) 22:35:57.95ID:5BrIzTyC
WSLの登場ですっかり様変わりしてしまったが
なぜsystemdが使えないはずのmacOSが開発者に人気だったかと言うと
CUI環境が強力なデスクトップ環境だったから
そこにWSLの登場でmacOSよりもCUI環境が快適なデスクトップ環境が登場した
なぜsystemdが使えないはずのmacOSが開発者に人気だったかと言うと
CUI環境が強力なデスクトップ環境だったから
そこにWSLの登場でmacOSよりもCUI環境が快適なデスクトップ環境が登場した
2020/12/22(火) 22:36:30.82ID:5BrIzTyC
2020/12/22(火) 22:37:25.94ID:5BrIzTyC
>>33
> 結局お前は「Windows上に強力なCLI環境を載せたい」んじゃなく「Linuxでbashを使いたい」だけなんだよ
俺が「Windows上に強力なCLI環境を載せたい」といっていて
お前が「Linuxでbashを使いたい」だけといってる
ウソを付くのはやめろ
> 結局お前は「Windows上に強力なCLI環境を載せたい」んじゃなく「Linuxでbashを使いたい」だけなんだよ
俺が「Windows上に強力なCLI環境を載せたい」といっていて
お前が「Linuxでbashを使いたい」だけといってる
ウソを付くのはやめろ
2020/12/22(火) 22:38:00.76ID:5BrIzTyC
> WSLはVMだからホストWindowsのコントロールなんてろくにできない
WSLからWindows用のコマンドはすべて動かせる
Dockerじゃできないなw
WSLからWindows用のコマンドはすべて動かせる
Dockerじゃできないなw
2020/12/22(火) 22:39:07.80ID:5BrIzTyC
なんだw 自分からWSLのメリット言ってしまってるじゃんw
DockerからホストWindowsのコントロールはできないが
WSLからならWindowsのコマンド(cmd.exeなど)がすべて実行できるので
Windowsのコントロールが出来る
DockerからホストWindowsのコントロールはできないが
WSLからならWindowsのコマンド(cmd.exeなど)がすべて実行できるので
Windowsのコントロールが出来る
2020/12/22(火) 22:40:35.18ID:/HDWOBUs
>>34
まったくズレてる意見だ
MacのCLIはMacコントロールできた
WSLはWindowsを満足にコントロールできない
多少はできるかもしれんがその目的ではPowerShellのほうが遥かに優秀
結局のところWSLでできことは隔離されたLinuxサンドボックスでCLI作業することだけ
そんなんだったらコンテナで十分なんだ
まったくズレてる意見だ
MacのCLIはMacコントロールできた
WSLはWindowsを満足にコントロールできない
多少はできるかもしれんがその目的ではPowerShellのほうが遥かに優秀
結局のところWSLでできことは隔離されたLinuxサンドボックスでCLI作業することだけ
そんなんだったらコンテナで十分なんだ
2020/12/22(火) 22:43:04.85ID:/HDWOBUs
2020/12/22(火) 22:43:06.37ID:5BrIzTyC
> MacのCLIはMacコントロールできた
> WSLはWindowsを満足にコントロールできない
できるっていってるだろうが。reg.exeだって実行できる
アホか PowerShellスクリプトだって動く
逃げるな呼ばーかw
> WSLはWindowsを満足にコントロールできない
できるっていってるだろうが。reg.exeだって実行できる
アホか PowerShellスクリプトだって動く
逃げるな呼ばーかw
2020/12/22(火) 22:44:02.52ID:5BrIzTyC
WSLからコントロールできないWindowsの機能を言ってみ
https://www.atmarkit.co.jp/fwin2k/operation/xpsp2dep02/xpsp2dep02_04.html
GUIではなく、コマンドラインでWindowsファイアウォールを操作するには、
netshというシェルを利用する。まずnetshを起動後、firewallコンテキストに切り替え、
各種のコマンドを実行する。具体的には以下のようにすればよい。
https://www.atmarkit.co.jp/fwin2k/operation/xpsp2dep02/xpsp2dep02_04.html
GUIではなく、コマンドラインでWindowsファイアウォールを操作するには、
netshというシェルを利用する。まずnetshを起動後、firewallコンテキストに切り替え、
各種のコマンドを実行する。具体的には以下のようにすればよい。
2020/12/22(火) 22:45:46.54ID:/HDWOBUs
>>37
powershellより遥かに貧弱なCLIでやる意味がない
powershellより遥かに貧弱なCLIでやる意味がない
2020/12/22(火) 22:46:48.06ID:5BrIzTyC
2020/12/22(火) 22:47:30.24ID:5BrIzTyC
bashとpowershellは思想が違ってるから使い分けるものだって理解できない時点でアウト
もちろんWSLからpowershellは実行できるw
もちろんWSLからpowershellは実行できるw
2020/12/22(火) 22:48:43.70ID:5BrIzTyC
WSLからnetsh.exeは普通に起動できるけど
Dockerコンテナからnetsh.exeを起動できるのかな?w
マウントすればファイル見えるんでしたよねwww
Dockerコンテナからnetsh.exeを起動できるのかな?w
マウントすればファイル見えるんでしたよねwww
2020/12/22(火) 22:53:18.74ID:/HDWOBUs
2020/12/22(火) 22:54:47.88ID:5BrIzTyC
>>47
直接呼び出さなければ使えると認めましたねw
つーかお前はPowerShell信者のようだが
俺はbashの方が使いたいんだわ
bashからWindowsのexeコマンドを呼び出す
これが出来るからWSLは便利
「お前」はPowerShell信者のようだがなー!(笑)
直接呼び出さなければ使えると認めましたねw
つーかお前はPowerShell信者のようだが
俺はbashの方が使いたいんだわ
bashからWindowsのexeコマンドを呼び出す
これが出来るからWSLは便利
「お前」はPowerShell信者のようだがなー!(笑)
2020/12/22(火) 22:55:51.61ID:/HDWOBUs
>>44
Linuxで必ずしもPowerShellが上位とは限らない
Windowsコントロールという大きウェイトを占める機能が意味をなさないからだ
Linuxでは文法のリッチさ、.NETクラスライブラリ、オブジェクト指向というメリットと動作の重さなどバランスをかんがえて選ぶ必要がある
Linuxで必ずしもPowerShellが上位とは限らない
Windowsコントロールという大きウェイトを占める機能が意味をなさないからだ
Linuxでは文法のリッチさ、.NETクラスライブラリ、オブジェクト指向というメリットと動作の重さなどバランスをかんがえて選ぶ必要がある
2020/12/22(火) 22:58:35.43ID:/HDWOBUs
>>48
powershellではなく「コマンドレット」な
WindowsをコントロールするCLIは今やコマンドレットが第一級市民だ
これが使えないのではターミナルとしては飛車角落ちと言わざるを得ない
まあLinux VMを操作するだけなら要は足りるのかもしれんがね
普段使いのターミナルには程遠い
powershellではなく「コマンドレット」な
WindowsをコントロールするCLIは今やコマンドレットが第一級市民だ
これが使えないのではターミナルとしては飛車角落ちと言わざるを得ない
まあLinux VMを操作するだけなら要は足りるのかもしれんがね
普段使いのターミナルには程遠い
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【米中】トランプ氏、「中国側へ武器売却」を提案 対台湾懸念で 米大使明かす [煮卵★]
- 【片山さつき財務相】「挑戦なき国に発展はなし」「最後のチャンス」★3 [ぐれ★]
- 【x】イーロン・マスク氏がX上で日本のテレビ局買収について質問し話題に「日本の政府は許可するでしょうか?」 (東スポ) [少考さん★]
- 【🚹】40代男性をコンビニ店員の男(39)が盗撮か トイレ個室の上からスマホ…「用を足しているところを盗撮された」 鹿児島 [nita★]
- スマイリーキクチ 電車内の男を嘆く「惨めな人生だと思う」 [少考さん★]
- 「路上で突然突き飛ばされたり、殺害予告が届いたりする日本での日常のほうが、私には怖くて危険」渡邊渚が綴る「世界を旅する理由」 [Ailuropoda melanoleuca★]
- jcだよ質問ある??
- 【高市悲報】東京新聞「『みんなで大家さん』は自己責任と言えるのか?🤨」 [616817505]
- 卵かけご飯を先に作って炒める炒飯はパサパサになる←これ
- 【速報】亜月ねね さんの自宅、近くの神社から丸見え [841411289]
- 日本人親「息子がチクリ魔で辛い。クラスの打ち上げを教師に密告して台無しにしたらしい」 [162723853]
- 高市首相の国連の敵国条項削除要求、中国の反発も想定内だった… 次々に中国を挑発していく方針に転換か [668024367]