探検


【Bash】Windows Subsystem for Linux【WSL】9

■ このスレッドは過去ログ倉庫に格納されています
1login:Penguin
垢版 |
2020/12/10(木) 17:44:21.97ID:o6AATirQ
ついに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/
2020/12/10(木) 19:31:40.03ID:TB58pINX
WSLからWindowsのファイルシステムにアクセスするのは遅いな
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側に出ていくことはないので、ほとんど実害はないのですが、
そのアドレスが通信が必要な実ホストと万が一かぶるを面倒になりそうで。
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で十分だ
10login:Penguin
垢版 |
2020/12/22(火) 20:50:01.02ID:5BrIzTyC
>>9
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
2020/12/22(火) 21:15:33.20ID:/HDWOBUs
>>12
めちゃくちゃすぎて反論もクソもないわ
systemdをWindowsサービスで代替する具体的な方法を出してみろよ
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などを動かしてアプリケーションではなくシステムを切り出すしかない
15login:Penguin
垢版 |
2020/12/22(火) 22:06:24.53ID:5BrIzTyC
>>13
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を導入するもの

理解できた?
2020/12/22(火) 22:08:21.08ID:/HDWOBUs
>>16
CUIもDockerで十分
所詮はbashっていうアプリだからな
2020/12/22(火) 22:08:43.64ID:/HDWOBUs
>>15
systemdじゃないじゃん
19login:Penguin
垢版 |
2020/12/22(火) 22:09:59.68ID:5BrIzTyC
lsをDockerコンテナで実行しても
ホストのファイルシステムは見れないしなw
20login:Penguin
垢版 |
2020/12/22(火) 22:10:26.17ID:5BrIzTyC
>>18
だからsystemd使わないでいいだろ
Windowsなんだから、Windowsの流儀でやれ
21login:Penguin
垢版 |
2020/12/22(火) 22:11:58.19ID:5BrIzTyC
>17
> 所詮はbashっていうアプリだからな
だからその理屈なら、お前はLinuxデスクトップを使ってる時に
bashを起動したかったら、dockerを使えって言ってるの
コンテナの中しか見えないがなw
2020/12/22(火) 22:14:36.78ID:/HDWOBUs
>>19
マウントしろ
2020/12/22(火) 22:15:26.60ID:/HDWOBUs
>>20
意味わからん
Windowsの流儀でやるならWSLも要らんだろ
PowerShell使えば?
2020/12/22(火) 22:16:43.89ID:/HDWOBUs
>>21
Linux使ってるなら普通にbashでもコンテナでbashでもいい
Windowsならコンテナで十分
あえてWSLにする意味はない
25login:Penguin
垢版 |
2020/12/22(火) 22:17:14.21ID:5BrIzTyC
>>22
> マウントしろ
だから、お前がLinuxデスクトップでbashを使う時にでDockerにマウントしろ
俺はそんな面倒なことはしない

> Windowsの流儀でやるならWSLも要らんだろ

だからWindowsの流儀で劣っていたCUI環境を
大幅に改善させたのがWSLだっていってんだろ

> PowerShell使えば?
それも使えるし、なんでも使えるw
26login:Penguin
垢版 |
2020/12/22(火) 22:18:19.62ID:5BrIzTyC
>>24
> Linux使ってるなら普通にbashでもコンテナでbashでもいい
だからLinuxユーザーに言ってきなさい。
bashはDockerコンテナで動かせって(笑)
2020/12/22(火) 22:19:22.40ID:/HDWOBUs
>>25
面倒じゃないからDocker使うわ
WSLはコンテナと違ってイミューたブルじゃないから管理めんどくせんだよね

