...pudding - diary

この日記は https://yapud.hatenablog.com/ に引っ越し中


2013-07-01

_ [Software] vmware player で mac address がカブってた

vmware player でゲストの設定を変えるために vmx ファイルをいじり回しているウチに複数ある ehternet 設定の mac address が同一になってしまった。

ethernet0.addressType = "generated"
ethernet1.addressType = "generated"

となっているのだけど、自動生成されてるMACが双方のNICで同じになってる。なんでだ。明示的にLAN設定の画面を開いてカブらないように自動生成されたMACを表示してOK押すと、vmx ファイルにそのMAC値が記入される。

先日までここんところ特に設定せずに自動的に違うMACが割り当てられていたのに。なんだろう。


2013-07-02

_ [Software] ATOK のアクセルモードってなんだ

ATOK Passport を使っている人は 7月2日よりパワーアップモジュールというのが配信されてきます。なんだコレと思ったら「変換動作や変換候補表示など変換に伴う動作を、最大25%も高速化」するらしいです。マジか。


早速設定画面を見てみます。


初期状態では自動になっていました。

自動 - マシンの性能に応じて最適な設定を自動的に検出します。適切な辞書と省入力データのアクセスを高速化します。


自動以外の選択肢は以下のような感じです。

使用しない - アクセルモードを使用しません。

ローエンドモデル向け - 比較的性能の低いマシンに最適化した設定で動作します。標準辞書と標準省入力データを高速化します。

ミドルレンジ向け - 一般的な性能のマシンに最適化した設定で動作します。初期状態で使用する辞書と省入力データを高速化します。

ハイエンドモデル向け - 性能の高いマシンに最適化した設定で動作します。全ての辞書と省入力データを高速化します。

さてアクセルモードの設定で何が変わっているのかなと Process Explorer で見てみました。


選択するモードによって、メモリの Type が Section のところに出てくるファイルの数が変わります。ハイパフォーマンスを選ぶとたくさんのファイルをメモリにマッピングしますし、性能値を下げると Section のところに出てくるファイルの数が減ります。たぶんメモリに乗せる辞書ファイルの数をここで決めているのだと思います。強い機械なら必要辞書を全部メモリに乗せて変換を高速にしようとかいう感じなのかなと思いました。

で、実際速くなりましたか?元々遅さを感じてなかったので速くなったかと問われると正直わかりません。昔から全く困らない速度で動いてるとも思います。


2013-07-03

_ [Software] Google日本語入力の便利度が上がってきた

Google Japan Developer Relations Blog: 日本語入力

最新版にて、カーソルの付近に現在のモードをポップアップ表示してくれるようになった。

ATOK は以前から同様の機能がある。こんな感じ。数秒経つと小さい表示になり、さらにもう少し待つと消える。


Google日本語入力に新たに付いたのがコレ。しばらくすると消える。


漢字変換のモードが何になってるのかカーソル位置から視線を逸らさなくていいのでとても快適です。


2013-07-04

_ [Software] Postfix の キュー移設

Postfix 2.3 が入ってる機械を捨てて、Postfix 2.6 が入ってる機械と入れ替えることになった。

入れ替えなのでIPアドレスなどはそのまま。旧サーバを停止して、新サーバを入れて動かせばそれで良い。それで良いのだけど、現役動作中の Postfix なのでこちらの都合とは関係なくバンバンメールが飛んでくる。キューには常に数十件はたまってる状態。

この流れきってない配送待ちメールはどうしたら良いのだ。と思ったらキューの中身を移動する手段が用意されてた。

1. 旧サーバでPostfix 停止 (service postfix stop)

2. 旧サーバでキューの中身を全部 HOLD にする (postsuper -h)

3. HOLD の中身を新サーバにCopyする (scp とか )

4. 新サーバでCopyしたものの構造チェック (postqueue -s)

5.新サーバでHOLDを開放する (postsuper -H ALL)

6. 新サーバでPostfixを開始する (service postfix start)

こんなかんじ。


2013-07-05

_ [Software][Zabbix] Zabbix 試しに立ててみるにはアプライアンスが便利

Zabbix ちょっと試してみたいなーっていうときにアプライアンスが便利じゃないかと思った。

5. Zabbix appliance [Zabbix]

自分のところで使いやすいタイプのアプライアンスイメージをダウンロードして起動したらもう使える状態で起動できる。ぼくは vmware 用をダウンロードして vmware player で動かしてみた。vmx ファイルをダブルクリックしただけで起動しだした。なかみは OpenSuSE ベースなので Linux にそこそこ慣れてる人なら何の苦も無く使えるはず。

また、直接使うのでなくても自分がイチからビルドするという場合でもアプライアンスの中を眺めることにより設定値の参考に使える。なかなか便利。


2013-07-06

_ [オデカケ] 三保ダム

丹沢の山のふもと、酒匂川に流れ込む河内川を遡っていくと三保ダムにたどり着きます。今日はその三保ダムに行ってみました。


ダム湖を模した庭園から見えるダムの写真です。三保ダムはかなり緩い傾斜で積み上げられたロックフィルダムということですが、堤体は芝生で覆われとてものどかな丘のようです。その一角にダム広場という公園があり、その日は僕らしか居なくてガラガラという感じだったのですがとても丁寧に手入れされています。


