【Bash】Windows Subsystem for Linux【Ubuntu】2©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
そんなことは知ってるけど /homeをWindows側のフォルダに移したりもできないので あんま意味ねえんだわ そのたびにコピーとかw それとも作業ディレクトリをいちいち常にWSL外にするのか? めんどくせえわ よくわからんけど ホームディレクトリを/mnt/c以下に設定するのはダメなの? >>108 それは設定できるけど そこは純粋なNT'FS環境なので ディレクトリ操作等ばぐってたわ これってファイアウォールの許可アプリからssh server切っておけば特にセキュリティ的問題ないですかね? ちなみにwslttyの起動時の作業フォルダーが%usrprofile%になっててlsでみると余計なファイルも見えてて汚いんだけど、ここにいる人は何か対策してる? Microsoft AzureリードアーキテクトJohn Gossman氏にLinux Foundation参画について聞く https://www.infoq.com/jp/news/2017/01/microsoft-joins-linux-foundation InfoQ: BashのシェルスクリプトがWindows 10上で動くのは開発者に好意的に受け取られているようです。 しかし、サーバソフトウェアやネイティブのLinuxプログラムは動作しません。 WindowsのロードマップにはBashを超えてLinuxカーネルにまで手を伸ばす計画が含まれていますか。 Gossman: コミュニティが受け入れてくれたことにはとても興奮しています。 また、コミュニティの声を聞き続けていますし、 進化するニーズに答えるための機能追加にも投資しています。 私たちは現時点では共有できるWindows Subsystem for Linuxについての具体的なロードマップはありません。 Bash on Windowsのサポートによって、 開発者はWindowsとLinuxの開発にWindowsを自然に使えるようになりました。 優れたユーティリティ、フレームワークを活用できるようになりました。 BashシェルスクリプトはWSLの一般的なユースケースですが、 ユーザーはUbuntuのユーザースペースでELF64をネイティブで実行できます。 つまり、例えば、Ubuntuで使えるソフトウェアをAPTパッケージマネージャを使ってインストールできます。 このサブシステムの挙動については技術資料があり、 新しいピコプロセスとシステムコールが Windows NTカーネルにどのように変換されるかについて説明しています。 $ sudo apt-get install lsb だけで、かなり幸せになれる\(^o^)/ これwindowsはそのままでbashだけきれいに入れ直したいんだけどどうやったらできるの? >>117 lxrun /uninstall /full スタートメニューのBash on Ubuntu on Windowsを選択するワンアクションで sshdの起動とTeraTermのlocalhostへのログインをRSA鍵認証でいっぺんにやる方法 "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Bash on Ubuntu on Windows.lnk" を 次の内容の "\Windows\System32\lxss\start-wsl-sshd.js" ってファイルへのショートカットにする --ここから-- var ws = new ActiveXObject("WScript.Shell"); ws.Run("C:\\Windows\\System32\\bash.exe ~ -c \"service ssh status && exit 1; exec /usr/sbin/sshd -D\"", 0); ws.Run("\"C:\\Program\ Files\ (x86)\\teraterm\\ttermpro.exe\" ssh://名無し@localhost /auth=publickey /keyfile=id_rsa" , 1); --ここまで-- その前にTeraTermでSSH鍵生成をして生成されたid_rsa.pubというファイルをC:\Users\名無し\AppData\Local\VirtualStoreから探し出して ~/.ssh/authorized_keys2 に追加して/etc/ssh/sshd_config中のUsePrivilegeSeparation yesをnoに書き換えて Windowsのサービス管理ツールからSSH Server BrokerとSSH Server Proxyを無効にしておきます これで全部かな。チラシ裏のメモ書き終わり おう、cygtermみたいなことができるのか! 家帰ったら試してみよう WSLtty使ってる wsl-terminalと大差ないけれど Insider Previewで試してるけど、大分よくなったな。 これでsystemdもサービスみたいに動いてくれればいいんだけど。 現状ではrunlevel変えれないのでしょうか /etc/init.d/rc 2 とかやってしのいでます Bash on Windowsが強化、Linux版のJavaやGo、PostgreSQLなどもWindowsで実行可能に。3月リリースのWindows 10 Creators Updateで ttp://www.publickey1.jp/blog/17/bash_on_windows_creators_update.html >>123 に答えてなかったので今更だけどcbwin使えるようにした修正版 …3月の配信が楽しみですね nanashi@NOTE:(/mnt/c/Users/名無し/Desktop) % cat /mnt/c/Windows/System32/lxss/start-wsl-sshd.js var ws = new ActiveXObject("WScript.Shell"); ws.Run("C:\\Windows\\System32\\outbash.exe ~ -c \"service ssh status && exit 1; printenv OUTBASH_PORT >/var/run/wstart.port; exec /usr/sbin/sshd -D\"", 0); ws.Run("\"C:\\Program\ Files\ (x86)\\teraterm\\ttermpro.exe\" ssh://nanashi@localhost /auth=publickey /keyfile=id_rsa" , 1); nanashi@NOTE:(/mnt/c/Users/名無し/Desktop) % cat /var/run/wstart.port 52706 nanashi@NOTE:(/mnt/c/Users/名無し/Desktop) % grep OUTBASH_PORT ~/.tcshrc setenv OUTBASH_PORT `cat /var/run/wstart.port` nanashi@NOTE:(/mnt/c/Users/名無し/Desktop) % wcmd dir | grep "ショートカット" 2016/11/19 11:36 684 USER - ショートカット.lnk >>128 64ビットのEXEじゃないと動かないっぽいな。 32ビットだとフォーマットがウンタラカンタラでこける。 windowsの出来の悪さに反比例してbash on windows 段々よくなってきてるのが 笑える。 最後windows捨ててlinuxベースになるんじゃないかw 開発もしやすそうだし 単なるsyscall互換なsubsystem作ってるだけだから土台のNT kernelが 変わるわけ無いと思う。 Insider Previewを追うごとにだいぶ出来は良くなってるけど、まだなんちゃってLinuxだしな。 この先もNT kernelをLinux kernelに置き換えることなんてないから一生なんちゃってだよ なんちゃってでもちょっとしたことやるのに便利に使ってるよ。 VS2017でlinuxターゲット開発できるようになったし そのターゲットにbash on win使えるし。 ubuntu16に上がったのも良いね。 MSYS2やCygwinの代わりに使えれば文句はないな今の所。 Windows領域のEXEも叩けるし。 32ビットコードが動かないくせに、依存関係でi386のパッケージも突っ込んでくれるな。 おかしいのはそんな依存関係を持たせてるパッケージの方だろ うむ Bash on Ubuntu on Windows Linux xxxxxxxxxxxxxxxxxxxx 3.4.0+ #1 PREEMPT Thu Aug 1 17:06:05 CST 2013 x86_64 x86_64 x86_64 GNU/Linux Cygwin CYGWIN_NT-10.0 xxxxxxxxxxxxxxxxxxxx 2.7.0(0.306/5/3) 2017-02-12 13:18 x86_64 Cygwin Subsystem for UNIX-based Applications Interix SERVER 6.1 10.0.7063.0 x86 AMD_x86_Family21_Model16_Stepping1 Windows apt install emacs emacs -e tetris テトリスで遊ぶためにある 日本のITライター達do-release-upgradeを知らない説 >>131 > 最後windows捨ててlinuxベースになるんじゃないかw これはLinuxを使わずに、Linuxをエミュレートしてる いくら完成度が高くなったとしても、それはLinuxが要らなくなるという意味でしかない。 >>144 非公式日本語訳 Windows 10 Creators Update: Bash/WSL & Windows Consoleの新しい点 ttps://opcdiary.net/?p=34971 Windows 10 Creators Updateで何が変わったのか?・Bash/WSLとWindows Consoleの新機能と変更点(前編) ttps://kledgeb.blogspot.jp/2017/04/wsl-78-windows-10-creators.html Windows 10 Creators Updateで何が変わったのか?・Bash/WSLとWindows Consoleの新機能と変更点(後編) ttps://kledgeb.blogspot.jp/2017/04/wsl-79-windows-10-creators.html >>145 msdnサイトに Remove & Replace (recommended) てなってるからしゃあなかろう あえてdo-release-upgradeでやってみるかのう再環境構築もめんどいし do-release-upgrade アップグレード出来た "screen is terminating"のエラーは出たから sudo -S RELEASE_UPGRADER_NO_SCREEN=1 do-release-upgrade で後はあっさり Ubuntu部分だけならdo-release-upgradeでも良いと思うけど、 Creators UpdateでWSL部分も変わってるから 入れ直すのが確実だろうな あ、でもUbuntu 17.04でたのか。 >>154 それはシリアル通信使ったハードウェアは存在するの? って聞いてるようなもんだぞw >>154 ラズパイとRS232Cでシリアル通信することがあるのでTeraTermとかのソフトが必要だったが Windows単独でどうにかなるのは嬉しい。 >>154 Linux上で動くROM焼きソフト使いたかったので個人的に嬉しいわ シリアルはうまくいかなかったけど、外付けディスクのマウントはありがたい。 FUSEをサポートして欲しかったけどWndows側でどうにかなるなら問題ないな。 VeraCryptの暗号化ディスクの内容がWSLでも参照できた。 >>156 Windowsでマウントされたディスクを/mntとかにマッピングするものなので Windows側でマウントできればファイルシステムの種類は問わないらしい。 >>154 これよく分からんけど、minicomが動くよってこと? 今までteratermでCOMポート指定してたところをminicom使えよってこと? >>154 非公式日本語訳 Ubuntuからシリアルデバイス(COMポート)にアクセス可能に ttps://kledgeb.blogspot.jp/2017/04/wsl-82-ubuntucom.html >Screenやminicomは現在シリアルターミナルとして利用することはできませんが、cuがその代わりとして利用できます。 Wrong CPU load reading? https://github.com/Microsoft/BashOnWindows/issues/945 WSL also seems to hardcode the load average to 0.52, 0.58, 0.59. Not very helpful for applications that manage parallelization based on load average ハードコーディングはあんまりだが、 Windowsのタスクマネージャー見ろよな・・・ ロードアベレージを出すにはカーネルにそのための機能(過去のデータの計測?)が必要で Windowsにはそのための機能がないから、とりあえず動くようにするために決め打ちの値を使ったみたいね ベータ版あるある LAはタスクマネージャー開いても分からないか・・・ Cygwinとかはどうなってたけな? 32bitバイナリ動かすのにqemu-userが役に立つことに気付いた 開発用に使ってるんで32bitバイナリを動作確認するのに仮想環境立ち上げなくていいのは便利 >>167 最後の方にすぐに修正されるって書いてあるな。 Cygwinでは何年たっても治らなかった問題が、 Microsoftだからこそできるわけだがすぐに修正されようとしている。 32GBのストレージのPCでSDカードにWSL環境入れられないかな? Windows消し去るか迷ってるんだけど Windowsはディレクトリにドライブをマウントできるんだから C:\Users\UserName\AppData\lxss ディレクトリでも作って そこにSDカードをマウントしてみたら? なるほど、やってみる価値はありそう GW中にやってみるかな >>178 あ、SDカードはNTFSでフォーマットしてね >>179 VHDX使って成功した人とか、ジャンクション使って手が紹介されてるね Insider Previewでbash.exeから起動されるbashが全てinteractive, non-login shellからinteractive, login shellに変わってるから変なスタートアップファイルを使ってたら注意な Insider Preview 15031のダウンロードが進まないわ。 なんでそんな昔のものを取ってくるんだ? Creators Update入れればいいのに。 ちなみに今のFastリングのInsider Preview は16184。 >>182 もう少し詳しく頼む。 login shellになるとユーザ名とパスワードが必要になるのか? スタートアップファイルって.profileとかのことか? >>187 ログイン時に実行されるスクリプトが違うだけ やっぱりサーバー用途のニーズも高かったんだな。 Bashだけの口じゃCygwinやMSYSと使い勝手が変わらない。 >>191 > Bashだけの口じゃCygwinやMSYSと使い勝手が変わらない。 それDebianでもCentOSでもCygwinでも使い勝手は変わらないと 言ってるようなもんだよ。 パッケージ周りが違うからCygwinやMSYSとはぜんぜん違う。 CygwinやMSYSは別のディストリだがBash on Ubuntu on WindowsはUbuntu そしてLinux用バイナリがそのまま動くから、Cygwin/MSYS用に ビルドするという作業が要らなくなる つまり世の中に配布されているLinux用バイナリがそのまま使える。 インストール手順などもUbuntuのものがそのまま使える 最初Cygwin/MSYSの代わりになると思ってたんだけど全然違うんだよな 結局サブシステムの中で完結しててだったら不通にVMでいいじゃんってなってる >>193 > 最初Cygwin/MSYSの代わりになると思ってたんだけど全然違うんだよな Ubuntuに代わり(というかそのもの)だからねw VMでUbuntu使うぐらいなら、Bash on Ubuntu on Windowsでいい。 Cygwin/MSYSは残念ながら、Ubuntuのノウハウは使えない。 apt-getは使えないし、ビルドの方法も特殊 普段CentOS使ってる人だとまた少し違うけど、 UbuntuやDebian系を使ってる人は、そのノウハウがそのまま使える。 ここまでくるとMacOSもbrewという独自の方法を辞めて欲しくなるよ。 そうすれば全てUbuntuのやり方で統一できるのにって思ってる。 > 結局サブシステムの中で完結しててだったら不通にVMでいいじゃんってなってる え? どうみてもWSLはサブシステムの中で完結してないよな? WSLで起動したプロセスはタスクマネージャーから見えるし、 メモリ空間は共有しているしネットワークも共有で別にIPアドレスが割り当てられることもない ファイルシステムもマウントポイントが特殊なだけでサブシステムの中に Windowsのドライブが割り当てられてる。 あらゆる証拠がWSLがWindowsと強調して動いてることを示している。 New distro’s coming to Bash/WSL via Windows Store https://blogs.msdn.microsoft.com/commandline/2017/05/11/new-distros-coming-to-bashwsl-via-windows-store/ We are also working with the great teams at SUSE and Fedora to bring their Linux distro’s to the Windows Store & Windows Subsystem for Linux (WSL) WSLがサブシステム内で完結してるっていうならCygwinがCygwinの世界で完結してないところなんて実デバイスに触れるところしかないと思うが >>196 すまん。あんたの日本語がわからん。 つまり、 本当はWSLはサブシステム内で完結していない(これは事実) だからその点ではCygwinと変わらないということであってるよな 横からで悪いが「サブシステム内で完結」ってどういう意味? 環境サブシステムを仮想マシンか何かだとでも思ってるの? > 環境サブシステムを仮想マシンか何かだとでも思ってるの? そう思ってるんだろ? だから間違いだって突っ込まれてるんだよ。 LinxuサブシステムもWindowsサブシステムも理屈上は対等の存在で 同じNTカーネルの元で動いているものなんだからサブシステムで「完結」するわけがない 根本的な知識が欠落してる それはどうでもいいとして、もっといいニュースが出たね。 WSLで動くディストリが本物のUbuntuだけじゃなくて 本物のFedoraや本物のOpenSUSEまで動くようになった。 これでLinuxの大部分のノウハウはWindowsで そのまま使えるようになる。 MacOSみたいなBSD系の独自の1ディストリとは訳が違う。 MacOSはbrewコマンドを始めとする独自の知識が必要になるが、 Windowsの場合はサーバーで動かすOS(=多くがLinux)と 全く同じディストリを内包している。 ストア経由でUbuntu、openSUSE、fedoraもWindows 10上で動作可能に 〜SpotifyやAutodesk SketchBookなども続々提供 http://pc.watch.impress.co.jp/docs/news/event/1059426.html すまん完結っていう表現はいまいちだったな よく理解してないから教えてほしいけど 俺が知りたいのはVMでできないことでWSLできることはあるのかってこと もちろんそれがないとしてもWSLにもメリットがあることはわかる > 俺が知りたいのはVMでできないことでWSLできることはあるのかってこと 何度も言ってるじゃん。 メモリ空間の共有 プロセス空間の共有 ファイル空間の共有 ネットワーク空間の共有 VMは起動時間が遅い。別のカーネルが動いてる。 メモリ食う。ディスクも別に割当容量を食う 違うことだらけなんだが? 仮想OSは、OSが2つあるけど、 Dockerは、OSが1つで、コンテナが2つ以上ある。 OSが2つある方が、資源を食うし、電気代も高い WSLは、Dockerに似ているのかな? subsystemとは、単なる別のモジュールというだけだろ ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる