ラベル Windows の投稿を表示しています。 すべての投稿を表示
ラベル Windows の投稿を表示しています。 すべての投稿を表示

2016年5月8日日曜日

LinuxのwhichはWindowsではwhere

このエントリーをはてなブックマークに追加
コマンドの場所を調べるにはLinux(Unix)ではwhichなのだが、Windowsで同じのってなんだろと思ったらwhereだった。

"どれ?"と"どこ?"か。。。。

C:\Users\fumio>where node
C:\Program Files (x86)\nodejs\node.exe

C:\Users\fumio>where vagrant
C:\HashiCorp\Vagrant\bin\vagrant.exe

ちなみにdircdcopyなどは内部コマンドと呼ばれメモリ内にあり、exeファイルなどとして実体は無いのでwhereでは場所はでてこない。

C:\Users\fumio>where dir
情報: 与えられたパターンのファイルが見つかりませんでした。

C:\Users\fumio>where cd
情報: 与えられたパターンのファイルが見つかりませんでした。

2016年5月7日土曜日

Bash on Ubuntu on Windowsのnetwork周りはまだまだだった(build14332)

このエントリーをはてなブックマークに追加
Bash on Ubuntu on Windowsを触ってみたんだけど、どの程度までできるものなのかApacheをコンパイルして起動させてみるとこまでやってみたいと思う。

Bash on Ubuntu on Windows10を試すの時はPowerShellから起動して...みたいなことを書いていたけども、スタートメニューにBash on Ubuntu on Windowsってのが増えてたので、こちらから起動する。


開けたらこんな感じ。ディレクトリもLinuxになってる。rootも可。


IP調べようと思ったらifconfigでエラーが出た。

$ ifconfig
Warning: cannot open /proc/net/dev (No such file or directory). Limited output.

一応、networkをスタートしてみたもののエラーが出た。

$ /etc/init.d/networking start
 * Configuring network interfaces...                                                                                    resolvconf: Error: /run/resolvconf/interface either does not exist or is not a directory
resolvconf: Error: /run/resolvconf/interface either does not exist or is not a directory
../../../../lib/isc/unix/socket.c:2379: setsockopt(20, SO_TIMESTAMP) failed: Invalid argument
../../../../lib/isc/unix/socket.c:2379: setsockopt(21, SO_TIMESTAMP) failed: Invalid argument
../../../../lib/isc/unix/socket.c:2408: setsockopt(21, IPV6_RECVPKTINFO) failed: Invalid argument
../../../../lib/isc/unix/socket.c:5678: setsockopt(21, IPV6_V6ONLY) failed: Invalid argument

そこで同じようなエラーが出てる人がいて解決できたよってあるので参考にしてみた。

名前解決できないからDNSをGoogleDNSに向けてねってあったので向けてみた。

search web.setting
#nameserver 192.168.128.1
#nameserver 192.168.128.1
#nameserver 192.168.2.1
nameserver 8.8.8.8
nameserver 8.8.4.4

さてもう一度networkをstartした結果。

$ /etc/init.d/networking start
 * Configuring network interfaces...                                                                                    ../../../../lib/isc/unix/socket.c:2379: setsockopt(20, SO_TIMESTAMP) failed: Invalid argument
../../../../lib/isc/unix/socket.c:2379: setsockopt(21, SO_TIMESTAMP) failed: Invalid argument
../../../../lib/isc/unix/socket.c:2408: setsockopt(21, IPV6_RECVPKTINFO) failed: Invalid argument
../../../../lib/isc/unix/socket.c:5678: setsockopt(21, IPV6_V6ONLY) failed: Invalid argument
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Error getting interfaces; Invalid argument
Can't get list of interfaces.
Failed to bring up eth0.

resolveconfのエラーは出なくなったけどsocketのエラーはそのまま。

BashのMSDNにあるFrequently Asked Questionsには
Why isn't ICMP working?

This is a known issues that will effect several networking commands such as ping. Stay tuned for updates.
(pingみたいなnetwork周りのコマンドは問題あること分かってるからupdateを待っててね)
とあるので、少し待ち。

ちなみにUbuntu on Windowsのウィンドウを閉じると、今の時点ではさっきのresolve.confへの変更は取り消されます。

手元のbuildは14332だけどrelease noteをみるとresolve.confをマシにしたとあるので、こまめにアップデートして確認できればいいかな。