ダム湖のミニチュア庭園にはもちろんダムのミニチュアもあります。この日はたまたまダムのゲート修理の方が作業をされていました。どういう作業内容なのかわかりませんが、このゲートも放水したりするんでしょうか。

そしてよーやく神奈川県内のダムカードをコンプリートしました。


ダムカードを手渡してくださったおばさまによると、やはりこの辺りは秋がピークだそうです。秋はとても景色が良いので今度来るなら秋がいいとのことでした。具体的には11月後半だと。なるほどのこのダムカードの写真も色の感じから秋に撮影されたようですね。秋になったらカメラ担いで渋滞覚悟で向かいたいと思います。

ダムに向かう道にはある道の駅山北がリニューアルしていました。以前は地元野菜などを軒先のテントで販売していたと思いましたが、それが建物内に拡張された販売コーナーに移ったのかなと思います。甘さ控えめのシフォンケーキと、その日安かったお野菜や果物を買って帰りました。少し早めのブルーベリーはうちのちびっ子たちに大人気でした。


2013-07-07

_ [いろいろ] 手ぶれ防止防止

最近のカメラには手ぶれ防止という便利な機能が付いておるでしょう。おかげで少々のスローシャッターでもグッとこらえれば何枚かに一枚はブレが止められるわけです。

先日お出かけした際に川の岩の間を流れる水流をキレイに糸のように撮ってみたいと思いとりあえず 1/10sec くらいでいけるか?と挑戦してみたんですが手ぶれ防止防止装置により作戦は失敗しました。

こどもをね、おんぶしてたんですよ。

だっこしてると自分の正面に頭が来るわけでカメラは使えない。使えないというかファインダーを覗くタイプのは無理なわけです。背面液晶を見るタイプのヤツならわりといけるんですけども。ファインダーを覗くためにカメラを顔にくっつけると底面の角がだっこしてるこどもちゃんの頭に当たるわけです。

というわけでおんぶです。おんぶしてると自分の前面はフリーです。カメラ構え放題です。

おんぶされてるこどもちゃんは、親が動いてるときはおとなしいのですが、いざ静止すると「うごいてくれ!うごいてくれ!」とゆさゆさ全身で揺らしてアピールしてきます。そうです。この動いてくれアピールが撮影と相性が悪すぎる。

僕がカメラを構えて呼吸を止めてピタっと止まった今だ!と思った瞬間あたりに(動いてくださいよ~)という念を込めてこどもちゃんが背中でゆさゆさと揺れるのです。もちろんブレまくるわけです。

僕:ピント合わせたい。ぴたっ

こども:動いて欲しい。ゆさゆさ

なかなかお互いの利害が一致しない瞬間でありました。


2013-07-08

_ [Software] VMware HA でハングしたOSを自動再起動する

VMware HA は、ESXi ホスト障害時にクラスタ内の他の ESXi ホストで仮想マシンを起動しなおしてくれます。そのほかに、仮想マシンが単体でくたばってしまった場合にその仮想マシンだけ再起動してくれます。

VMware vSphere のドキュメント ページにある「可用性ガイド」に詳しい説明があるのでそれを見るのが確実です。

いわゆるOSがハングした状態である場合、仮想マシン内 vmware-tools からの応答が無いとハングしたと見なして仮想マシンにリセットがかかります。

または仮想マシン内の個別アプリケーションの状態を見て問題ありとなった場合に仮想マシンのリセットがかかるといったようなこともできます。これは作り込みが必要です。VMware HA はハートビートの有無で動作を決定するようですので、仮想マシン内でアプリを監視しつつハートビート信号を出すように作るのです。

VMware GuestAppMonitor SDK に含まれるライブラリを使って監視の仕組みを作れます。プログラムとかできないし、っていう場合でも、アーカイブに含まれる vmware-appmonitor を使えば自作のチェックプログラム(バッチファイルやシェルスクリプト)内から HAのハートビートをハイパーバイザ側に送れます。

仮想マシンのOSが生きてるのなら仮想マシンOSの中でアプリの問題を解決する手法をとった方が良いような気もしますが。仮想マシンそのものがハングったら通常の仮想マシン監視の枠内で再起動してくれるし。再起動するしかない状況が発生しうる環境で、かつその状態を生きてるOSの中から検知できるのなら使えますね。

動作テストするにあたってアプリ監視ならプロセスを kill するなりすればわりと簡単にテストできます。

仮想マシンがハングした場合というのをテストするには。最近のOSはかなりしっかりしているのでなかなかくたばらないんですよ。

でも大丈夫、くたばらせる仕組みがあります。

Linux なら、/proc/stsrq-trigger に対して echo c などとすればカーネルがクラッシュします。ガツンとCPUを食い尽くします。

Windows なら、sysinternal が提供する NotMyFault で様々なクラッシュを再現できます。

HA さんが正常に働いていれば設定した感度に応じて検知しリセットしてくれるでしょう。

障害時に勝手に再起動されたら困る、状況を分析するまで何もしてくれるなそのままにしておいてくれ、という現場がそこそこ有りそうな気もしますけども。


2013-07-09

_ [Software] VMware HA で 仮想マシンOS 障害のときのリセットの様子