Windows上でならPSのほうが遥かに強力なCLIだぞ?
PSに比べたらbashとか貧弱すぎるわ
2020/12/22(火) 22:20:19.80ID:/HDWOBUs
>>26
言うまでもない
わかってるやつはみんなコンテナ使ってる
29login:Penguin
垢版 |
2020/12/22(火) 22:20:42.86ID:5BrIzTyC
うざいからスレ立ててきた
そっちでやれ

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
>>31
劣化してんじゃん
WindowsをCLIで動かしたいならPS使えよ
2020/12/22(火) 22:29:04.70ID:/HDWOBUs
結局お前は「Windows上に強力なCLI環境を載せたい」んじゃなく「Linuxでbashを使いたい」だけなんだよ
WSLはVMだからホストWindowsのコントロールなんてろくにできない
そんな環境で普段使い用のターミナルを整備したって意味ないの
WSLでbash使うんだったらコンテナでbash使うのと変わらん
ならイミュータブルでより便利なコンテナで十分だ
2020/12/22(火) 22:35:57.95ID:5BrIzTyC
WSLの登場ですっかり様変わりしてしまったが
なぜsystemdが使えないはずのmacOSが開発者に人気だったかと言うと
CUI環境が強力なデスクトップ環境だったから
そこにWSLの登場でmacOSよりもCUI環境が快適なデスクトップ環境が登場した
2020/12/22(火) 22:36:30.82ID:5BrIzTyC
>>32
> WindowsをCLIで動かしたいならPS使えよ
両方使えるだろ

だからもうLinuxデスクトップを使う意味がなくなったんだよ
2020/12/22(火) 22:37:25.94ID:5BrIzTyC
>>33
> 結局お前は「Windows上に強力なCLI環境を載せたい」んじゃなく「Linuxでbashを使いたい」だけなんだよ

俺が「Windows上に強力なCLI環境を載せたい」といっていて
お前が「Linuxでbashを使いたい」だけといってる

ウソを付くのはやめろ
2020/12/22(火) 22:38:00.76ID:5BrIzTyC
> WSLはVMだからホストWindowsのコントロールなんてろくにできない

WSLからWindows用のコマンドはすべて動かせる
Dockerじゃできないなw
2020/12/22(火) 22:39:07.80ID:5BrIzTyC
なんだw 自分からWSLのメリット言ってしまってるじゃんw

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作業することだけ
そんなんだったらコンテナで十分なんだ
2020/12/22(火) 22:43:04.85ID:/HDWOBUs
>>36
Windowsに強力なCLIを載せたいならWSLじゃ無理だから諦めろ
あれはWindows載せたLinux VMにアクセスするためのCLIであってWindowsに乗せるCLIじゃない
2020/12/22(火) 22:43:06.37ID:5BrIzTyC
> MacのCLIはMacコントロールできた
> 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コンテキストに切り替え、
各種のコマンドを実行する。具体的には以下のようにすればよい。
2020/12/22(火) 22:45:46.54ID:/HDWOBUs
>>37
powershellより遥かに貧弱なCLIでやる意味がない
2020/12/22(火) 22:46:48.06ID:5BrIzTyC
>>43
LinuxユーザーにPowerShellのほうが優れてるぞー
LinuxでもPowerShellつかえよお前らって言ってこい
2020/12/22(火) 22:47:30.24ID:5BrIzTyC
bashとpowershellは思想が違ってるから使い分けるものだって理解できない時点でアウト
もちろんWSLからpowershellは実行できるw
2020/12/22(火) 22:48:43.70ID:5BrIzTyC
WSLからnetsh.exeは普通に起動できるけど
Dockerコンテナからnetsh.exeを起動できるのかな?w
マウントすればファイル見えるんでしたよねwww
2020/12/22(火) 22:53:18.74ID:/HDWOBUs
>>42
手始めにWSL2ターミナルからコマンドレット直接呼び出してみて
Windows操作はPowerShellコマンドレットが最も充実している
これができないんじゃ力の大半を奪われたも同然
2020/12/22(火) 22:54:47.88ID:5BrIzTyC
>>47
直接呼び出さなければ使えると認めましたねw
つーかお前はPowerShell信者のようだが
俺はbashの方が使いたいんだわ
bashからWindowsのexeコマンドを呼び出す
これが出来るからWSLは便利

「お前」はPowerShell信者のようだがなー!(笑)
2020/12/22(火) 22:55:51.61ID:/HDWOBUs
>>44
Linuxで必ずしもPowerShellが上位とは限らない
Windowsコントロールという大きウェイトを占める機能が意味をなさないからだ
Linuxでは文法のリッチさ、.NETクラスライブラリ、オブジェクト指向というメリットと動作の重さなどバランスをかんがえて選ぶ必要がある
2020/12/22(火) 22:58:35.43ID:/HDWOBUs
>>48
powershellではなく「コマンドレット」な
WindowsをコントロールするCLIは今やコマンドレットが第一級市民だ
これが使えないのではターミナルとしては飛車角落ちと言わざるを得ない