まだ問題はあるけどプロダクトとしては非常に面白い。VirtualBoxやVMwareを使わずに手軽に動かせる環境として使えそう。

2016年5月6日金曜日

Bash on Ubuntu on Windows10を試す

このエントリーをはてなブックマークに追加
WindowsのプレビュービルドにてWindows10上でUbuntuが実行できる環境がβ版として提供されているので、少し試してみた。

WindowsのOSバージョンはBuild 14332.1001だ。


「コントロールパネル」から「プログラム」、「Windows機能の有効化または無効化」を選択し、「Windows Subsystem for Linux(Beta)」にチェックを入れる。


「今すぐ再起動」を押し再起動させる。


再起動後、スタートメニューから「Windows PowerShell」を実行する。

ここでbashと入力すると環境のインストールが開始される。
設定するユーザ名やパスワードが聞かれるので適当に決めて入力しよう。


試しにapt-getでupdateしてみる。


割とそれなりに使えそうです。正式リリースの際にはどの程度になっているか楽しみですね。


2016年4月11日月曜日

Windows10で使えるいいターミナルソフトがないか探してTerminalを捨て結局Rlginを選んだ

このエントリーをはてなブックマークに追加
Windows10で使えるいいターミナルソフトがないか探してTerminalsを選んだを書いたんだけど、割と見掛け倒しでしょぼかったので今度こそは思って選んだのがRloginというもの。

割と多機能なようでポートフォワードも対応してるし、スクリプトもかけるらしいのでこれにした。

#自分的にはリモートデスクトップをSSH Tunnelで接続したりしてるのでポートフォワード超重要。

SSHはTerminalの際に出たdiffie-hellman-group1-sha1問題も無く普通に接続できた。なんだよ。やっぱり普通にできるじゃねーか。


さてポートフォワードの出番だ。これが使いたい。

「ファイル」→「サーバに接続」を選択し、「新規」を選択すると下記のような画面になる。

「プロトコル」から「ssh」を選択し、リモートサーバのIPアドレス、アカウントとパスワードを入力する。


左側のメニューから「プロトコル」を選択し、下にある「ポートフォワード」を押す。


「新規」を押し、


Listenするポートと接続に利用するポートを入力する。


このようにリモートに接続できたことを確認したら、


「リモートデスクトップ接続」を開いて接続すると、


Windowsファイアウォールが通信を許可するか聞いてくるので「はい」を選択するとRDPで接続ができる。


これでいいじゃん!

2016年3月26日土曜日

Windows10で使えるいいターミナルソフトがないか探してTerminalsを選んだ

このエントリーをはてなブックマークに追加
普段はMacを使っていてて、家のマシンもすべてMacなのだがWindowsにも触れておかないと
「僕、普段MacなんでWindowsわからないです(キリッ」
という周りから見たらなんかよくわからない事になりそうなのでWindowsも使うようにしている。

ただWindowsでSSHを使う際に正直PuttyとかTeraTermとか飽きてきたので何かいいソフトないかなぁと探していた時に見つけたのがTerminalsというソフトだった。


自分で感じたよくわからない理由なんだけど、なんか”今現れた!”っぽいし、リモートデスクトップも使えるしShellプロンプトも使えるし、PingやnslookupやはたまたWhoisまで使えるというインフラツールが山盛り入っているのが魅力的だったので、使ってみることにした。

インストールして手元のFedora23サーバにSSHしてみようとしたら
Sorry, Terminal was unable to connect to the remote machine.
server does not support diffie-hellman-group1-sha1 for key exchange
と出て接続できなかった。

FedoraのSSHサーバがdiffie-hellman-group1-sha1をサポートしていなからなので、Fedoraのsshd_configにdiffie-hellman-group1-sha1をサポートしてやるように足してやればいいだけなんだけど、それもそれでサーバ側のセキュリティ強度さげてるだけなのでクライアント側でできないか調べてみた。

http://terminals.codeplex.com/discussions/650183

・・・今のところPuttyだけしか対応できてないそうだ。。本当かよ。

という訳で取りあえずsshd_config側に足してあげて対応するようにしたら接続することができた。


たしかにputtyでは簡単に接続できたけどね!

<追記>

というか、これだけじゃなくて見た目派手だけどSSHのポートフォワードが設定項目にあるのにDisableになってて使えなかったり、いろいろとしょぼいので違うものを探すことにしました(涙