VMware HA で 仮想マシンOS の障害を検出するというのはすなわち 仮想マシン内で動作している VMwareTools との通信ができるかどうかを検出するということ。VMwareTools の応答が無ければハートビート障害と見なしてリセットがかかる。

ハートビート障害という言葉からわかるように、定期的に生死確認をやっていて、何分以上応答が無ければ障害とする、という具合に設定しておく。この時間はHAのクラスタ全体で同じにもできるし、仮想ホストごとに個別に設定もできる。このような感じで設定する。


vCenter 上には、原因:VMwareTools のハートビート障害、と記録される。

リセットがかかると同時に、そのときの画面も記録しておいてくれる。いたれりつくせりである。

Linux で kernel panic が出たときはこんなの。


Windows で BSOD が出たときはこんなの。


キャプチャがあるおかげでちょっとは障害原因を追いかけやすい。


2013-07-10

_ [Software] VMware HA で アプリケーション障害のときのリセットの様子

VMware HA での 仮想マシン内のアプリケーション監視というのは、仮想マシン内から VMwareTools 経由でアプリケーションのハートビートがあるかを監視している。このハートビートは仮想マシン内でユーザが定義する。VMware が仮想マシン内のプロセスを見てくれるといったようなことはない。アプリケーション監視のハートビートが途切れたら障害と見なしてリセットがかかる。

障害と見なす時間などは、仮想マシン監視と同一の画面で設定する。HAのクラスタ全体で同じにもできるし、仮想ホストごとに個別に設定もできる。このような感じで設定する。


vCenter 上には、原因:アプリケーションのハートビート障害、と記録される。


ではこのアプリケーションのハートビートはどうやって送出するのか。

たとえば Linux の場合。VMware GuestAppMonitor SDK からアーカイブを取得し仮想マシン内に展開し、適当なフォルダにコピーする。

# tar zxvf VMware-GuestAppMonitorSDK-425873.gz
# cd VMware-GuestAppMonitorSDK
# cp bin/bin32/vmware-appmonitor /usr/bin
# cp lib32/libappmonitorlib.so /usr/lib

まずは監視スタートを通知する。

# vmware-appmonitor enable

これ以降HAクラスタ側でハートビートを監視し始める。ハートビートの送出方法は

# vmware-appmonitor markActive

これを定期的に(30秒に1回とか)実行する。例えばプロセス監視であれば、特定のプロセスが動作していれば markActive を実行し、そうでなければ何もしない。

現状どういうステータスなのか、通知しているアイコンの色が知れる。

# vmware-appmonitor getAppStatus

green とか red とか gray とかの文字列がかえってくる。

メンテナンスなどでハートビート監視をされたら困るときはそのときだけ一旦無効に。

# vmware-appmonitor disable

メンテが終わればまた有効にする。

# vmware-appmonitor enable

このような感じでHAクラスタに対してハートビート監視を有効にしてから生きてますよ信号を出すことができる。というか出し続けなければいけない。サボると再起動されちゃうからね。


2013-07-11

_ [オコサマ] ジープ スポーツリミテッド いいかんじ

こどもちゃんのベビーカーですが、生まれてから1年間ほど コンビ EX COMBI マルチ5ウェイ を使っていました。

1歳1ヶ月で10kgを越えましてじわじわ大きくなってきまして丈夫にもなってきましたので、ベビーカーももうちょっと軽量なヤツにしましょうと次なる乗換先を探していたところいいかんじのがありましたのでコレにしました。


Jeep sport limited ジープ スポーツリミテッド グレーブルー です。

座ったときにおなかの前に来るバーですが、こどもちゃんの手の置き場として、またはガードとして、あればあったで安心なのですが大きくなってくると乗せたり降ろしたりの時に邪魔です。なのでバーはナシで。

あとは、折りたたんだときに自立するヤツが良くて、もっと安いタイプのはあるのですけど折りたたんだ状態だと立てられないのが多くて自立しないのは厳しいなあと。お出かけしたときに常に手が空いてるとは限らないでしょう。

タイヤが少し大きめというのもステキポイントです。タイヤが小さいと少しの段差にも引っかかるし砂利道は進めないしと大変なこともあります。こういうときタイヤがちょっとでも大きくなると走行性能は格段に上がります。その代わり片付けたときにタイヤがひときわ邪魔という欠点もあります。どっちを取るか。大きいといってもほんの少しの大きさなのでコレなら良いかなと。

今のところ大変使いやすく、良い買い物だったんじゃないかと思ってます。


2013-07-12

_ [Software] SUSE の YaST が使いやすかったので SUSE も良いなと思った

近頃仮想アプライアンスなんかのOSとして OpenSUSE が使われてたり、VMware vSphere のライセンス買うと SUSE Linux Enterprise Server の使用権が含まれててその vSphere 上でなら自由に使えたりと(だから RHEL 買うの馬鹿らしいじゃないですか)、SUSE を目にする機会が増えてきたのでちょっと使ってみた。

タイムゾーン合わせなきゃとか追加のパッケージ入れなきゃとか固定IP変えなきゃとかキーボードレイアウト変えなきゃとかいろいろやるべきことがあっていちいちコマンドとか設定ファイルとか探すのめんどくせえなあと思いそうですけど実際は yast コマンド一発ですんで快適ですよ。

僕はだいたいコンソールで操作するのでコンソールの画面例ですけど、パッケージの追加はこんな感じ。カーソルキーで選んで操作できるのは便利。


