爆速レンサバ ConoHa Wingを最速で徹底的に調査する!

ConoHa WING

突如彗星の如く降り注いだConoHa WING。

ConoHaが提供する新サービスとはいかなるものか…と思ったらなんとまさかのレンタルサーバー。

なんだ…と落胆したのもつかの間、どうやら相変わらずGMOアプリクラウドの設備に新基盤で作ったっぽい。 そのためスピードが非常に速いらしく、そもそもプラットフォームとしてはレンサバに使うには超贅沢な代物だ。

そして驚愕の「自分でマイグレーション」。 「混雑すると遅くなる」はレンサバの宿命であり、これを均質化するのはサービス提供側としては非常に頭の痛い問題でもある。 それを自分で移せるようにしてしまうことで解決するというのだ。 今の世の中ゲームのサーバー移動ですらままならないというのに、サイト移動がほいほいできる、といえば驚愕っぷりが伝わるだろうか。

これは非常に賢い方法だと思う。 サービス提供側としての負担も少なくなるし、私の研究でも「人間は均質化する条件があれば長い目でみればある程度まで均質化していく」ということが分かっているので、多分うまくいくだろう。 なにより、「気にする人は積極的に動く」ということになるから実際の等しさ以上に不満が出にくい仕組みだ。

ConoHaの中の人 Saito Hironobuさんによると、無停止ではないが停止時間は短いらしい。 厳密性を求めない設計は非常に良いと思う。私としても好みだ。

ちなみに、今回のリニューアルで三雲このはさんは過去の人になってしまった…1

よくある話はちょっとだけ

レンサバはだいたいアフィリエイター大好きなので、同じような内容のブログがGoogleのページをめくるのも困難になるほど書かれるだろう。

だからそんな話はほんとちょっとだけにしよう。

ConoHa WING アプリケーション追加画面

ConoHa WING WordPressを追加する

アプリとしてWordPressとEC-Cubeを追加できる。 すごく今風。世の中それしかないわけじゃないのにぃ!

サイトを作ること自体はこれだけで完了なのでとてもお手軽。 HTTPS接続も可能。

ドメインの操作は手順が多いので若干面倒。 多分how to記事がたっくさん書かれることだろう。

ConoHa WING ドメインの設定

SSLセットアップに関してはサービス任せにできる。 ただし、そのためには事前にDNS側は設定しておく必要があるだろう。

実際にアクセスしてみたが、ちょっと呆れるほど速い。 Chienomiはほとんど調整していない上に重いプラグインが入っているので非常に遅いのだが、絶句するほど速いブログができた。 設定していくと多分遅くなっていくだろうが、素の状態でもかなり差がある感じだ。 サーバー系に精通していない人だけでなく、WordPressに精通していない人にとっても手っ取り早い選択肢になるかもしれない。 (おそらくはここでインストールされるWordPressはチューニング済み)

SSH鍵の登録はVPSと同じ要領。 鍵認証に限定されているのは好感が持てる。

ConoHa WING SSH鍵の登録

なお、 このサーバーは既に無い

では本気を出しましょう

ConoHa WING ホームディレクトリとルートディレクトリ

一見するとフルファイルシステムアクセスが可能に見える。 ファイルシステムツリーは普通にある感じだ。 しかしファイルシステム情報が読めず、ディスク情報を読むためのコマンドも効かない。

/binの中を見てみるとそれなりに豊富に揃っている。

binの下はシェルスクリプトも書けそうな構成

中身はこんな感じ。

lrwxrwxrwx 1 root root     7 Jul 23 21:37 /bin -> usr/bin