まあLinux VMを操作するだけなら要は足りるのかもしれんがね
普段使いのターミナルには程遠い
2020/12/22(火) 22:59:26.32ID:5BrIzTyC
>>49
皮肉もわからんのか?w

お前がPowerShellはーPowerShellはーって言ってる
と指摘してやってるだけなんだがw

Windowsは両方使える
お前がもしPowerShellよりもbashの方が優れてると少しでも思っているなら
WSLはそのbashを手に入れたということ
もちろんWSLからWindowsのexeコマンドを実行できる
2020/12/22(火) 23:00:04.98ID:5BrIzTyC
>>50
> これが使えないのではターミナルとしては飛車角落ちと言わざるを得ない
そういってるのはお前ですよね?

Windowsはどちらも使えると俺は言ってる

お前は、どうしてもPowerShellじゃなきゃいけないようだがなw
53login:Penguin
垢版 |
2020/12/22(火) 23:02:11.95ID:NOknqYOT
WindowsでLinuxのコマンドが使えるのが便利だけど、それを認めたくないバカがいるのあかぁ。
ほんとLinuxは始まる前に末期だなぁw
2020/12/22(火) 23:04:56.91ID:b7NGPEf0
気軽に環境構築したり壊したりできるのが魅力だと思ってたが違うのか
2020/12/22(火) 23:12:44.79ID:5BrIzTyC
Dockerはアプリを配布するために使うもの
Docker使ったって環境構築を気軽にできるわけがない
自分で作らないといけないんだから
使う目的がぜんぜん違う

そんなにDockerだけでやれるっていうのなら
「Dockerコンテナの中から」ホストのsystemdの設定でもすれば?
Linuxならsystemd動くでしょう?w

WSLならWindowsのサービスの設定(sc.exeコマンド)を実行できるけどねw
2020/12/22(火) 23:42:56.02ID:/HDWOBUs
>>51
まだわからねえのか
powershellではなくコマンドレットをWSLbashから直接実行してみろっていってんだよ?
2020/12/22(火) 23:43:38.42ID:/HDWOBUs
>>53
Linuxコマンドはコンテナで使えばいい
2020/12/22(火) 23:43:53.53ID:/HDWOBUs
>>54
それはコンテナのメリット
2020/12/23(水) 00:03:02.13ID:V1kWc9Lf
>>56
だからなんでお前はPowerShellに固執してるの?

俺らがやりたいのは、bashでWindowsを
コントロール(正確にはexeコマンドの実行)することなんだが?
2020/12/23(水) 02:13:18.49ID:kO8uJcKs
>>59
コントロールするためのコマンドレットをbashから打てないだろ
WSLなんつう余計なレイヤー追加してできることを減らすとか笑えん
2020/12/23(水) 02:38:42.36ID:sT63gCrd
>>60
おまえが主張するDockerコンテナからはどうやってもコマンドレット打てないだろ
だいたいWindowsをコントロールするもが目的であって
コマンドレットはその手段の一つでしかない
思いつきで文句いうんじゃねーよ

WSLならbashからexeを実行できてWindowsをコントロールできる
Dockerコンテナでは不可能なことだ
2020/12/23(水) 02:41:19.88ID:sT63gCrd
あとはっきり言っいてやる
PowerShell使いたいのもコマンドレットを使いたいのも
それを言ってるのはお前だからな

こっちはWSLでWindowsと連携できる形で
bashが使えると喜んでいるというのにw
63login:Penguin
垢版 |
2020/12/23(水) 07:11:58.04ID:PV+Tm/4+
WindowsとLinuxのイイトコドリが安定して出来るWSLは超便利っていう結論はひっくりかえせませんw
64login:Penguin
垢版 |
2020/12/23(水) 15:09:16.89ID:H29ATdOZ
なんでそんな必死なんだろう