全体のメニューはこんな感じで見えてる。


カーネルオプションを設定するメニューもある。仮想環境だとスケジューラは cfq やめて noop か deadline にしとこう。


面倒なファイル書き換えしなくても選択肢から選ぶだけで良いなんて快適だな。

商用アプリも SUSE サポートしてるヤツそこそこあるので、充分選択肢になるね。


2013-07-13

_ [Software][Zabbix][Mysql] Zabbix Appliance 仮想マシン の my.cnf

Zabbix Appliance には MySQL が入っているのだけど、その設定が参考になるかなと思ってみてみた。こんな感じになってた。Version 2.0.6 の仮想マシンに含まれてる /etc/my.cnf 。

[client]
port            = 3306
socket          = /var/run/mysql/mysql.sock
[mysqld]
port            = 3306
socket          = /var/run/mysql/mysql.sock
datadir = /var/lib/mysql
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
server-id       = 1
[safe_mysqld]
log-error       = /var/log/mysql/mysqld.log
socket          = /var/run/mysql/mysql.sock
[mysqldump]
socket          = /var/run/mysql/mysql.sock
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
[mysqld_multi]
mysqld     = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
log        = /var/log/mysqld_multi.log
innodb_file_per_table = 1

MyISAM の設定がいくつか明示的に入れてあるのだけどコレは要るのかな。

mysql > use information_schema;
mysql > select TABLE_SCHEMA, TABLE_NAME from tables where ENGINE = 'MyISAM';
+--------------------+---------------------------+
| TABLE_SCHEMA       | TABLE_NAME                |
+--------------------+---------------------------+
| information_schema | COLUMNS                   |
| information_schema | EVENTS                    |
| information_schema | PARAMETERS                |
| information_schema | PARTITIONS                |
| information_schema | PLUGINS                   |
| information_schema | PROCESSLIST               |
| information_schema | ROUTINES                  |
| information_schema | TRIGGERS                  |
| information_schema | VIEWS                     |
| mysql              | columns_priv              |
| mysql              | db                        |
| mysql              | event                     |
| mysql              | func                      |
| mysql              | help_category             |
| mysql              | help_keyword              |
| mysql              | help_relation             |
| mysql              | help_topic                |
| mysql              | host                      |
| mysql              | ndb_binlog_index          |
| mysql              | plugin                    |
| mysql              | proc                      |
| mysql              | procs_priv                |
| mysql              | proxies_priv              |
| mysql              | servers                   |
| mysql              | tables_priv               |
| mysql              | time_zone                 |
| mysql              | time_zone_leap_second     |
| mysql              | time_zone_name            |
| mysql              | time_zone_transition      |
| mysql              | time_zone_transition_type |
| mysql              | user                      |
+--------------------+---------------------------+
31 rows in set (0.02 sec)

ストレージエンジンとして MyISAM を使ってるヤツ一覧を出してみると、たしかにいくつか使ってるみたいだ。この辺のテーブルは普段パフォーマンスを要求してくるのかどうなのかその辺の作法がわからない。


2013-07-14

_ [オデカケ] たんばらラベンダーパーク涼しかったわ

群馬県の玉原高原、冬はたんばらスキー場となっているところが夏は たんばらラベンダーパーク となっており、涼しいとのことですので行ってみました。

関越道の沼田ICから30~40分ほどで着きますので、関越方面へのアクセスがしやすい方はスイスイと行けるのではないでしょうか。

現地の駐車場に到着すると、なるほど涼しい。東京の気温より10度以上低いわけで大変過ごしやすいです。


冬はスキー場となっている斜面を一面花が覆い尽くしていて、そのスキー場を知ってるひとからしたら不思議な光景です。レンタル小屋とかがそのままあるのがおもしろいです。


約一キロメートルのなだらかな斜面をのぼるとラベンダー畑が広がっていました。舗装した歩道が用意してあり、ベビーカーにも優しい作りになっています。これ赤子をかついでいくとなったら大変だからよかった。

歩きたくない方はリフトが使えます。リフトでのんびりとのぼれます。もちろん別料金ですけども。

そういえばレストランもそのまま営業していました。いわゆるゲレ食がゲレ食の価格で。おにぎりとか用意してきた方が良いわ。

冬は全く気にしてなかったけれども、そばに玉原湖があり玉原ダムがありました。


発電用の貯水ダムで穏やかなところでした。取水塔から1.8kmほど離れたところまで流して発電しているようです。

一通り見終わって下界に戻るといつもの夏でした。あつい!上は涼しかったなー。


2013-07-15

_ [Software] Android 4.1.2 で Google Maps が電池喰いすぎる

半日近く何も操作せずに放置しておいた Xperia AX の画面を見てちょっとびっくりした。電池減りすぎ。


何も操作しないで放置しといてこんなに減るのか。少し前まではこんなに減らなかった。何も操作しないで半日置いておいただけなら数パーセントの減りで済んでた。

マップとSPモードメールが食い過ぎである。SPモードメールはタスク終了すれば良い。しかしマップは何なのだ。

最近で何かあったか思い返してみたけど、Android 4.1.2 にバージョンアップしたのと、マップのバージョンアップがあったのと、そのくらいかな。どっちがトリガーで電池食いになったんだろう。