/usr/bin:
total 121972
-rwxr-xr-x 1 root root      15059 Jun 10  2014 GET
lrwxrwxrwx 1 root root         15 Sep 12 18:57 Mail -> ../../bin/mailx
-rwxr-xr-x 1 root root      41480 Apr 11 13:35 [
-rwxr-xr-x 1 root root     107856 Aug  3  2017 a2p
-rwxr-xr-x 1 root root      36734 Jun 10  2014 aclocal
-rwxr-xr-x 1 root root      36734 Jun 10  2014 aclocal-1.13
-rwxr-xr-x 1 root root      29104 Apr 11 14:38 addr2line
-rwxr-xr-x 1 root root      19712 May 15 22:07 agentxtrap
-rwxr-xr-x 1 root root      62680 Apr 11 14:38 ar
-rwxr-xr-x 1 root root      33080 Apr 11 13:35 arch
-rwxr-xr-x 1 root root     377984 Apr 11 14:38 as
-rwxr-xr-x 1 root root     167272 Jun 10  2014 aspell
-rwxr-xr-x 1 root root        733 Apr 11 09:13 at
-rwxr-xr-x 1 root root        734 Apr 11 09:13 atq
-rwxr-xr-x 1 root root        735 Apr 11 09:13 atrm
-rwxr-xr-x 1 root root      14768 Jun 10  2014 autoconf
-rwxr-xr-x 1 root root       8534 Jun 10  2014 autoheader
-rwxr-xr-x 1 root root      32181 Jun 10  2014 autom4te
-rwxr-xr-x 1 root root     252350 Jun 10  2014 automake
-rwxr-xr-x 1 root root     252350 Jun 10  2014 automake-1.13
-rwxr-xr-x 1 root root      21066 Jun 10  2014 autoreconf
-rwxr-xr-x 1 root root      17123 Jun 10  2014 autoscan
-rwxr-xr-x 1 root root      33872 Jun 10  2014 autoupdate
lrwxrwxrwx 1 root root          4 Sep 12 18:57 awk -> gawk
-rwxr-xr-x 1 root root      37352 Apr 11 13:35 base64
-rwxr-xr-x 1 root root      29032 Apr 11 13:35 basename
-rwxr-xr-x 1 root root     964544 Apr 11 09:53 bash
-rwxr-xr-x 1 root root       6964 Apr 11 09:52 bashbug-64
-rwxr-xr-x 1 root root        137 Apr 11 09:13 batch
-rwxr-xr-x 1 root root     402744 Aug  2  2017 bison
lrwxrwxrwx 1 root root          5 Sep 12 18:57 bunzip2 -> bzip2
lrwxrwxrwx 1 root root          4 Sep 12 18:57 byacc -> yacc
lrwxrwxrwx 1 root root          5 Sep 12 18:57 bzcat -> bzip2
lrwxrwxrwx 1 root root          6 Sep 12 18:57 bzcmp -> bzdiff
-rwxr-xr-x 1 root root       2128 Nov 20  2015 bzdiff
-rwxr-xr-x 1 root root       1677 Nov 20  2015 bzgrep
-rwxr-xr-x 1 root root      32656 Nov 20  2015 bzip2
-rwxr-xr-x 1 root root      15608 Nov 20  2015 bzip2recover
lrwxrwxrwx 1 root root          6 Sep 12 18:57 bzless -> bzmore
-rwxr-xr-x 1 root root       1259 Nov 20  2015 bzmore
-rwxr-xr-x 1 root root     772744 May 15 05:19 c++
-rwxr-xr-x 1 root root      28584 Apr 11 14:38 c++filt
-rwxr-xr-x 1 root root      36607 Aug  3  2017 c2ph
-rwxr-xr-x 1 root root        224 May 15 05:19 c89
-rwxr-xr-x 1 root root        215 May 15 05:19 c99
-rwxr-xr-x 1 root root        743 Dec 29  2015 cagefs_enter.proxied
-rwxr-xr-x 1 root root      33616 Apr 11 15:50 cal
lrwxrwxrwx 1 root root          3 Sep 12 18:57 captoinfo -> tic
-rwxr-xr-x 1 root root      54080 Apr 11 13:35 cat
-rwxr-xr-x 1 root root       3336 Jun  1 23:48 catchsegv
lrwxrwxrwx 1 root root          3 Sep 12 18:57 cc -> gcc
-rwxr-xr-x 1 root root      62928 Apr 11 13:35 chcon
-rwxr-xr-x 1 root root      62792 Apr 11 13:35 chgrp
-rwxr-xr-x 1 root root      58584 Apr 11 13:35 chmod
-rwxr-xr-x 1 root root      62840 Apr 11 13:35 chown
-rwxr-xr-x 1 root root      32992 Apr 11 15:50 chrt
-rwxr-xr-x 1 root root      33136 Apr 11 13:35 cksum
-rwxr-xr-x 1 root root       7044 Jul  2 23:32 cldetect
-rwxr-xr-x 1 root root       7192 Sep  7  2017 clear
-rwxr-xr-x 1 root root      54504 Dec  9  2017 clusterdb
-rwxr-xr-x 1 root root      45184 Jun 10  2014 cmp
-rwxr-xr-x 1 root root      24504 Apr 11 15:50 col
-rwxr-xr-x 1 root root      11632 Apr 11 15:50 colcrt
-rwxr-xr-x 1 root root      20288 Apr 11 15:50 colrm
-rwxr-xr-x 1 root root      28680 Apr 11 15:50 column
lrwxrwxrwx 1 root root          9 Sep 12 18:57 combinediff -> interdiff
-rwxr-xr-x 1 root root      37408 Apr 11 13:35 comm
-rwxr-xr-x 1 root root     155176 Apr 11 13:35 cp
-rwxr-xr-x 1 root root       5094 Aug  3  2017 cpan
-rwxr-xr-x 1 root root     772720 May 15 05:19 cpp
-rwxr-xr-x 1 root root      54544 Dec  9  2017 createdb
-rwxr-xr-x 1 root root      58456 Dec  9  2017 createlang
-rwxr-xr-x 1 root root      59000 Dec  9  2017 createuser
-rwxr-xr-x 1 root root        935 Apr 11 10:48 crontab
-rwxr-xr-x 1 root root      50384 Jun 26 17:11 crontab.cagefs
-rwxr-xr-x 1 root root      49992 Apr 11 13:35 csplit
-rwxr-xr-x 1 root root     243704 Jun 10  2014 ctags
-rwxr-xr-x 1 root root     156736 Apr 13 02:39 curl
-rwxr-xr-x 1 root root      41568 Apr 11 13:35 cut
-rwxr-xr-x 1 root root      62200 Apr 11 13:35 date
-rwxr-xr-x 1 root root       6293 Jun 10  2014 dbiprof
-rwxr-xr-x 1 root root       5474 Jun 10  2014 dbiproxy
-rwxr-xr-x 1 root root      74896 Apr 11 13:35 dd
-rwxr-xr-x 1 root root       1351 Jun 10  2014 dehtmldiff
-rwxr-xr-x 1 root root     100896 Apr 11 13:35 df
-rwxr-xr-x 1 root root     200104 Jun 10  2014 diff
-rwxr-xr-x 1 root root      62072 Jun 10  2014 diff3
-rwxr-xr-x 1 root root     117672 Apr 11 13:35 dir
-rwxr-xr-x 1 root root      41416 Apr 11 13:35 dircolors
-rwxr-xr-x 1 root root      28992 Apr 11 13:35 dirname
-rwxr-xr-x 1 root root      11312 Aug  6  2015 dltest
-rwxr-xr-x 1 root root      54352 Dec  9  2017 dropdb
-rwxr-xr-x 1 root root      58448 Dec  9  2017 droplang
-rwxr-xr-x 1 root root      54328 Dec  9  2017 dropuser
-rwxr-xr-x 1 root root     112960 Apr 11 13:35 du
-rwxr-xr-x 1 root root       1026 Sep  7  2017 dvipdf
-rwxr-xr-x 1 root root      33072 Apr 11 13:35 echo
-rwxr-xr-x 1 root root      49848 Jun 10  2014 ed
-rwxr-xr-x 1 root root       2047 Jun 10  2014 editdiff
-rwxr-xr-x 1 root root        290 Aug  3  2017 egrep
-rwxr-xr-x 1 root root      39153 Jun 10  2014 enc2xs
-rwxr-xr-x 1 root root      15656 Jun 10  2014 enchant
-rwxr-xr-x 1 root root      11400 Jun 10  2014 enchant-lsmod
-rwxr-xr-x 1 root root      28992 Apr 11 13:35 env
-rwxr-xr-x 1 root root        638 Sep  7  2017 eps2eps
-rwxr-xr-x 1 root root     147880 Jun 10  2014 eqn
-rwxr-xr-x 1 root root       1563 Jun 10  2014 espdiff
lrwxrwxrwx 1 root root          2 Sep 12 18:57 ex -> vi
-rwxr-xr-x 1 root root      33240 Apr 11 13:35 expand
-rwxr-xr-x 1 root root      37432 Apr 11 13:35 expr
lrwxrwxrwx 1 root root          8 Sep 12 18:57 f95 -> gfortran
-rwxr-xr-x 1 root root      95520 Apr 11 13:35 factor
-rwxr-xr-x 1 root root      28920 Apr 11 13:35 false
-rwxr-xr-x 1 root root      15736 Jun  1  2017 fc-cache
-rwxr-xr-x 1 root root      15672 Jun  1  2017 fc-cat
-rwxr-xr-x 1 root root      11432 Jun  1  2017 fc-list
-rwxr-xr-x 1 root root      11504 Jun  1  2017 fc-match
-rwxr-xr-x 1 root root      11432 Jun  1  2017 fc-pattern
-rwxr-xr-x 1 root root      11392 Jun  1  2017 fc-query
-rwxr-xr-x 1 root root      11440 Jun  1  2017 fc-scan
-rwxr-xr-x 1 root root      11464 Jun  1  2017 fc-validate
-rwxr-xr-x 1 root root        290 Aug  3  2017 fgrep
-rwxr-xr-x 1 root root      19768 Nov  6  2016 file
-rwxr-xr-x 1 root root      46256 Jun 10  2014 filterdiff
-rwxr-xr-x 1 root root     199200 Nov 20  2015 find
-rwxr-xr-x 1 root root      23614 Aug  3  2017 find2perl
-rwxr-xr-x 1 root root       1870 Jun 10  2014 fixcvsdiff
-rwxr-xr-x 1 root root     329664 Jun 10  2014 flex
lrwxrwxrwx 1 root root          4 Sep 12 18:57 flex++ -> flex
lrwxrwxrwx 1 root root          9 Sep 12 18:57 flipdiff -> interdiff
-rwxr-xr-x 1 root root      24504 Apr 11 15:50 flock
-rwxr-xr-x 1 root root      37360 Apr 11 13:35 fmt
-rwxr-xr-x 1 root root      37320 Apr 11 13:35 fold
-rwxr-xr-x 1 root root        311 Sep  7  2017 font2c
-rwxr-xr-x 1 root root      19784 Apr 11 09:42 free
-rwxr-xr-x 1 root root      32128 Apr 11 14:24 funzip
-rwxr-xr-x 1 root root     772744 May 15 05:19 g++
-rwxr-xr-x 1 root root     428584 Jun 29  2017 gawk
-rwxr-xr-x 1 root root     768648 May 15 05:19 gcc
-rwxr-xr-x 1 root root      27136 May 15 05:19 gcc-ar
-rwxr-xr-x 1 root root      27136 May 15 05:19 gcc-nm
-rwxr-xr-x 1 root root      27144 May 15 05:19 gcc-ranlib
-rwxr-xr-x 1 root root     319000 May 15 05:19 gcov
-rwxr-xr-x 1 root root      23136 Jun  2 00:11 gencat
-rwxr-xr-x 1 root root      15648 Nov  6  2016 geoiplookup
-rwxr-xr-x 1 root root      11432 Nov  6  2016 geoiplookup6
-rwxr-xr-x 1 root root      11496 Nov  6  2016 geoipupdate
lrwxrwxrwx 1 root root          3 Sep 12 18:57 geqn -> eqn
-rwxr-xr-x 1 root root      22920 Jun  2 00:11 getconf
-rwxr-xr-x 1 root root      27896 Jun  2 00:11 getent
-rwxr-xr-x 1 root root      15832 Apr 11 15:50 getopt
-rwxr-xr-x 1 root root     772728 May 15 05:19 gfortran
lrwxrwxrwx 1 root root          2 Sep 12 18:57 ghostscript -> gs
-rwxr-xr-x 1 root root    1523768 Jun 25 22:28 git
-rwxr-xr-x 1 root root    1523768 Jun 25 22:28 git-receive-pack
-rwxr-xr-x 1 root root     735200 Jun 25 22:28 git-shell
-rwxr-xr-x 1 root root    1523768 Jun 25 22:28 git-upload-archive
-rwxr-xr-x 1 root root     810440 Jun 25 22:28 git-upload-pack
-rwxr-xr-x 1 root root       7136 Dec 22  2015 gm
lrwxrwxrwx 1 root root          4 Sep 12 18:57 gmake -> make
lrwxrwxrwx 1 root root          4 Sep 12 18:57 gneqn -> neqn
lrwxrwxrwx 1 root root          5 Sep 12 18:57 gnroff -> nroff
lrwxrwxrwx 1 root root          4 Sep 12 18:57 gpg -> gpg2
-rwxr-xr-x 1 root root      23736 Jun 10  2014 gpg-error
-rwxr-xr-x 1 root root       3307 Nov  6  2016 gpg-zip
-rwxr-xr-x 1 root root     749928 Nov  6  2016 gpg2
-rwxr-xr-x 1 root root      49976 Nov  6  2016 gpgsplit
lrwxrwxrwx 1 root root          5 Sep 12 18:57 gpgv -> gpgv2
-rwxr-xr-x 1 root root     353648 Nov  6  2016 gpgv2
lrwxrwxrwx 1 root root          3 Sep 12 18:57 gpic -> pic
-rwxr-xr-x 1 root root     100768 Apr 11 14:38 gprof
-rwxr-xr-x 1 root root     159024 Aug  3  2017 grep
lrwxrwxrwx 1 root root         10 Sep 12 18:57 grepdiff -> filterdiff
-rwxr-xr-x 1 root root      83584 Jun 10  2014 groff
-rwxr-xr-x 1 root root     144232 Jun 10  2014 grops
-rwxr-xr-x 1 root root     100952 Jun 10  2014 grotty
-rwxr-xr-x 1 root root      33200 Apr 11 13:35 groups
-rwxr-xr-x 1 root root      11368 Sep  7  2017 gs
-rwxr-xr-x 1 root root        350 Sep  7  2017 gsbj
-rwxr-xr-x 1 root root        352 Sep  7  2017 gsdj
-rwxr-xr-x 1 root root        352 Sep  7  2017 gsdj500
-rwxr-xr-x 1 root root        353 Sep  7  2017 gslj
-rwxr-xr-x 1 root root        350 Sep  7  2017 gslp
-rwxr-xr-x 1 root root        277 Sep  7  2017 gsnd
lrwxrwxrwx 1 root root          6 Sep 12 18:57 gsoelim -> soelim
lrwxrwxrwx 1 root root          3 Sep 12 18:57 gtar -> tar
lrwxrwxrwx 1 root root          3 Sep 12 18:57 gtbl -> tbl
lrwxrwxrwx 1 root root          5 Sep 12 18:57 gtroff -> troff
-rwxr-xr-x 1 root root       2253 Apr 11 09:01 gunzip
-rwxr-xr-x 1 root root       5931 Apr 11 09:01 gzexe
-rwxr-xr-x 1 root root     100800 Apr 11 09:01 gzip
-rwxr-xr-x 1 root root      28310 Aug  3  2017 h2ph
-rwxr-xr-x 1 root root      60565 Aug  3  2017 h2xs
-rwxr-xr-x 1 root root      41472 Apr 11 13:35 head
-rwxr-xr-x 1 root root      32840 Apr 11 15:50 hexdump
-rwxr-xr-x 1 root root      28984 Apr 11 13:35 hostid
-rwxr-xr-x 1 root root      15768 Jun 10  2014 hostname
-rwxr-xr-x 1 root root      54368 Nov  6  2016 hunspell
-rwxr-xr-x 1 root root      60376 Jun  2 00:11 iconv
-rwxr-xr-x 1 root root      41480 Apr 11 13:35 id
-rwxr-xr-x 1 root root      33232 Nov 22  2015 idn
-rwxr-xr-x 1 root root       4128 Jun 10  2014 ifnames
-rwxr-xr-x 1 root root       3188 Jun 29  2017 igawk
-rwxr-xr-x 1 root root      57416 Sep  7  2017 infocmp
lrwxrwxrwx 1 root root          3 Sep 12 18:57 infotocap -> tic
-rwxr-xr-x 1 root root     142920 Apr 11 13:35 install
-rwxr-xr-x 1 root root       4247 Jun 10  2014 instmodsh
-rwxr-xr-x 1 root root      49856 Jun 10  2014 interdiff
-rwxr-xr-x 1 root root      24512 Apr 11 15:50 ionice
-rwxr-xr-x 1 root root      24464 Apr 11 15:50 ipcrm
-rwxr-xr-x 1 root root      49592 Apr 11 15:50 ipcs
-rwxr-xr-x 1 root root      24432 Apr 11 15:50 isosize
-rwxr-xr-x 1 root root        988 Jun 10  2014 ispell
-rwxr-xr-x 1 root root      32432 Aug  6  2015 isql
-rwxr-xr-x 1 root root      24152 Aug  6  2015 iusql
-rwxr-xr-x 1 root root      49896 Apr 11 13:35 join
-rwxr-xr-x 1 root root      29544 Apr 11 15:50 kill
lrwxrwxrwx 1 root root         20 Sep 12 18:57 ld -> /etc/alternatives/ld
-rwxr-xr-x 1 root root    1006184 Apr 11 14:38 ld.bfd
-rwxr-xr-x 1 root root       5302 Jun  1 23:48 ldd
-rwxr-xr-x 1 root root     158240 Jul 31  2015 less
-rwxr-xr-x 1 root root      11376 Jul 31  2015 lessecho
-rwxr-xr-x 1 root root      17056 Jul 31  2015 lesskey
-rwxr-xr-x 1 root root       2291 Jul 31  2015 lesspipe.sh
lrwxrwxrwx 1 root root          4 Sep 12 18:57 lex -> flex
-rwxr-xr-x 1 root root      15724 Aug  3  2017 libnetcfg
-rwxr-xr-x 1 root root     321577 Apr 13  2017 libtool
-rwxr-xr-x 1 root root      78648 Apr 13  2017 libtoolize
-rwxr-xr-x 1 root root      28984 Apr 11 13:35 link
-rwxr-xr-x 1 root root      58608 Apr 11 13:35 ln
-rwxr-xr-x 1 root root      38720 Jun  2 00:11 locale
-rwxr-xr-x 1 root root     322928 Jun  2 00:11 localedef
-rwxr-xr-x 1 root root      29328 Apr 11 15:50 logger
-rwxr-xr-x 1 root root      37304 Apr 11 15:50 login
-rwxr-xr-x 1 root root      28984 Apr 11 13:35 logname
-rwxr-xr-x 1 root root      11616 Apr 11 15:50 look
-rwxr-xr-x 1 root root       4608 Sep  7  2017 lprsetup.sh
-rwxr-xr-x 1 root root     117672 Apr 11 13:35 ls
lrwxrwxrwx 1 root root         10 Sep 12 18:57 lsdiff -> filterdiff
-rwxr-xr-x 1 root root     154800 Nov 20  2015 m4
-rwxr-xr-x 1 root root     182776 Nov  6  2016 make
-rwxr-xr-x 1 root root      15896 Apr 11 15:50 mcookie
-rwxr-xr-x 1 root root      41504 Apr 11 13:35 md5sum
-rwxr-xr-x 1 root root      11240 Jun 10  2014 mesg
-rwxr-xr-x 1 root root      79760 Apr 11 13:35 mkdir
-rwxr-xr-x 1 root root      63064 Apr 11 13:35 mkfifo
-rwxr-xr-x 1 root root      67192 Apr 11 13:35 mknod
-rwxr-xr-x 1 root root      41632 Apr 11 13:35 mktemp
-rwxr-xr-x 1 root root      41192 Apr 11 15:50 more
-rwxr-xr-x 1 root root     130344 Apr 11 13:35 mv
-rwxr-xr-x 1 root root    5606560 Mar  4  2018 my_print_defaults
-rwxr-xr-x 1 root root   11151376 Mar  4  2018 mysql
-rwxr-xr-x 1 root root        840 Mar  4  2018 mysql_config
-rwxr-xr-x 1 root root    9889493 Mar  4  2018 mysqladmin
-rwxr-xr-x 1 root root   11880582 Mar  4  2018 mysqlbinlog
-rwxr-xr-x 1 root root   10184976 Mar  4  2018 mysqlcheck
-rwxr-xr-x 1 root root   10259124 Mar  4  2018 mysqldump
-rwxr-xr-x 1 root root    9875732 Mar  4  2018 mysqlimport
-rwxr-xr-x 1 root root    9833986 Mar  4  2018 mysqlshow
-rwxr-xr-x 1 root root      28672 Apr 11 15:50 namei
-rwxr-xr-x 1 root root        271 Jun 10  2014 neqn
-rwxr-xr-x 1 root root       1328 May 15 22:06 net-snmp-config
-rwxr-xr-x 1 root root      30163 May 15 22:06 net-snmp-config-x86_64
-rwxr-xr-x 1 root root       3049 May 15 22:06 net-snmp-create-v3-user
-rwxr-xr-x 1 root root      33104 Apr 11 13:35 nice
-rwxr-xr-x 1 root root      41568 Apr 11 13:35 nl
-rwxr-xr-x 1 root root      42392 Apr 11 14:38 nm
-rwxr-xr-x 1 root root      33184 Apr 11 13:35 nohup
-rwxr-xr-x 1 root root      33128 Apr 11 13:35 nproc
-rwxr-xr-x 1 root root       3392 Jun 10  2014 nroff
-rwxr-xr-x 1 root root      66264 Apr 11 13:35 numfmt
-rwxr-xr-x 1 root root     232776 Apr 11 14:38 objcopy
-rwxr-xr-x 1 root root     366288 Apr 11 14:38 objdump
-rwxr-xr-x 1 root root      66368 Apr 11 13:35 od
-rwxr-xr-x 1 root root      11288 Aug  6  2015 odbc_config
-rwxr-xr-x 1 root root      28328 Aug  6  2015 odbcinst
-rwxr-xr-x 1 root root     555296 Apr 11 13:58 openssl
-rwxr-xr-x 1 root root      50616 Jun  3  2017 pango-view
-rwxr-xr-x 1 root root        737 Jun 10  2014 passwd
-rwxr-xr-x 1 root root      33120 Apr 11 13:35 paste
-rwxr-xr-x 1 root root     150624 Apr 24 04:34 patch
-rwxr-xr-x 1 root root      33088 Apr 11 13:35 pathchk
-rwxr-xr-x 1 root root        698 Sep  7  2017 pdf2dsc
-rwxr-xr-x 1 root root        909 Sep  7  2017 pdf2ps
-rwxr-xr-x 1 root root      11408 Aug  3  2017 perl
-rwxr-xr-x 1 root root      11408 Aug  3  2017 perl5.16.3
-rwxr-xr-x 1 root root      43873 Aug  3  2017 perlbug
-rwxr-xr-x 1 root root      42526 Jun 10  2014 perlcritic
-rwxr-xr-x 1 root root        203 Jun 10  2014 perldoc
-rwxr-xr-x 1 root root      10772 Aug  3  2017 perlivp
-rwxr-xr-x 1 root root      43873 Aug  3  2017 perlthanks
-rwxr-xr-x 1 root root     116926 Jun 10  2014 perltidy
-rwxr-xr-x 1 root root      10527 Jun 10  2014 perlver
-rwxr-xr-x 1 root root        498 Sep  7  2017 pf2afm
-rwxr-xr-x 1 root root        516 Sep  7  2017 pfbtopfa
-rwxr-xr-x 1 root root     313144 Dec  9  2017 pg_dump
-rwxr-xr-x 1 root root      75664 Dec  9  2017 pg_dumpall
-rwxr-xr-x 1 root root     129904 Dec  9  2017 pg_restore
-rwxr-xr-x 1 root root     428672 Jun 29  2017 pgawk
-rwxr-xr-x 1 root root      28336 Apr 11 09:42 pgrep
lrwxrwxrwx 1 root root         24 Jul 23 21:37 php -> /etc/cl.selector/php-cli
lrwxrwxrwx 1 root root         20 Jul 23 21:37 php-cgi -> /etc/cl.selector/php
-rwxr-xr-x 1 root root       4524 Apr 19 21:19 php-config
-rwxr-xr-x 1 root root       4760 Apr 19 21:19 phpize
-rwxr-xr-x 1 root root     184736 Jun 10  2014 pic
-rwxr-xr-x 1 root root       8177 Jun 10  2014 piconv
-rwxr-xr-x 1 root root        735 Aug  4  2017 ping
-rwxr-xr-x 1 root root      37448 Apr 11 13:35 pinky
-rwxr-xr-x 1 root root      45448 Jun 10  2014 pkg-config
-rwxr-xr-x 1 root root      28336 Apr 11 09:42 pkill
-rwxr-xr-x 1 root root       4531 Aug  3  2017 pl2pm
-rwxr-xr-x 1 root root      28264 Apr 11 09:42 pmap
-rwxr-xr-x 1 root root       4096 Aug  3  2017 pod2html
-rwxr-xr-x 1 root root      10340 Jun 10  2014 pod2latex
-rwxr-xr-x 1 root root      13581 Jun 10  2014 pod2man
-rwxr-xr-x 1 root root      11004 Jun 10  2014 pod2text
-rwxr-xr-x 1 root root       3755 Jun 10  2014 pod2usage
-rwxr-xr-x 1 root root       3784 Jun 10  2014 podchecker
-rwxr-xr-x 1 root root       2612 Jun 10  2014 podselect
-rwxr-xr-x 1 root root     192048 Jun 10  2014 post-grohtml
-rwxr-xr-x 1 root root        404 Sep  7  2017 pphs
-rwxr-xr-x 1 root root      66664 Apr 11 13:35 pr
-rwxr-xr-x 1 root root      88312 Jun 10  2014 pre-grohtml
-rwxr-xr-x 1 root root       5656 Jun 10  2014 precat
-rwxr-xr-x 1 root root       5656 Jun 10  2014 preunzip
-rwxr-xr-x 1 root root       5656 Jun 10  2014 prezip
-rwxr-xr-x 1 root root      11320 Jun 10  2014 prezip-bin
-rwxr-xr-x 1 root root        395 Sep  7  2017 printafm
-rwxr-xr-x 1 root root      28976 Apr 11 13:35 printenv
-rwxr-xr-x 1 root root      49776 Apr 11 13:35 printf
-rwxr-xr-x 1 root root      13444 Aug 12  2015 prove
-rwxr-xr-x 1 root root     100120 Apr 11 09:42 ps
-rwxr-xr-x 1 root root        740 Sep  7  2017 ps2ascii
-rwxr-xr-x 1 root root       2794 Sep  7  2017 ps2epsi
-rwxr-xr-x 1 root root        272 Sep  7  2017 ps2pdf
-rwxr-xr-x 1 root root        215 Sep  7  2017 ps2pdf12
-rwxr-xr-x 1 root root        215 Sep  7  2017 ps2pdf13
-rwxr-xr-x 1 root root        215 Sep  7  2017 ps2pdf14
-rwxr-xr-x 1 root root       1097 Sep  7  2017 ps2pdfwr
-rwxr-xr-x 1 root root        647 Sep  7  2017 ps2ps
-rwxr-xr-x 1 root root        669 Sep  7  2017 ps2ps2
-rwxr-xr-x 1 root root      53329 Aug  3  2017 psed
-rwxr-xr-x 1 root root     449288 Dec  9  2017 psql
-rwxr-xr-x 1 root root      36607 Aug  3  2017 pstruct
-rwxr-xr-x 1 root root      66648 Apr 11 13:35 ptx
-rwxr-xr-x 1 root root      33232 Apr 11 13:35 pwd
-rwxr-xr-x 1 root root      11528 Apr 11 09:42 pwdx
-rwxr-xr-x 1 root root      62680 Apr 11 14:38 ranlib
-rwxr-xr-x 1 root root      11624 Apr 11 15:50 raw
-rwxr-xr-x 1 root root     517936 Apr 11 14:38 readelf
-rwxr-xr-x 1 root root      41800 Apr 11 13:35 readlink
-rwxr-xr-x 1 root root      62704 Apr 11 13:35 realpath
-rwxr-xr-x 1 root root      40824 Jun 10  2014 recode
-rwxr-xr-x 1 root root       3436 Jun 10  2014 recountdiff
-rwxr-xr-x 1 root root         89 Jun 10  2014 red
-rwxr-xr-x 1 root root      36880 Jun 10  2014 rediff
-rwxr-xr-x 1 root root      58624 Dec  9  2017 reindexdb
-rwxr-xr-x 1 root root      11600 Apr 11 15:50 rename
-rwxr-xr-x 1 root root      11552 Apr 11 15:50 renice
lrwxrwxrwx 1 root root          4 Sep 12 18:57 reset -> tset
-rwxr-xr-x 1 root root      11600 Apr 11 15:50 rev
-rwxr-xr-x 1 root root      62864 Apr 11 13:35 rm
-rwxr-xr-x 1 root root      45536 Apr 11 13:35 rmdir
-rwxr-xr-x 1 root root      93144 Jun  2 00:11 rpcgen
-rwxr-xr-x 1 root root         85 Jun 10  2014 run-with-aspell
-rwxr-xr-x 1 root root      33256 Apr 11 13:35 runcon
lrwxrwxrwx 1 root root          2 Sep 12 18:57 rvi -> vi
lrwxrwxrwx 1 root root          2 Sep 12 18:57 rview -> vi
lrwxrwxrwx 1 root root          3 Sep 12 18:57 rvim -> vim
-rwxr-xr-x 1 root root      53329 Aug  3  2017 s2p
-rwxr-xr-x 1 root root      91408 Apr 11 13:21 scp
-rwxr-xr-x 1 root root      20152 Apr 11 15:50 script
-rwxr-xr-x 1 root root      49528 Jun 10  2014 sdiff
-rwxr-xr-x 1 root root      76016 Jun 10  2014 sed
-rwxr-xr-x 1 root root       5817 Jun 25 18:35 selectorctl
-rwxr-xr-x 1 root root      49632 Apr 11 13:35 seq
-rwxr-xr-x 1 root root      11560 Apr 11 15:50 setsid
-rwxr-xr-x 1 root root      28224 Apr 11 15:50 setterm
-rwxr-xr-x 1 root root     145440 Apr 11 13:21 sftp
lrwxrwxrwx 1 root root          4 Sep 12 18:57 sh -> bash
-rwxr-xr-x 1 root root      37448 Apr 11 13:35 sha1sum
-rwxr-xr-x 1 root root      41600 Apr 11 13:35 sha224sum
-rwxr-xr-x 1 root root      41600 Apr 11 13:35 sha256sum
-rwxr-xr-x 1 root root      41592 Apr 11 13:35 sha384sum
-rwxr-xr-x 1 root root      41592 Apr 11 13:35 sha512sum
-rwxr-xr-x 1 root root      54216 Apr 11 13:35 shred
-rwxr-xr-x 1 root root      50320 Apr 11 13:35 shuf
-rwxr-xr-x 1 root root      33128 Apr 11 14:38 size
-rwxr-xr-x 1 root root      24184 Apr 11 09:42 skill
-rwxr-xr-x 1 root root      19984 Apr 11 09:42 slabtop
-rwxr-xr-x 1 root root      33120 Apr 11 13:35 sleep
lrwxrwxrwx 1 root root          5 Sep 12 18:57 slogin -> ./ssh
-rwxr-xr-x 1 root root      24184 Apr 11 09:42 snice
-rwxr-xr-x 1 root root      26137 May 15 22:06 snmpconf
-rwxr-xr-x 1 root root      33368 Jun 10  2014 soelim
-rwxr-xr-x 1 root root     117728 Apr 11 13:35 sort
-rwxr-xr-x 1 root root        122 Jun 10  2014 spell
-rwxr-xr-x 1 root root      18459 Aug  3  2017 splain
-rwxr-xr-x 1 root root      71128 Apr 11 13:35 split
-rwxr-xr-x 1 root root       3186 Jun 10  2014 splitdiff
-rwxr-xr-x 1 root root      23224 Jun  2 00:11 sprof
-rwxr-xr-x 1 root root      56240 Nov 20  2015 sqlite3
-rwxr-xr-x 1 root root     778736 Apr 11 13:21 ssh
-rwxr-xr-x 1 root root     360944 Apr 11 13:21 ssh-add
---x--x--x 1 root nobody   382240 Apr 11 13:21 ssh-agent
-rwxr-xr-x 1 root root      10469 Apr 11 13:21 ssh-copy-id
-rwxr-xr-x 1 root root     419240 Apr 11 13:21 ssh-keygen
-rwxr-xr-x 1 root root     445152 Apr 11 13:21 ssh-keyscan
-rwxr-xr-x 1 root root      74904 Apr 11 13:35 stat
-rwxr-xr-x 1 root root      66448 Apr 11 13:35 stdbuf
-rwxr-xr-x 1 root root     646168 Apr 11 16:10 strace
-rwxr-xr-x 1 root root      29112 Apr 11 14:38 strings
-rwxr-xr-x 1 root root     232776 Apr 11 14:38 strip
-rwxr-xr-x 1 root root      70272 Apr 11 13:35 stty
-rwxr-xr-x 1 root root      37432 Apr 11 13:35 sum
-rwxr-xr-x 1 root root      28976 Apr 11 13:35 sync
-rwxr-xr-x 1 root root      15680 Sep  7  2017 tabs
-rwxr-xr-x 1 root root      33256 Apr 11 13:35 tac
-rwxr-xr-x 1 root root      66816 Apr 11 13:35 tail
-rwxr-xr-x 1 root root      24496 Apr 11 15:50 tailf
-rwxr-xr-x 1 root root     346080 Apr 11 11:11 tar
-rwxr-xr-x 1 root root      28952 Apr 11 15:50 taskset
-rwxr-xr-x 1 root root     118744 Jun 10  2014 tbl
lrwxrwxrwx 1 root root          8 Sep 12 18:57 tclsh -> tclsh8.5
-rwxr-xr-x 1 root root       7168 Nov 20  2015 tclsh8.5
-rwxr-xr-x 1 root root      33160 Apr 11 13:35 tee
-rwxr-xr-x 1 root root      37328 Apr 11 13:35 test
-rwxr-xr-x 1 root root      65800 Sep  7  2017 tic
-rwxr-xr-x 1 root root      15920 Jun 12  2014 time
-rwxr-xr-x 1 root root      54592 Apr 11 13:35 timeout
-rwxr-xr-x 1 root root      15736 Apr 11 09:42 tload
lrwxrwxrwx 1 root root         23 Sep 12 18:57 tmpwatch -> ../../usr/sbin/tmpwatch
-rwxr-xr-x 1 root root      15800 Sep  7  2017 toe
-rwxr-xr-x 1 root root     106848 Apr 11 09:42 top
-rwxr-xr-x 1 root root      62488 Apr 11 13:35 touch
-rwxr-xr-x 1 root root      15784 Sep  7  2017 tput
-rwxr-xr-x 1 root root      45656 Apr 11 13:35 tr
-rwxr-xr-x 1 root root     525272 Jun 10  2014 troff
-rwxr-xr-x 1 root root      28920 Apr 11 13:35 true
-rwxr-xr-x 1 root root      53936 Apr 11 13:35 truncate
-rwxr-xr-x 1 root root      20072 Sep  7  2017 tset
-rwxr-xr-x 1 root root      37344 Apr 11 13:35 tsort
-rwxr-xr-x 1 root root      28960 Apr 11 13:35 tty
-rwxr-xr-x 1 root root       7339 Jun  1 23:47 tzselect
-rwxr-xr-x 1 root root      20016 Apr 11 15:50 ul
-rwxr-xr-x 1 root root      33080 Apr 11 13:35 uname
-rwxr-xr-x 1 root root      33240 Apr 11 13:35 unexpand
-rwxr-xr-x 1 root root      45784 Apr 11 13:35 uniq
-rwxr-xr-x 1 root root       4165 Sep  7  2017 unix-lpr.sh
-rwxr-xr-x 1 root root      28984 Apr 11 13:35 unlink
-rwxr-xr-x 1 root root       5940 Jun 10  2014 unwrapdiff
-rwxr-xr-x 1 root root     185488 Apr 11 14:24 unzip
-rwxr-xr-x 1 root root      90736 Apr 11 14:24 unzipsfx
-rwxr-xr-x 1 root root      11480 Apr 11 09:42 uptime
-rwxr-xr-x 1 root root      33192 Apr 11 13:35 users
-rwxr-xr-x 1 root root      15896 Apr 11 15:50 utmpdump
-rwxr-xr-x 1 root root      58728 Dec  9  2017 vacuumdb
-rwxr-xr-x 1 root root     117672 Apr 11 13:35 vdir
-rwxr-xr-x 1 root root     910072 Apr 11 08:54 vi
lrwxrwxrwx 1 root root          2 Sep 12 18:57 view -> vi
-rwxr-xr-x 1 root root    2294256 Apr 11 08:54 vim
lrwxrwxrwx 1 root root          3 Sep 12 18:57 vimdiff -> vim
-rwxr-xr-x 1 root root       2084 Apr 11 08:54 vimtutor
-rwxr-xr-x 1 root root         54 May 11 02:26 virtualenv
-rwxr-xr-x 1 root root      32224 Apr 11 09:42 vmstat
-rwxr-xr-x 1 root root      24720 Apr 11 09:42 watch
-rwxr-xr-x 1 root root      41640 Apr 11 13:35 wc
-rwxr-xr-x 1 root root        286 Sep  7  2017 wftopfa
-rwxr-xr-x 1 root root     418736 Oct 27  2017 wget
-rwxr-xr-x 1 root root      20720 Apr 11 15:50 whereis
-rwxr-xr-x 1 root root      24336 Jun 10  2014 which
-rwxr-xr-x 1 root root      49872 Apr 11 13:35 who
-rwxr-xr-x 1 root root      28984 Apr 11 13:35 whoami
-rwxr-xr-x 1 root root      11296 Jun 10  2014 word-list-compress
-rwxr-xr-x 1 root root     772744 May 15 05:19 x86_64-redhat-linux-c++
-rwxr-xr-x 1 root root     772744 May 15 05:19 x86_64-redhat-linux-g++
-rwxr-xr-x 1 root root     768648 May 15 05:19 x86_64-redhat-linux-gcc
-rwxr-xr-x 1 root root      62288 Nov 20  2015 xargs
-rwxr-xr-x 1 root root      19752 Jun 23  2016 xmlcatalog
-rwxr-xr-x 1 root root      63408 Jun 23  2016 xmllint
-rwxr-xr-x 1 root root      24568 Nov 29  2016 xmlwf
-rwxr-xr-x 1 root root      24056 Sep 15  2014 xsltproc
-rwxr-xr-x 1 root root       4557 Aug  2  2017 xsubpp
-rwxr-xr-x 1 root root      14768 Apr 11 08:54 xxd
-rwxr-xr-x 1 root root      86504 Jun 10  2014 yacc
-rwxr-xr-x 1 root root      28976 Apr 11 13:35 yes
-rwxr-xr-x 1 root root       1941 Apr 11 09:01 zcat
-rwxr-xr-x 1 root root       1760 Apr 11 09:01 zcmp
-rwxr-xr-x 1 root root       5768 Apr 11 09:01 zdiff
-rwxr-xr-x 1 root root        123 Apr 11 09:01 zegrep
-rwxr-xr-x 1 root root        123 Apr 11 09:01 zfgrep
-rwxr-xr-x 1 root root       2144 Apr 11 09:01 zforce
-rwxr-xr-x 1 root root       6132 Apr 11 09:01 zgrep
-rwxr-xr-x 1 root root     215840 Nov  6  2016 zip
-rwxr-xr-x 1 root root     100456 Nov  6  2016 zipcloak
-rwxr-xr-x 1 root root       2953 Oct 11  2008 zipgrep
-rwxr-xr-x 1 root root     185488 Apr 11 14:24 zipinfo
-rwxr-xr-x 1 root root      95984 Nov  6  2016 zipnote
-rwxr-xr-x 1 root root     100096 Nov  6  2016 zipsplit
-rwxr-xr-x 1 root root       2041 Apr 11 09:01 zless
-rwxr-xr-x 1 root root       2859 Apr 11 09:01 zmore
-rwxr-xr-x 1 root root       5343 Apr 11 09:01 znew
-rwxr-xr-x 1 root root     736320 Aug  2  2017 zsh
lrwxrwxrwx 1 root root          6 Sep 12 18:57 zsoelim -> soelim

sbinのほうはこう。

lrwxrwxrwx 1 root root    8 Jul 23 21:37 /sbin -> usr/sbin

/usr/sbin:
total 892
-rwxr-xr-x 1 root root      33240 Apr 11 13:35 chroot
-rwxr-xr-x 1 root root        302 Jul  2 23:42 cloudlinux-selector
-rwxr-xr-x 1 root root       7096 Apr 11 14:09 consoletype
-rwxr-xr-x 1 root root       7208 Jun 10  2014 cracklib-check
-rwxr-xr-x 1 root root        246 Jun 10  2014 cracklib-format
-rwxr-xr-x 1 root root      11328 Jun 10  2014 cracklib-packer
-rwxr-xr-x 1 root root       7184 Jun 10  2014 cracklib-unpacker
-rwxr-xr-x 1 root root        990 Jun 10  2014 create-cracklib-dict
-rwxr-xr-x 1 root root      15368 Apr 11 12:22 faillock
-rwxr-xr-x 1 root root      19496 Apr 11 12:22 mkhomedir_helper
-rwxr-xr-x 1 root root      40640 Apr 11 12:22 pam_console_apply
-rwxr-xr-x 1 root root      15400 Apr 11 12:22 pam_tally2
-rwxr-xr-x 1 root root      11216 Apr 11 12:22 pam_timestamp_check
-rwxr-xr-x 1 root root      15592 Apr 11 13:20 pluginviewer
-rwxr-xr-x 1 root postdrop 218552 Jun 10  2014 postdrop
-r-xr-xr-x 1 root root      20264 Dec 28  2015 proxyexec
-rwxr-xr-x 1 root root      15808 Apr 11 12:22 pwhistory_helper
-rwxr-xr-x 1 root root      11344 Jun 10  2014 safe_finger
-rwxr-xr-x 1 root root      94832 Apr 11 13:20 saslauthd
-rwxr-xr-x 1 root root      19720 Apr 11 13:20 sasldblistusers2
-rwxr-xr-x 1 root root      15448 Apr 11 13:20 saslpasswd2
-rwxr-xr-x 1 root root        806 Jun 10  2014 sendmail
-rwxr-xr-x 1 root root      31888 May 15 22:07 snmpd
-rwxr-xr-x 1 root root      32048 May 15 22:07 snmptrapd
-rwxr-xr-x 1 root root      37496 Jun 10  2014 tcpd
-rwxr-xr-x 1 root root      41808 Jun 10  2014 tcpdmatch
-rwxr-xr-x 1 root root      15448 Apr 11 13:20 testsaslauthd
-rwxr-xr-x 1 root root      28448 Jun 10  2014 tmpwatch
-rwxr-xr-x 1 root root      24032 Jun 10  2014 try-from
-rwxr-xr-x 1 root root      36280 Apr 11 12:22 unix_chkpwd
-rwx------ 1 root root      36272 Apr 11 12:22 unix_update

結構色々ある。curlなんかもあるし、vimもあるし、zshも入っている。 だが、管理系のプログラムがない。

ユーザー固有の環境 iproute, sudo, iptablesなどは叩けない
ディストリビューションはRHEL7

/homeは自身単独のディレクトリになっていて、passwdを見て見も他のユーザーの情報がない。

iproute2は入っておらず、ifconfigもない。iptablesも叩けない。 だが、OpenSSHはあるので踏み台にすることはできる模様(レンサバでやる意味は不明)。

OSはLinuxで、RedHat Enterprise Linux 7であることがわかる。 sbinのほうにcloudlinux-selectorというのがあるので、多分GMOインターネットのグループ企業であるGMOクラウドで作っているCloud Linux上で動作しているのだろう。割とテクノロジー盛り盛り。オラわくわくしてきたっぞ。

CPU情報を見てみると、Xeon E5-2640 v4が6コアだった。 なにそれ超贅沢。

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 79
model name  : Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz
stepping    : 1
microcode   : 0xb00002e
cpu MHz     : 1781.906
cache size  : 25600 KB
physical id : 0
siblings    : 20
core id     : 0
cpu cores   : 10
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 20
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu cpuid_faulting pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb cat_l3 cdp_l3 invpcid_single intel_pt spec_ctrl ibpb_support tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts
bogomips    : 4794.07
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 79
model name  : Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz
stepping    : 1
microcode   : 0xb00002e
cpu MHz     : 2752.031
cache size  : 25600 KB
physical id : 1
siblings    : 20
core id     : 0
cpu cores   : 10
apicid      : 32
initial apicid  : 32
fpu     : yes
fpu_exception   : yes
cpuid level : 20
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu cpuid_faulting pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb cat_l3 cdp_l3 invpcid_single intel_pt spec_ctrl ibpb_support tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts
bogomips    : 4799.21
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

processor   : 2
vendor_id   : GenuineIntel
cpu family  : 6
model       : 79
model name  : Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz
stepping    : 1
microcode   : 0xb00002e
cpu MHz     : 1842.468
cache size  : 25600 KB
physical id : 0
siblings    : 20
core id     : 1
cpu cores   : 10
apicid      : 2
initial apicid  : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 20
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu cpuid_faulting pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb cat_l3 cdp_l3 invpcid_single intel_pt spec_ctrl ibpb_support tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts
bogomips    : 4794.07
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 79
model name  : Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz
stepping    : 1
microcode   : 0xb00002e
cpu MHz     : 3029.343
cache size  : 25600 KB
physical id : 1
siblings    : 20
core id     : 1
cpu cores   : 10
apicid      : 34
initial apicid  : 34
fpu     : yes
fpu_exception   : yes
cpuid level : 20
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu cpuid_faulting pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb cat_l3 cdp_l3 invpcid_single intel_pt spec_ctrl ibpb_support tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts
bogomips    : 4799.21
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

processor   : 4
vendor_id   : GenuineIntel
cpu family  : 6
model       : 79
model name  : Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz
stepping    : 1
microcode   : 0xb00002e
cpu MHz     : 3303.281
cache size  : 25600 KB
physical id : 0
siblings    : 20
core id     : 2
cpu cores   : 10
apicid      : 4
initial apicid  : 4
fpu     : yes
fpu_exception   : yes
cpuid level : 20
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu cpuid_faulting pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb cat_l3 cdp_l3 invpcid_single intel_pt spec_ctrl ibpb_support tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts
bogomips    : 4794.07
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

processor   : 5
vendor_id   : GenuineIntel
cpu family  : 6
model       : 79
model name  : Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz
stepping    : 1
microcode   : 0xb00002e
cpu MHz     : 2656.031
cache size  : 25600 KB
physical id : 1
siblings    : 20
core id     : 2
cpu cores   : 10
apicid      : 36
initial apicid  : 36
fpu     : yes
fpu_exception   : yes
cpuid level : 20
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu cpuid_faulting pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb cat_l3 cdp_l3 invpcid_single intel_pt spec_ctrl ibpb_support tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts
bogomips    : 4799.21
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

ちなみにVPSのほうはXeon E5-2650なのだが、v3と世代がひとつ違うため性能はWINGのほうが上だ。

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 63
model name      : Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz
stepping        : 2
microcode       : 0x1
cpu MHz         : 2294.686
cache size      : 4096 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 
clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good 
nopl cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt 
tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti fsgsbase 
tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips        : 4591.59
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 63
model name      : Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz
stepping        : 2
microcode       : 0x1
cpu MHz         : 2294.686
cache size      : 4096 KB
physical id     : 1
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 
clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good 
nopl cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt 
tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti fsgsbase 
tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips        : 4591.59
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

デバイスファイルはすごく絞られていて、ディスクデバイスが見えない(!)し、/dev/randomも見えない。 メモリはなんと128GB(!!!!)もある。使用量は相当余裕があるようだった。多分まだ収容サイト数が少ないのだろう。

devfsやprocfsは限定的、sysfsはアクセス不可

procfsはごく一部だけ見える。sysfsはマウントされておらず見えない。 プロセステーブルも読めるのはユーザーのものだけだった。

所感

Mimir Yokohamaのお客様でウェブとメールだけ欲しい方は結構多いのだけど、VPSでやるとどうしても管理にコストがかかるため費用が割と高い。 Conoha WINGのサービスを見ていて思ったのは、「もしかしてこれでサービス品質の向上とコストダウンができるのでは?」ということだった。

性能に関しては間違いないだろうと考えていたのだけど、問題はセキュリティだった。 私としては並のセキュリティではうちで提供するサービスとして納得できない。今まで私が個人的に使ってきたレンタルサーバーもどれも潜在的に攻撃可能なものばかりであった。 私が提供するサービスは堅牢なセキュリティが魅力のひとつだ。もしセキュリティが甘ければ採用できない。逆にセキュリティがしっかりしていれば、これは私にとって、そしてMimir Yokohamaにとって大きな武器になる。

果たして、そのセキュリティは申し分ないものであった。 気になる点としてはOpenSSHクライアントが叩けるようになっているのは好ましくないが、基本的には何もできない。 gccがあるのでCで直接叩くようにすれば触れる可能性もあるが、おそらくcgroupsによって隔離されているものなので試す価値は乏しいだろう (もっとも、実際にサービスとして始めるとなったら私は確認するけれども)。

つまりConoHa WINGとは

  • 爆速。これより高速な構成はコストの桁が変わるレベルには爆速
  • WordPressとEC-Cubeに関してはとても簡単。 メールとSSLも簡単
  • セキュリティは非常に堅牢。安心して使える
  • レンサバとしてはお値段はちょっとお高め。といっても機能や性能を求めた場合はその限りではない

「爆速」「簡単」「安全」が揃っていれば、さすがにちょっと高い程度なら全然受け入れられるという人も多いのではないだろうか。 個人的な趣味のサイトでは高いかもしれないが、事業性のサイトを展開するならば超有力な選択肢だと思う。

むしろ、私はグループ企業の展開しているヘテムルの立ち位置が心配だ。

私は今回の結果を受けてMimir Yokohamaとしても従来のVPSベースのウェブサービスをConoHa WINGベースに切り替える検討を開始することにした。 今回の調査で ConoHa WINGはセキュリティ的に信頼できる ということが分かったからだ。

ちなみに、もうひとつConoHa WINGの魅力としてモリサワwebフォントが使える、というメリットがある。 モリサワといえば最高に美しいフォントなのだが、実は3書体、25万PV/月上限で月額2160円だったりする。 全書体、100万PV/月のほうは4320円だ。 ConoHa WINGでは2.5万PV/月で30書体が使えるため、世の中に浸透しているシステムデフォルトフォントをCSSで強制するという愚かな行為を抑制できそうでとても嬉しい2

ちょっとだけ「レンサバにグレードダウン」などと思ってしまったが、実は大変魅力的なサービスであった。 この性能はアフィリエイターだけに任せるにはもったいない…というよりも、アフィリエイターの手にはさすがに余るのではないか (私が知らないだけで、アフィリエイトブログというのはデイリーPVが何十万というレベルなのかもしれないが)。

高度なWordPressサイトを構築したい人、セキュリティに関心のある人、 しっかりしたプラットフォーム上でウェブサイトを構築したい人には最適解となりうる。 ちなみに、PureBuilder Simplyは静的ウェブページを高いスループットで処理できるホストに向いているため、PureBuilder Simplyも大いに活用できるだろう。


  1. ConoHaのサービスページ上からいなくなってしまったので、「ConoHaには三雲このはというマスコットがいる」ということは外部の人は知らない情報になってしまったのだ。せめてロゴに残してくれればよかったのに

  2. ちなみに、Chienomiの月間PVは15万PV程度はあるため、到底使用できないということになる。

Windows XPで一部のサイトにつながらない

うちにはWindows XPがある。
それどころか、実はWindows 98SEもあったりするのだが、こちらのXPはゲートウェイ接続で、実質、携帯万能が32bit Windowsのみの対応、しかもWindows 8は非対応ということから使われている。

しかし、この携帯万能が曲者で、まともに動かない上にバグっている。

送信メールがまともに取り込めないというトラブルに見舞われたのだが、トリスターは「特殊文字を使用したメールのせいなので、OSを初期化せよ」とか無茶なことを言ってきた。
絵文字すら使わない私が送信メールで一体どんな特殊文字を使うというのか。

だいたい、その場合にその後機能しなくなることを仕様として開き直るんじゃない、と思う。

まぁ、仕方がないので今回は応じて初期化しよう、というわけだ。

だが、いきなり問題が発生。いくつかのウェブサイトに接続できない。まず、Googleに接続できない。
接続できるサイトのほうが多いが、Amazonに関しては一見まともに接続できたかのように見えるが、結局おかしな画面になってしまう。CSSや画像が読めない感じか。

このために、携帯万能はAmazonで入手したのだが、ソフトウェアダウンローダは入手できるが、ソフト自体がダウンロードできない。

一見DNSの問題に見えるが、

> nslookup google.co.jp

では値は取れている。
随分と悩んだのだが、やがて「どうもSSLが原因ではないか」というところに思い当たった。
SSLの脆弱性への対応として旧SSLを受け付けないサイトが増えているので、接続できないのだろう。

じゃあ、プロキシ経由ならいけるのだろうか?と思い、

$ ssh -f -N -D 0.0.0.0:1080 localhost

としてWindows XPでSocksを設定してアクセスしてみたが、結果は変わらない。
そこでLinuxでIron PortableをダウンロードしてUSBメモリ経由で導入してみると、Googleにもアクセスすることができ、無事Google Chromeを入手することができた。

SSLの問題ということは分かったが、回避策はなかなか厄介。
Windows XP SP3での修正が期待されるが、そもそもWindowsUpdateをしようとするとIEでMicrosoftのサイトにアクセスするのだが、その時点で接続がはじかれてWindowsUpdate不能。

これでダメなら、ということでLinux経由でMicrosoftからWindows XP SP3アップデータを入手した。

そしてUSBメモリ経由で受け渡し(別にChromeが使える状態になっているので、SSHやFTP経由でも構わないのだが)適用すると、IE7のままではあるが無事にアクセス可能になり、解決した。

なかなか厄介な状態だが、これは一般のWindowserには厳しいのではなかろうか?
既にSP3の状態で使っている人は大丈夫だが、リカバリした瞬間に詰む可能性もある。
SSL問題がWindows XPに止めをさした形か。いや、それで世の中のWindows XPが滅びてくれるなら実に喜ばしいが。

しかし、フィーチャーフォンまわりはかなり厳しい状況だ…

ちなみに、同様の問題はLinuxにおけるPresto版Operaでも生じる。

某コンテストの投票方式の問題点

先日まで某サイトでwebコンテストが実施されていた。だが、これにかなりの技術的問題点があったので、言及しておく。

会員に対する投票と、一般の投票は、票の重さが違う、という仕様で、一般投票は1日に1票、ということだった。しかし、この重複票排除というのは、現実にはまず不可能である、とされている。

重複票排除については1995年頃から議論されていた。1人1票、と設定しても、どうやってその人が既に投票したかを確認するか?ということだ。方法としては、IP, IP+UA, Cookie, 登録制が一般的だった。

IPはゲートウェイホストによって個々のインターネットホストに与えられるため、同一IPの投票を重複とみなす、という方式だ。だが、この方式は、インターネットカフェやケータイ(これは2000年以降)で問題が生じることと、NATを用いるために同一世帯の家族を「重複票とみなしてしまう」という問題があった。一方、PPPならば「電話をかけ直す」ことでIPアドレスは振られ直すことが多く、この重複を排除できない。

IP+UAは、IPとUAの両方が一致する場合重複とみなす、というもので、会社、ネットカフェなど共有回線がまるごと重複とみなされる問題を回避しようとした。しかし、UAは当時は特にバリエーションがそれほど多くなかった上に、詐称することも可能だったため、会社などそれなりの規模になるとかなりの確率で、環境を揃えているネカフェではほぼ確実に重複とみなされ、一方重複投票したい人は容易に回避できた。

Cookie方式はブラウザに「投票した」という情報をもたせることで管理しようというものだ。比較的単純で効果があったが、手元に複数の、Cookieを共有しないブラウザがあれば回避されてしまうし、単にCookieを削除するだけでいくらでも投票できてしまう。

登録制は、重複登録をいかにして防ぐかが問題となる。また、登録制にすることでハードルが上がり、投票数は劇的に低下する。重複票を防ぐ効果は低く、それでいてむしろ避けられることになるため、よほど自信のある(中身にというよりも、popularityにおいて)プロバイダでなければ採用は逆効果だった。

これらの問題の難しさを諦めて、逆手にとったのがAKB方式といえる。つまり、重複投票はしても構わないが、その票数は買わなければならない口数方式だ。

例えば住基カードを使えば1人1票は実現可能だが、厳密性を求めるならなりすましの対策という非常に困難な問題にぶつかることになる。それに、選挙でもなければ同定に住基カードなど使えない。

携帯電話に限る、という方式はお手軽であり、普及している。電話番号を使うことで同定できるためだ。だが、そのような理由でコンテンツを携帯電話に限ることは、アクセシビリティの観点から言っても好ましくないし、やはりアクセスはかなり減少する。それに、そのような目的で電話番号を取得するのはいかがなものか?ということもある。

このほか、TwitterやFacebook, Google+のようなopenIDを使って認証する、という方式もある。電話番号よりはいくらかソフトなやり方だが、その分効果は低下する。

このように非常に難しい重複投票の制限だが、そのコンテストでは、単純にCookieを使う方式だった。CSRF対策か、セッションクッキーを使うようになっていたが、その場合、単純にブラウザのプライベートウィンドウを開いてアクセスし、投票して閉じれば無限投票が可能だ。

もっとあげつないやり方としては、curlなどでセッションクッキーを保存するようにして投票ページを取得したあと、投票するという2回のコネクションを張るだけで投票できる。この間0.1-3.0sec程度なので(私の環境で)、ループすれば1時間で1500票は入れられる。

これはさすがに中止になるか無効になるかするように思う。

もう少し考えて作ってもよかったのではないだろうか。

インターネットは既に死んでいる

私はインターネットは1992年(商用インターネット開始より以前)からやっている。自宅インターネットは2000年からで、それ以降は本格的にやってきた。また、単に部分的に使うというよりも、文化・人事的側面に強い関心を持ち、それに関わってきた。

しばらく触れない間もあったが、それでもネットがどう移り変わってきたのか、どういう文化が形成されていたかということは知っている。そこで、現状について定点観測的見地から述べたい。主張が入っているし、多分に主観的な批判を含むことをご了承頂きたい。

まず重要になるのは、インターネットとはそもそも何か、ということだ。軍事目的であり、今も米軍の支配下にある、という陰謀説的神話を持ち出したがる人は多く、この都市伝説は未だに広く信じられているが、これは事実ではない。そもそも出発点からして、軍事目的とは言えなかった。きっかけはスプートニクであり、ソ連に対抗するためであったが、政治目的と軍事目的と科学者と科学好きが混沌を繰り広げた結果、the Internetプロジェクトは早々にARPAのすみっこにあるだけの「居候」へと追いやられている。結局、研究をはじめるためのきっかけと環境整備を国が(政治または軍事を目的として)やった、というだけのことになった。

origin達の考える「インターネット」はまとめると次のようなものだ。

  • 自由
  • より民主的
  • 対等
  • 政治・国家に対して独立

だからインターネットは非常にUNIX的であり、またHacker的なものだ。もともと、Origin達はhacerであり、さらにthe Internetが発展する過程では多くのUNIXサイトがつながっていくことでネットワークが形成されてきた。つまり、インターネット文化の根底はUNIX文化でありhacker文化だと言って差し支えない。

インターネットの中で重要なのは何か?といえば、結局のところこれらがひとつのことを指していることからも分かるだろう。個人が主体性を持ち、すべてが対等である自由だ。何かを決定する「偉い人」などなく、マイノリティが差別されることもない、そういう世界の構築だった。事実、インターネットの規格であるRFC(近年はRFCが新しいインターネット技術の標準となる例は聞かないが)は誰でも投稿はできるし、合意が形成されれば採用される。NWGは、寝ることも忘れてしまう科学者たちが、肩書やしがらみに関係なく、自分の好きなことを大いに語り、議論をかわし、そして合意が得られたものは形になる、というものだった。

もともとインターネットは「一般のもの」ではない。アメリカで商用インターネットが始まったのは1992年、日本では1993年だ。この時にようやく「金を払えばインターネットに接続できる」時代がやってきた。それまでは大学、研究者、インフラを構成しているサイトによって成り立っていた。ちなみに、大学ではインターネットよりもUSENETが先行していた。今や公共ネットワーク=インターネットだが、もとよりそうだったわけではなく、もっと色々あった。しかしいずれにせよ、当時コンピュータネットワーキングをやっているというのは、技術者でもなければ好き者(エッジユーザー)に決まっていたので、その文化はかなりの共通性が見られたのは言うまでもない。

つまり、Real Worldにおける地位や立場、あるいは権力や国家といった上下や強制とは無縁の、独立した民主的な世界(ここで「民主的」というあたりがアメリカ的だと思う。ただし、実際は共和主義に近い)が、地理とは別の世界を構築することで実現できる、そんなひとつのユートピアだった。科学者的な夢想でもある。

だが、近年は極めて政治や司法の介入、制御をしたがる。根本的に地理で区切られるReal Worldとは構造が違うにもかかわらず、同じことを無理矢理にあてはめようとしている。それだけでもインターネットは死んだといえるのだが、それだけでなく人々が現実における立場や地位や権力を振りかざしたがるようになり、ネットの独立性を尊重しなくなったことによっても死んでいる。

the Internetは今や全くおもしろくない。かつての居心地の良い、侵害されない空間とは異なる。Real Worldにおける侵害、迫害がそのまま持ち込まれ、例えば貧乏で地位もないという人が対等な条件で勝負できる環境であってインターネットは、既にそのReal Worldにおけるディスアドバンテージを継承することを強要するものとなっている。

私が「インターネットの様子がおかしい」と言い出したのは2002年だが、やはり急速に死に向かっていたことを確かめざるを得ない。

そうしたこととは別に感じるのが3点

  • よそよそしくなった
  • 民度が下がった
  • リテラシーが下がった

最後のリテラシーが下がった、ということについては、コモディティ化と同一の現象であると考えていいだろう。分からないから調べる、分からないから考えるでなく、わかろうとも思わないし、自分の都合のいいように理解し、それと異なるものは排除する、という傾向はコモディティ化にともなって浅識なカジュアル層が増えることによって避けられないことだ。the Internetやその文化について知らないという問題よりも、そもそも頭を使わないという問題があるが(例えば、インターネットが公共の場である、ということを一切無視し、自分の知り合いでない人に見られることに対してキレたりする、などだ)、それは必ずしもコモディティ化が理由ではない。だが、敷居が下がって、思考を持たない人で入ってくれるようになってしまったというのはあるだろう。人々が「考えなくなった」というのはインターネットとは別の次元で感じるが。

しかし、前2つは理解しがたい。1つ目について、「事件が多いから」などと言いたがる人は多そうだが、それはあまり関係ない。チャットやSNSでも「暇」「暇つぶし」という言葉ばかり並び、会話することに対して極めて消極的だ。以前は、インターネット上では多くの人々が会話に対して貪欲だった。ビジュアルがない分、相手の人間性に食い込もうとするのが普通だったし、人間性から入る分、パソ婚の持続性は高かった。だが、現在は極めて淡白であり、会話する意思自体が希薄だ。「事件があるからインターネットをコニュニケーションツールとして使っているにも関わらずコミュニケーションを求めない」というのは理由になっていないので成立しない。例えば、Twitterは一方的な発信であり、内容もspam率(内容のない発言)が高い。「Twitterに慣れたのが原因だ」という言い方もできる事象だが、実際はそのような精神性に対してTwitterの希薄さ、一方的である部分というのがマッチしたから流行ったということではないかと思う。Twitterのコミュニケーションはチャットと比べ著しく密度が低い。ちなみに、SNSはコミュニティ系のものほとんどマイルール的儀礼の押し付け合いしかみられない。これは、Mixiの当初からあったことなので、もはやSNSの宿命なのかもしれないが。

もちろん、ひとつの見方として、Mixiが流行りだして世の若いOLさんもカフェでおしゃれなランチを食べながらMixiをするのがオシャレ、というようなよくわからない風潮になり、そそもインターネットが何でどう使うのかという意識がないまま使い出した(そういう人はチャット全盛よりもあとの時代に入ってきた人なので、意識がないまま使っていたとしても、それは発信ではなく一方的に受け取るだけだったろう)ということも問題なのかもしれない。インターネットでコミュニケーションをとる意思があるわけではないのだが、皆やっているからという理由でコミュニケーションツールを使うために、実のあるコミュニケーションにならない、というわけだ。

だが、これは答えをくれない憶測だ。なぜならば、LINEは多くの場合ある程度の目的意識を持って使われるのだが、LINEのログで出ているものをみても、多くの場合希薄だ。もちろん、Twitterなどのように「ほとんどの場合内容がない」ということはないし、現在のチャットのように「たいてい会話も成立していない」ということもないのだが、それでもかなり双方向性が乏しいと感じる。以前のチャットならばもっとがっつくようにコミュニケーションを求めていた。結局のところ、人々は積極的かつ濃密なコミュニケーションを求めなくなった、という精神性に答えを求めざるをえない。

民度が下がった、ということについては、以前はインターネットで罵詈雑言を並べ立てるようなことはなかったし、差別的な発言というのもあまり見なかった。もともとキャラクタベースのコミュニケーションで、語られることの何が真実か検証することはまずできないという中だったので、差別のしようがなく、そのためにUSENETであれコンピュータネットワークコミュニケーションに慣れると差別しなくなる、というのがあったため差別意識の低下という現象が見られたというのはあるのだが、ともかく(対等であるために馴れ馴れしいというのは別として)基本的には礼儀正しかった。けなす言葉もまず見なかったし、そのようなことをするにしても、嫌味を言うなど遠回しな方法が使われることが多かった。2ちゃんねるはかなり異質で例外的な存在だった。だが、現在はYouTubeのコメント欄にせよ、Twitterにせよ、とにかく差別的・排除的な罵詈雑言が並ぶ。自分こそ絶対善で、異物は排除されるべしという発言があまりにも多いし、死ね、一生刑務所に閉じ込めておけ、といった人のことをまるで考えない排除の言葉が並ぶ。そのための威力行使も度々みられるようになったし、排除する、叩く口実がある相手を見つけると嬉々として人格や人権を否定して大勢で騒ぎ立てるのが当たり前になっている。複数のケースにおいて騒いでいる人が同一という可能性は多いにあるが、それでも一部の少数の人だけとは考えられないだろう。今はそれほど対象となるものは少なくない。かつては人格攻撃は最も恥ずべき行為として指弾されていたのだが、今はたしなめる言葉もまず聞かれない。

これに関しても、例えば2ちゃんねるがコモディティ化したことそのような文化にネチズンがなれ、そのような生態を持ったのだ…と解説することはできるが、これもやはりそうではないだろう。なぜなら、ネットだけでの現象でもないからだ。やはり、これも精神性に対して答えを求めざるをえない。

そして不思議なのは、変化の過程においても度々言及してきた通り、「同じ空間における定点観測」のみならず「同じ人物に対する観測」においてもその傾向が顕著に見られる、ということだ。その場合、通常は何かに染まったとかんがえるべきで、それが広く見られる以上はネット空間のような(あるいはもう少し限定して「Twitterの普及」のような)普及しているツール、環境の変化である、とかんがえるべきだが、それでは卵が先か鶏が先かという問題になってしまう。私がわからないものとしてはTVがあるが(私はTVを持っていない)、たとえTVの業界や関係者がそうした傾向を持ったのだとしても、それは人がやることなのであり、なぜその人たちがそのように染まったか?という点を問題にすればやはり同様である。

「なぜ」という部分は推測はできるが確定はできないのだが、ともかく随分と息苦しく殺伐とした世の中になったものだと思う。かつては例えReal Worldが腐っても、インターネットには私達が作る理想郷(未完成)があり、そしてそれはReal Worldを変える力を持っていたが、今やすっかりReal Worldに侵略され、滅ぼされ、占領されてしまった。

私達が知るインターネットは既にない。今インターネットと呼ばれているものは、Real Worldで地位や権利をもった人々が侵略し、占領した世界だ。

ある場所を見ると、かつてそこにいた人々はいなくなっている。彼らがどこに行ったのかはわからない。だが、そこでのコミュニケーションが嫌になって離れたということは想像に難くない。今はインターネットなしでは生活できないはずだが、コミュニケーションは避けているということだろうか。

心ある人々はどこへ行ったのだろう。

DeleGateでHTTPSリバースプロキシ

私のサイトはずっとhttpsで接続できなかったのだけれど、ようやく手を入れることにした。

HTTPSによる接続自体はできるのでサーバーは動いているし、ファイアウォールも阻害していない。証明書関連の問題だと判断できる。

DeleGate + SSLについての情報は大概が古く、SSLwayについてしか言及されていない。DeleGateの最新マニュアルを見ると、STLSというビルトインTLSフィルタを持ち、またビルトイン匿名証明書を持つため証明書も不要であるように思える。ではどう使うのか??

jfuruyaのブログに答があった。DelegateのパラメータとしてSTLS=”fcl,fsv:https”を渡す必要があるのだ。しかしこれだとHTTPでアクセスするとはじかれる。ちなみに、SERVER=httpではhttpsで接続しろと言われる。マニュアルを確認、どうもSTLS=”-fcl,-fsv:https”であるべきであるということが分かった。

しかしそのままでいくとスタイルシートが表示されない。どうやら、httpsでページを表示しているのにhttpでスタイルシートをロードしているのが問題らしい。つまり、リンクはhref=”http://…”ではなく、一般には説明されない書式でスキームを維持するhref=”//…”形式にしなくてはいけないようだ。

とりあえずこのような特殊な接続をする人はいないと思うので、全体は修正していないが、ビルド時にテンプレートを変更するので、サイト全体をビルドする時には直る、はずである。

Microsoft迷走中?

windows 10が発表された。Windows 8から9をとばして10にしたらしい。

おもなトピックスは、スタートメニューの復活、タイルをスタートメニューに統合、UIの統一をやめた、恐ろしく原始的だったコマンドプロンプトを多少改善した、というあたりだ。

だが、このちぐはぐ感がすごい。まず、タイルを使うタブレットスタイルがこれからの標準であり、これからはタッチデバイスの時代だとしてWindows8は従来型のUIを切り捨て、今後フェードアウトさせていくことを示した。今回はタイルやWindows StoreといったWindows 8で導入されたフィーチャーの主従関係が逆転しており、Windows 8で打ち出した価値観の誤りを認識し、軌道修正した形だろう。

Windows 8の使いにくさは尋常でないのでそれは正しいと歓迎するとする。しかし、タイルというのは、全面に機能を大きく表示するからタッチ端末にとって有意なのであり、スタートメニューの中に組み込んでも表示にスタートメニューをおさねばならないのではありがたみが全くない。ウィジットの代わりをさせようという部分もあったはずだが、内容をみるにはスタートメニューを開いたまま操作できないのではやはり意味がない。Windows 8の失敗をばっさり切るのではなく、中途半端にそれっぽく残した結果、ものすごくちぐはぐなものができあがっている。

そもそもタイルはシングルウィンドウを前提とした構造であり、全画面表示を標準とするなどシングルウィンドウ設計を推し進めてきたWindowsだが、マルチウィンドウ型の能率的インターフェイス(シングルウィンドウはいわば簡便型といえる)に戻すのであれば、わざわざスタートメニューを開いてまでタイルを欲するということはない、ということになぜ気がつかないのだろう?

また、WPSに続いてコマンドプロンプトの強化でパワーユーザーに応える、ということなのかもしれない。けれど、それが尋常じゃなく貧弱なものを非常識な程度に貧弱にしたというもので、あまりにも謎の改修だ。見捨てているのでなければいちから作り直して然るべきしろものなのにだ。

どこからどう見ても「これは使いにくそうだ!」としか思わないWindows 10。Windows Vistaあたりから「UIがちょっと不自由すぎないか」という感じになっていたが(内部的にはWindows XPはひどかったので、もちろんその意味では歓迎すべきところなのだが)、Windows 8から「見方によってはよくなった」要素を見出せなくなっている。パソコン離れはどう考えてもWindowsが使いにくい、という理由がかなりの部分を占めるように思えてならない。実際、AndroidもそのUIは相当に使いにくいと思うが、Windowsと比べたらだいぶマシだ。

また、「モバイルファースト、クラウドファースト」というスローガンをみると、Windows 8で示したタッチデバイス重視の設計を推し進めたかのように見える。だが、実際はそこに特化した設計には見えない、というよりもむしろ「どのデバイスでも扱いにくいようにした」ようにしか見えない。UIの統一をやめたのだから、モバイルデバイスならば従来のタイルUIを使う、ということだろうか?もしそうだとしたら、「Windows 8が不評だったからとりあえず前っぽくしとくね」という極めて雑なやり方に見える。そもそも、モバイルやクラウドが万能でないこと、わざわざPCを使うユーザーはもっとパワフルな環境を求めていることが理解できないあたりが、Microsoftは一体何をみているのだろう?と思う。

これであればLinuxデスクトップの使いやすさ、なじみやすさ、能率は圧倒的なものがあると思うのだが、やはり一般の人が触れることがあまりにないこと、導入部分の困難さ、情報の雑さや風潮などが邪魔をするのだろう。機能的なLinuxの圧倒的優位が反映されないのはなんとももどかしい。というよりも、Microsoftに、独占的地位における責任(パワーユーザーやデスクトップユーザーを切り捨てて強制的にコモディティ化を進めることの誤り)を理解させるためにも、LinuxがWindowsを明確に侵食する状況は起こるべきであると思う。

Microsoftはまた、Internet Explorerを改名する計画であるという。そもそもInternet Explorerが不人気なのは、標準に準拠しておらず開発側に余計な負担ばかりを強いて低機能であることや、ユーザーからみてもそのことがもたらすレンダリングの不備、機能の不完全性なのであり、私のもとにこのブログが以前のテーマではIEで見られないという意見が寄せられた。その実態のダメさを覆い隠すために「改名してごまかそう」というのは、Microsoftは一体何を見ているのかと思う。もはやまっとうな製品を作る力がないのだろうか?

Linuxで最新のFlash player pluginを使う

LinuxのFlash PlayerはAdobeがサポートを終了し、11.2が最終バージョンになっている。もうだいぶ古くなって、最近は様々なサイトで動画が見られないなどの不具合がでている。いや、動画のようなコンテンツだけならいい。保険サイトのようなところが見られない、という事態すらある。

Flash PlayerはGoogleのメンテナンスに移行し、案の定、Googleが抱え込んでChromeに同梱している。そう、Flash Player単体のリリースはしていないのだ。当然ながら、Chromiumや、その派生であるSRWare ironにはFLash Player pluginが含まれていない。

MozillaはChromeが利用するPepperプラグインには「興味がない」と言っているため、このままいくとFirefoxでFlash Playerは利用できなくなる。既に11.2までしか利用できずに様々なサイトが見られなくなってきている。だが、chromiumやironはPepperプラグインが利用できるため、術はある。

どうしてもGoogle Chromeが受け入れられなかったため、Chrome x84_64 rpmをダウンロードし、それをarkでPepperFlashのみ展開。あとは

iron --ppapi-flash-path=/opt/google/chrome/PepperFlash/libpepflashplayer.so --ppapi-flash-version=15.0.0.152

のようにすればよい。バージョンはmanifest.jsonファイルを参照する。

のだが、これでうまくいかずに随分悩んでしまった。理由は、自分で書いたiron起動用スクリプトが引数を渡すようになっていなかった、という実にくだらない理由。スクリプトを書き換え、デフォルトでプラグインをロードするようにするとともに引数を渡すようにした。

Mikutter

Mikutterが2.0.6になったのでアップデートするついでにプラグインを導入してみた。

Mikutterのプラグインは原則~/.mikutter/plugin/pluginnameディレクトリに導入する。このpluginnamepluginname.rbを読む仕様のため、これに合わせなくてはいけない。

ほとんどのプラグインはGitHubで管理されており、git clone URI.git ~/.mikutter/plugin/pluginnameで大体はいける。そうでなくてもそのような形式のディレクトリに一式ぶちまければいける。

しかし、当然ながらそれによって依存関係の欠如が生じる。例によってMikutterリポジトリでbundle installすればいいのだが、いくつかのGemファイルがエラー終了してしまう。少しハマったがよくよく調べてみるとruby-develが入っていないということだった。

プラグインを利用していないのでまだその効果のほどは分からないが、Userconfig Accessorはロードするとクラッシュしてしまう。

操作系プラグインはごく単純なものが多いが、これを見ると自分で書くのも難しくはなさそうだ。ただし、「何にアクセスするか」という問題は出るだろう。

しかし、個人的にはRubyスクリプトであることが非常に助かる。ローカルな対応のためにソースを読んだり、挙動を確認するためにソースを読んだりできるからだ。

Mail Virtual Alias @ CentOS 6

メールサーバーの本運用は通常virtualであるはずだ。メールアカウントの数だけユーザーアカウントがあるというのは考えられない。

ただし、私の場合はサブドメインをバーチャルエイリアスにするため、バーチャルドメインが必要になる。

新しいDovecotに関する情報がなく苦労したが、http://vogel.at.webry.info/201312/article_10.htmlの通りにやってみた。大体これでうまくいったのだが、私の場合はいくつかひっかかった点があった。

まず、hown -R mailuser ~mailuserをちゃんと実行しておかなくてはいけないこと。vmailboxファイルは最後に/をつけ忘れるとmbox形式になってしまうこと。

しかしこれではPOPの認証がfailedとなる。調べてみると、このサイトにはデフォルトでコメントアウトしているauth-passwdfile.conf.extのロードをしていない。

[root@server ~]# grep -R auth-passwd /etc/dovecot
/etc/dovecot/conf.d/10-auth.conf:#!include auth-passwdfile.conf.ext

さらに、パスワードファイル認証も無効化されている。

[root@server ~]# grep disable /etc/dovecot/conf.d/10-auth.conf
#disable_plaintext_auth = no
# Authentication cache size (e.g. 10M). 0 means it’s disabled. Note that
# 0 disables caching them completely.
# NOTE: See also disable_plaintext_auth setting.

この2点を修正したが、それでもエラーになる。原因はパスワードファイルのファイル名(設定ではなくファイル自体)が間違っていたためのNo such file or directoryだった。

さらにPostfixからのDovecot認証の利用は情報が錯綜してよくわからない状態だったが、結局のところ/etc/dovecot/conf.d/10-master.confのPostfixから利用するコメントアウトをはずすだけでエラーは出なくなった。しかしながら、認証自体がうまくいかない。userとgroupの設定を追加したが、元々666なのだから、効果はなかった。明らかに問題はPostfixにあり、Dovecotはこれでいいだろう。

telnetを打ってみると25番ポートが反応しない。ここでOP25Bによるものだと気付いた。

submissionの設定を探してみると、master.cfにsubmissionの項目があり、このコメントアウトをはずせばsubmissionは機能する。しかしながら

submission inet n – n – – smtpd
# -o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING

TLSを強制するとTLSが機能しない。とりあえず、TLSは要求しないことにした(encryptでなくmayにしておく)。

しかし、それでも544 host access deniedという応答で送ることができない。調べてみると、さらに別のパラメータを設定する必要があるようだ。main.cfに記述する。

smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_relay_restricions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
broken_sasl_auth_clients = yes

さらにスペルミスにもひっかかってしまったが、これでうまく通った。TLSが上手く動かない以外は正常だ。

TLSについて調べてみると、どうも鍵にパスフレーズがかかっていると使えない、ということだ。そこで、次のようにして問題の解決を図る。

[root@sesrver]# openssl genrsa -aes128 1024 server.key
Generating RSA private key, 1024 bit long modulus
.++++++
…………………….++++++
e is 65537 (0x10001)
Enter pass phrase: #ここでは普通にパスフレーズを入力する
Verifying – Enter pass phrase:
[root@dti-vps-srv71 certs]# openssl rsa -in server.key -out server.key #これによってパスフレーズを消滅させる
Enter pass phrase for server.key:
writing RSA key
[root@dti-vps-srv71 certs]# openssl req -new -x509 -key server.key -days 3650 -out server.crt # certファイルを作る
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [XX]:JP #カントリーコード
State or Province Name (full name) []:Kanagawa #神奈川
Locality Name (eg, city) [Default City]:Yokohama #横浜
p {[
“さらにスペルミスにもひっかかってしまったが、これでうまく通った。TLSが上手く動かない以外は正常だ。”,
“TLSについて調べてみると、どうも鍵にパスフレーズがかかっていると使えない、ということだ。そこで、次のようにして問題の解決を図る。”
]}

sb { -END
[root@sesrver]# openssl genrsa -aes128 1024 server.key
Organization Name (eg, company) [Default Company Ltd]:HarukaSound #組織名
Organizational Unit Name (eg, section) []: #部署はない
Common Name (eg, your name or your server’s hostname) []:reasonset.net #FQDN
Email Address []:master@reasonset.net #メールアドレス
[root@dti-vps-srv71 certs]# openssl x509 -in server.crt -outform der -out server.der # derファイルの生成

これで鍵の生成は完了。ファイル名が若干変わったので、main.cfを修正。さらに、DovecotのSSLが設定されていなかったので、/etc/dovecot/conf.d/10-ssl.confを修正(ssl = yesのコメントアウトをはずし、ファイル名を修正)。

そしてmaster.cfencryptに戻して完了。STARTTLSが正しく働くようになった。

PostfixでTLSをサポートさせる

relay testでTLSがサポートされていないことには気付いていたのだが、なかなか検証できずにいた。ようやく今日やった。

証明書を作った記憶はあったのだが、なぜサポートされていないのだろうか、と調べてみた。すると、TLSまわりがごっそりコメントアウトされている。なぜコメントアウトしたのだろう?

まず、main.cfに追加されていたのがこの部分。

#SSL setting
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/pki/tls/certs/server.pem
smtpd_tls_key_file = /etc/pki/tls/certs/server.key
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_schache

これがコメントアウトされていた。わざわざ書いたのに。さらに、master.cfのこのセクションもコメントアウトされていた。

smtps inet n – n – – smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes

これはもともと存在した部分で、単純にコメントアウトされていたのだろう。恐らくはSASL authを無効にしたままでTLSを有効にすると起動せず、それで無効にした、というところではないかとは思うのだが。

これでrelay testするとTLSサポートが確認された。