Linuxの低レイヤー環境が必要なら用意すればいいしお手軽環境ならWSLがいい

なんでそこでDockerが出てくるんだ
65login:Penguin
垢版 |
2020/12/23(水) 15:30:59.31ID:S8X0ru49
Winクライアントで動かすDockerなんてお手軽で便利なテスト環境でしかないだろ。
なんでそこまで宗教論争するのか理解できない。
2020/12/23(水) 15:56:04.31ID:ZguD9N4D
Dockerを勘違いしてるのか、WSLをけなしたいのかどっちかなんだろうな

WSLがmacOSの対抗技術として導入されたようなもんだろ

macOS、systemd動きますか?動きませんよね。
それでもLinuxに近いCUIがあったから開発者に人気があった

Docker出たからmacOSのCUI、Homebrewはもういらないといいますか?
いわんだろ。WSLはiTermとHomebrewよりもよりよい対抗技術
Dockerの中でlsしたって見えるのはコンテナの中だけ
2020/12/23(水) 19:43:26.71ID:FYhcbcy2
やっぱ炎上学習法がベストだな
2020/12/23(水) 20:00:32.66ID:95KXYltB
WSL(2)が便利だと困る人が、随分前から潜伏してるよねこのスレ。
2020/12/23(水) 20:02:21.26ID:vcrXOU+R
そういや噂されてるAndroidアプリ実行環境ってWSLベースなのかな
2020/12/23(水) 20:17:39.49ID:ylPqx/1N
>>68
いるねぇ。完璧すぎるからケチつけるのが大変そう。
2020/12/23(水) 20:31:07.09ID:X+mDP54J
前にも同じパターンの流れ見た気がするが同じ奴じゃないか
相手しなきゃいいのに
72login:Penguin
垢版 |
2020/12/23(水) 20:35:18.82ID:kPS0NrMd
WSLの話題続くと死んじゃう心の病気のヒトなんだろ。
俺は雑食系で便利と思ったモノはどんどん使うんで、WSLは重宝してるよ。
2020/12/23(水) 22:35:50.28ID:5VLiTBhv
wine for windows
2020/12/23(水) 23:42:20.22ID:tAP/xlD6
Windows 10 Home 版に、WSL2, Docker を入れた

OS の連続アップデートに、3時間掛かった。
CPU-i3, 8GB メモリを、電力エコモードで使っているから、コンパイルが遅いのかも

その後、WSL1 から、WSL2への変更。
Dockerのインストール自体は簡単だった

これで、Windows10 Pro 版じゃなくても、Dockerを使える。
Kubernetes も入っていた

これで、VSCode のRemote WSL, Remote Docker で開発できる

むしろ今では、立場が逆転して、Linux を分かっていない、Mac ユーザーの方が情弱w
75login:Penguin
垢版 |
2020/12/24(木) 11:02:40.28ID:gGWcFx7+
>>74
WindowsをGentooだとでも思っているのか?
Windows updateにコンパイルなんて無いぞ。
76login:Penguin
垢版 |
2020/12/24(木) 11:11:24.01ID:J2tObtbh
Linux使ってる理由はwin10を使いたくないからなので
win10でLinux環境を作れてもwin10を使うことはないのね
まぁ人それぞれだろうけど
少なくとも自分はそんな感じ
2020/12/24(木) 11:19:20.82ID:2T+d4I9Z
情弱の知ったかだろう
多分環境構築がゴール
2020/12/24(木) 12:37:50.36ID:MV2TqomS
win使わないのにwslに用事があるなんて
2020/12/24(木) 12:40:00.00ID:UfKYXTwT
何でこのスレに来た?
2020/12/24(木) 14:17:02.84ID:Q31GQoNq
>>76
そういう人って結構いるらしいね
Linuxを使いたくて使ってるんじゃなくて
Windows 10が嫌だから消去法でLinuxしか残らなかっただけ
2020/12/24(木) 14:18:27.17ID:sqZ4JTDr
Linuxデスクトップでいいよね
なんでわざわざWindows
2020/12/24(木) 14:21:25.13ID:Q31GQoNq
Linuxデスクトップのいいところを言ってみてよw
■ このスレッドは過去ログ倉庫に格納されています

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