マップの使用状況の詳細を見ると、勝手にいろいろと処理をしているようで(勝手にというか、たぶん僕が許可するボタンを押したのだとは思うけど)自動であれこれやってくれなくて良いです、という気持ちです。

それならばと自動でバックグラウンドで動作するものを切ってしまおうと思いました。

操作はこんな感じ。

マップの「設定」を開き、


「現在値設定」を開く。


現在値設定のなかで、自動で動くものを切る。


「現在地送信」を「現在地を更新しない」に変更、LATITUDEの現在地共有では「現在地を共有する」「ロケーションの履歴」ともにチェックを外して、これでバックグラウンドでの処理が減るはず。

これで数時間放置してみたけど、いまのところマップが勝手に電池を食いまくるというようなことは発生していません。もう少し使い続けてみて何もなければコレで良いのかな。


2013-07-16

_ [Software][Zabbix][Mysql] Zabbix 2.0 で使う MySQL を 5.5 に戻した

Zabbix 2.0.6 で、MySQL 5.6.12 を使ってみた。

そしたら妙に iowait の値が上がってしまった。

たぶんパラメータとかいじりながらチューニングしたら改善するのかもだけど、その辺の知識がないので、おとなしくすごすごと MySQL 5.5.32 に戻した。


これCPUの使用率グラフなんですけど、真ん中の空白の時間帯は、MySQL のバージョンダウン作業してた時間です。この間は MySQL 止めてたんでデータとれていません。

MySQL5.6.12 のときは常に iowait 10% くらいでした。MySQL5.5.32 に戻したら ioawit 5% くらいに戻りました。この差はなんだ。

数台の機器を監視しているだけなのでそんなにたくさんの値を保存しているわけではないのに、 my.cnf の中身は一切変えずにバイナリ入れ替えてテーブル戻しただけなのに、この差はなんなのかな。設定しなきゃいけないところ何か見落としてるのかな。それともこれはこういうもので正しい動作なのかな。使用したバイナリは mysql のサイトで配布されている rpm パッケージです。RHEL6 x86 用のパッケージ。

パフォーマンス的にどう?という話であれば、数十MBしかデータが入っていないDBなので、どんな操作しても今のところ全く遅さを感じないのでバージョンによる体感差はないです。

とりあえずしばらくこのままでいいや。またいろいろバージョンが上がったら入れ替えて試してみます。


2013-07-17

_ [Hardware] ThinkPad X240s の キーボードとクリックパッド どうよ

ThinkPad X240s 超軽量、薄型筺体 VGAポートを備えた ウルトラポータブル Xシリーズ| 製品 | Lenovo (JP)

ひとつまえの x230 からキーボードが6列に、そして x240 からクリックボタンが消えてタッチパッド内に。押し心地はどうなるのかなー。さわってみたいな。

6列のキーボードだといくつかレガシーなキーが無くて迷ったのだけどちょっと検索したらあった。

x230 の頃に出てた資料「2012年 新ThinkPad」によると、Fn キーとの組み合わせで出せる。

  • Break = Fn + B
  • SysRq = Fn + S
  • ScrLK = Fn + C
  • Pause = Fn + P

キートップに薄い色ででも印刷しといてくれれば…普通は使わないのか。

画面解像度のHD(1366×768)がかなり苦しくて、これが堂々と標準なのはやっぱりそういう要望が多いからなのかなあ。

持ち運び用のいわゆるモバイルPCでかつメンテ用PCとした場合リモートデスクトップなどを出したときに狭くて狭くて。なにが HD(High Definition) だと。言うほど High じゃないよねと。HD+ と呼ばれる 1600x900 あればとても使いやすいのだけどな。なんて思いました。

のちほど FHD(1920×1080) のパネルも出るみたいだけどあんまり解像度高いと電池喰うし、13インチでFHD使いやすいんかな。難しいところだな。


2013-07-18

_ [Software] NetworkManager が /etc/resolv.conf を勝手に書き換えるの困る

OentOS6/RHEL6 のリゾルバの設定。 /etc/resolv.conf に対してオプション指定など書き込んでいたのに、NerworkManager が動いたときに /etc/resolv.conf が作り直されてしまい後から足したパラメータが無くなってしまう。

NetworkManager 邪魔なので止めるのが無難でしょうけど、止めない場合はどうするのか。

/etc/NetworkManager/dispatcher.d 配下にスクリプトなどを置いておけば、NetworkManager が動いたときに同時に動かしてくれる。

/etc/NetworkManager/dispatcher.d/dns-option というファイルを置いて中に

#!/bin/sh
echo options single-request-reopen >> /etc/resolv.conf

と書いてみた。

/etc/resolv.conf が再生成されても、最後の方に自分好みのパラメータを足しますよという仕組み。

ここまでごちゃごちゃとやってみてやっぱり NetworkManager 必要無いなっておもいました。


2013-07-19

_ [Software] Apache 2.2 単一サーバ上に複数サイトの SSL を実装する

単一の Apache で複数の SSL サイトを収容したいという話になりまして。

 1 つの IP アドレスに複数の SSL サイトを入れるのは難しい

通常の HTTP プロトコルであれば、サーバ側は名前ベースの VirtualHost を使うのが一般的です。IP アドレス 1 つでよく、HTTP リクエストの Host ヘッダによってどの VirtualHost の領域に接続するか決まります。 カンタンですね。

