2016年5月17日火曜日

Ubuntu15.10から16.04へアップグレード

このエントリーをはてなブックマークに追加
さくらVPSで使っているUbuntu15.10からリリースされた16.04へアップグレードしようとした。

パッケージリストの更新をしてから
$ apt update

OSアップグレードを実行する。
$ do-release-upgrade
新しい Ubuntu のリリースをチェックしています
0% [作業中]                                                                                                             
0% [jp.archive.ubuntu.com (160.26.2.187) へ接続しています]                                                              
0% [ヘッダの待機中です]                                                                                                 
取得:1 ツールの署名のアップグレード [198 B]
99% [作業中]                                                                                                            
99% [ヘッダの待機中です]                                                                                               
取得:2 ツールのアップグレード [1,265 kB]
100% [作業中]                                                                                                           
1,265 kバイト/0秒 を取得しました (0 B/秒)
「xenial.tar.gz.gpg」を用いて「xenial.tar.gz」の認証を行ないます
'xenial.tar.gz' の展開中

キャッシュを読み込み中

パッケージマネージャーをチェック中です

SSH経由で実行していますが、続けますか?


このセッションはSSH上で実行されているようです。アップグレードをSSH越しに行うことは推奨されません。アップグレードに失敗した時の復元が困難になるからです。

続行する場合、追加のSSHデーモンをポート '1022' で起動します。
本当に作業を進めてよろしいですか?

続行する[yN] N

SSH経由でやると何かあった時に接続できなくなるから止めとけよと脅されたのでビビって"N"と押した。

なのでコンソールから直接実行してみる。/bootの容量もないのでapt-get autoremove --pergeを実行し、/bootの容量をあけるためにこうする。
$ apt-get autoremove --purge

もう一度実行。
$ do-release-upgrade
$ cat /etc/issue
Ubuntu 16.04 LTS \n \l
確認してバージョンアップされていれば完了。

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を使わずに手軽に動かせる環境として使えそう。