さてここで SSL です。SSL ということはどういうことか。通信内容は暗号化されていて、復号しないと中身がわからない、復号して HTTP リクエスト内に含まれている Host ヘッダを見ないと VirtualHost の振り分けができない。 名前ベースの VirtualHost をつかって SSL のサイトを複数構築しようとしても、 SSL 通信に使う証明書がどの VirtualHost のものなのかを事前に知ることができないのです。どの証明書を使ってSSL通信するかを決めるための情報が暗号化されたパケットの中に入っているというにっちもさっちもいかない状態です。

なので Apache は、同一IPアドレスで一番最初に定義された VirtualHost 用の SSL 証明書を使います。なので、サーバのIPアドレス1つにつきSSL証明書は1つしか使えないという制限が出てきてしまいます。

 それでも 1 つの IP アドレスに複数の SSL サイトを入れたい

これは不便なので新しい仕組みが出てきています。TLS のハンドシェイク時にホスト名のところだけ平文で伝えるという感じです。SNI、Server Name Indication という仕組みです。しかしこれは ブラウザとサーバと両方が対応している必要があり、まだ非対応のブラウザが多い現在では、たくさんのお客さんを相手にするようなサイトでは使い辛いです。

ほかには、一つの証明書の中に複数のドメインの情報を入れてしまえという方法。SANs、Subject Alternate Names というフィールドに複数の FQDN を入れておけば、一つの証明書に別名が入っていて、別名でもって FQDN の正当性を確認するといったような感じです。この方法だと新たに証明書をもらわないといけないので少し面倒です。

 仕方なく複数 IP アドレス振って複数の SSL サイトを入れる

僕はあきらめました。今回は SSL の証明書を統合することができなくて(技術的な問題ではなくて契約的な問題です)、古いブラウザにも対応しないといけない。仕方なく SSL サイトの数だけ IP アドレスを準備しました。

そうそう、今回は Apache じゃなくて IHS っていう Apache ベースの Web サーバを使ったのだけど、IHS を使ったときの Name based VirtualServer と IP based VirtualServer の設定方法サンプルが載ってたのでコレを参考にしました → IBM IP-Based Virtual Hosting must be used if configuring multiple SSL Virtual Hosts - United States。 httpd.conf の書式は Apache と同じです。 SSL まわりの指定方法が違うだけ。 OpenSSL じゃなくて GSKit を使っているのかな。


2013-07-20

_ [いろいろ] ながしそうめん

近所の商店街で流しそうめんをやってたので見てきました。

なんと全長80mとのこと。流しすぎやろ。1円玉並べたら8000枚やし。並べないけど。

準備段階の風景はこんな感じでした。


参加者にはこの熊手のようなアイテムが貸し出されます。そうめんを流れの中からすくい上げるのにばっちりなデザインです。


スタートしたらぎっしりの人が集まっていました。


こんだけ長いと食べてみたくなる気持ちはわかる。

しかし長すぎて下流の人にはそうめんが行き渡らないのでは?もちろんスタート地点から最後までそうめんが流れるなんてことはありません。そうめんは途中数メートルおきの適当なポイントから係員によって放流されますのでみなさんそうめんにありつけるわけです。

調子に乗ってそうめんをたくさんせき止めて持ち上げられないちびっ子や双方のそうめんの方針の違いによってけんかを始めてしまう夫婦やいろんなひとたちがいて賑わっていました。


2013-07-21

_ [オンガク] なんだこれくしょん / きゃりーぱみゅぱみゅ

きゃりーぱみゅぱみゅの なんだこれくしょん を買ってみました。

シングルの曲が多いのでほとんどの曲に対して説明は不要だろうとおもうのですけども、シングルになってない曲がこれまた面白くてね。

4曲目、capsuleのカバー「Super Scooter Happy」がとってもかわいくて、きゃりーにすごい合ってる。

最後の曲「おとななこども」はわりとしっかりしてるポップス枠なんだろうかCDの一番最後でまあ落ち着いてちょうだいよという。ぽろんぽろんとした飾りの音がかわいくて。

そしてコレはとくに聴いておきたいと思うのがタイアップもなにもない曲、8曲目の「さいごのアイスクリーム」ね。コレを聞くために買う盤だと思うんだよね。イントロで安心させといて、ああこういう曲ね、と思わせといてクルっと変わったらもう。シンセ音からコード進行の雰囲気からオーケストラヒットの入り方からもう TM NETWORK のニオイがしすぎてニヤニヤする。どんだけおいしいんだよ! ってはなし。


2013-07-22

_ [Software] tar.gz の圧縮率を指定する

tar でくるんだファイルを圧縮するのに gzip 通したりするじゃないですか。

tar c /files/* | gzip -c > /tmp/example.tar.gz

圧縮率を変えたかったら( 1~9 まであって、1が一番速くて低圧縮、9が一番遅くて高圧縮)オプションに数字を付ければいい。たとえばこんな。

tar c /files/* | gzip -c -9 > /tmp/example.tar.gz

GNU 版の tar だとパイプ通さなくてもオプションで指定できるのが便利なんだけど、たとえばこんな。

tar zcf /tmp/example.tar.gz /files/*

じゃあ圧縮率の指定はどこでするの? man page を見てもそんなオプションは無いし…

gzip 用の環境変数で指定すれば良いのでした。

GZIP=-9 tar zcf /tmp/example.tar.gz /files/*

とか

export GZIP=-9
tar zcf /tmp/example.tar.gz /files/*

といったかんじで。なるほど。

近頃はストレージもたっぷりあるし元々内部で圧縮されてるファイルも多く、あんまり時間かけてつぶしても仕方ないことが多くて、CPU をシェアしてるような環境だと圧縮率低めにすることが多いです。 GZIP=-2 みたいなかんじで。これでもテキストファイルなんかのつぶれやすいファイルはそこそこつぶれますんで。環境によっちゃあもう数キロバイトをケチる世界じゃないんで。


2013-07-23

_ [Software] LVS で DSR 構成にしたとき実サーバでの受け方

IPVS とかの機能を使った LVS で、振り分けを DSR にした場合、実際に接続要求を受け取るサーバ側にほんのりと手を入れる必要があります。

仮想IPアドレスを持ったパケットが実サーバにたどり着いたとき、実サーバはそのパケットを受け取りたいのでどうにかしてそのパケットを自分の中に運ばなければいけません。

Linux なんかだと二つの方法があります。iptables で REDIRECT を使う方法と、ループバックインターフェースにIPアドレスを追加する方法です。

どっちを選べば良いの?

iptables を使ってるのなら iptables にて設定するのがラクチンです。

いろんなサイトで説明されてますがこんなかんじです。

iptables -t nat -A PREROUTING -d 仮想IPアドレス -j REDIRECT

Linux 以外の、例えば Windows や商用UNIX などが実サーバとなっている場合は、ループバックインターフェースにIPアドレスを追加すれば良いです。

それじゃ 実サーバが Linux でループバックインタフェースにIPアドレスを追加するのってどういう場合?

たとえば、Apache で SSL なサイトを一台にたくさん詰め込んだ場合、IP-Based Virtual Server にする場合があります。このときは何らかの方法で自身に IPアドレスを振ってないと Apache が反応してくれませんので、ループバックインタフェースに必要数だけ仮想IPアドレスを振っておけば良いというわけです。

すなわちOS自身のどこかのインタフェースに仮想IPアドレスが振ってないとその上のアプリが反応してくれない場合に使えば良いです。


2013-07-24

_ [いろいろ] くるまのシガーソケット用USB充電器がほしい

車のシガーソケットに挿すタイプのUSB充電器が欲しくなってきた。2口あって合計2Aくらいとれてしかも見た目がダサくなければいいなと。

いろんな記事を読みあさってみるとどうやらヒューズは内蔵していた方が良いらしい。

値段と機能で見たら断然コレ → Amazonベーシック USBカーチャージャー 2.1アンペア (タイプAメス 2ポート) なんだけど、でかいんだよなー。シガーソケットの外にかなり飛び出しそうな形状。これはちょっと。今日時点で 665円だから値段としてはかなりお得。

USB2口で2A程度の供給をうたってるやつは他にもけっこうあるのだけど、ヒューズ内蔵してるよと書いてないのがある。書いてないってコトはすなわちその辺手を抜いてるのだろう。入ってたら自慢げに書くだろうし、差別化要因だし。

他に気になるのはコイツ→ ツインUSBカーチャージャー

スペックだけ見てるとかなりいい。形状もそこそこマシ。どうだろうなーレビューとかが少なくて判断材料が少ないなー。

かといってヨドバシとか行くとすんごい数の選択肢があってとてもじゃないけど選びきれなくて。

安くてキチンと動くヤツが欲しいです。


2013-07-25

_ [Software] TTEdit半角ゴシックフォントがステキ

常々半角カナというヤツはダサいと思っていたのですがこれを好む人は意外に多くいてなんでだろうと思っていたら単純に幅の問題なんですね。

現行オフィスで使われているコンピュータの画面はやはりまだ紙の解像度には全く追いついていなくて、罫線大好きA4書類文化マンたちの引きまくった罫線の枠の内側に文字を詰め込もうとしたとき半角カナというのはとても有力な選択肢になるわけです。

文字コードとしてはUnicodeな世界になりバイト数としての優位性は既にありません。シングルバイトの頃は半角カナによる微妙な容量削減という意味もあったかもしれません。でももう Unicode では 0xFF71~ の2バイトコードが振られてますから、濁点や半濁点が別文字となる分むしろ容量的には不利です。

文字幅だけが選択の理由なら幅の狭いフォントがあれば良いじゃない。そういうフォントが公開されていて本当にステキです。

半角フォント

IPAゴシックをベースに幅を半分に縮めたというものだそうです。並べてみましょう。


なるほど。いわゆる半角カナと同じ幅に全角カナがおさまっています。もうこうなってくると半角とか全角とかいう言葉自体の意味がわからなくなってきます。

もうさ、MSゴシックとかMSPゴシックのフォントファイルを改造して、全角カナのグリフの幅を半分に縮めちゃえば良いんじゃねえの。幅を節約したいマンたちにはめっちゃ喜ばれると思うよ。MSゴシック半とかそんな感じで。カナだけ幅が狭いフォントをWinodws8.1に標準搭載しました!みたくすればヘンな見た目にだけこだわるビジネスマン方面にバカ売れするんじゃないの。

ウインドウの見た目の変化や操作性の変化よりも、エクセルの横幅が広く使えるという方が何倍も訴求力があるんじゃねえの。

なんて思いました。

丸文字やポップ体などの余計な装飾を使うためにフォントを変更する能力はあるのに幅を節約するための横幅の狭いフォントを選択する能力の無いおっさんたちはやくどうにかしてください。せめて MS UI Gothic でも選んでおけばとりあえずは幅節約できるじゃないの。


2013-07-26

_ [いろいろ] おいしそうなせっけんをつくる

夏休みになると各地で様々な子供向け体験教室が開催されます。

きょうこどもちゃんは石鹸を作ると張り切って出かけてゆきました。

そしてかえってきたのがコイツです。


アイスクリームみたいな生地の石鹸に、飾りの石鹸がトッピングされています。トッピングの表面が溶けちゃってるのはこどもちゃんが後からぺたぺた触っちゃったから。最初はてらてらとキレイな表面でしたよ。

楽しかったようです。よかったよかった。


2013-07-27

_ [いろいろ] 偏光板を使って不思議な箱を作ろう

夏休みは各地でお子様向けのイベントがあるので本当にありがたいです。

今日は偏光板を使って不思議な箱を作る教室に参加させてきました。

前半は先生による偏光板の仕組みなどのお話しがみっちりとありますが工作するのが楽しみで参加してる子供たちはポカーン顔でタイクツ気味です。しかし、教室の隅っこの補助椅子に座る保護者たちが熱心にメモを取っているではありませんか。なんなの?と思ってたら、これ自由研究のネタになるのね。父母がメモからストーリーなどを考えてあげるのでしょう。コレは大変だ。

さてできあがったのはこんな感じの箱。


静止画だと何のことやらわかりませんね。箱の中を覗くと、箱の真ん中を区切るように一枚の板が見えるのですが、その板をストローが通過してしまいますという不思議な箱です。

原理は、偏光板を半分に切って逆相につなぎ合わせたものを箱のあっちとこっちに貼ることによって、のぞき込むと真ん中に板があるように見えるという寸法です。90度相がズレてると真っ暗になるので重なり合ったところが暗くなり板があるように見えるというわけです。説明が難しい。

「液晶テレビもこの技術を使って色を出しているんだよ、偏光板がなかったら普通のテレビみたいに奥行きが長いままだったんだよ」とおじいちゃん先生が話してくれましたが、会場に居るちびっ子たちはテレビのことをわざわざ液晶テレビと言いません。液晶かどうかなんて気にしたことないんじゃないかな。それが当然だから。当然のモノに対して名前は付けないから。生まれたときからそれが標準だから。普通のテレビと言われてブラウン管のテレビを想像できるちびっこがいたのかなあ。みんなポカーンとしてたような気がします。

でもまあ楽しんでいたようでなにより。


2013-07-28

_ [Software] BIND の log を syslog に出したくない

BIND のログ出力設定について、とくに syslog に出すような設定をしていないのにどんどん syslog に出て行ってて何だろうなーと思っていたのですが無設定時に使用される初期値が syslog 行きだったのね。初期値はたぶんだいたいこんな感じのようです。

logging
  category "unmatched" { "null"; };
  category "default" { "default_syslog"; "default_debug"; };
  channel "default_syslog" {
    syslog daemon;
    severity info;
  };
  channel "default_debug" {
    file "named.run";
    severity dynamic;
  };
  channel "null" {
    null;
  };
};

category "default" を "default_syslog" なしで定義するか、channel "default_syslog" の中身を null と定義するか、どっちかで syslog には出なくなります。


2013-07-29

_ [いろいろ] 消しゴムであっという間に時間が過ぎる IQパスルケシゴム ケシキューブ

SEED の IQパスルケシゴム ケシキューブ を見かけたので買ってみました。 初級(ブルー)中級(イエロー)上級(レッド) の3種類があります。


とりあえず初級のブルーを出してみるとこんな感じです。


バラすと全部同じパーツ。さすがに初級なので簡単に組めます。


中級と上級はまだ開けてません。

コレとは別に同じ SEED の スーパーケシック01 がムズいです。コイツは平面パズル状態で売ってるのですが、立体にもできるよーということになっています。なっていますが、ならんのだよ!キレイな直方体にならない。あーでもないこーでもないと消しゴム相手に格闘中です。


2013-07-30

_ [Software] サクラエディタ v2.1.0

ありがたいことに無料で気軽に使えるテキストエディタであるサクラエディタがバージョンアップ。

Sakura Editor - Browse /sakura2/2.1.0.0 at SourceForge.net

64bit 版のバイナリは公式配布無いのかなー。


2013-07-31

_ [Software] RHEL6 になって inittab どこにいったの

/etc/inittab に登録されるはずの自動起動ものが見当たらない。

どこいったのかなーと思っていたら、 /etc/init ディレクトリ配下にアプリごとにファイルが分かれて登録してあった。

アプリごとに分かれてるのはいいね。アンインストールするときにも不要ファイルだけ削除すればいいしね。

一つのファイルに全部情報が入ってると、間違って周りの行を触ったりしちゃうとこわいからね。


2013年
7月
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Twitter : @moriya_jp