投稿

10月, 2012の投稿を表示しています

メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

地図の統合が終わったらしい

イメージ
編集が凍結されていた wazeネタなんですが、10月に入ってから地図の編集ができない状況が続いていました。 Starting map integration process for Japan; suspending edits には、few weeksかかると書かれていたので、辛抱強く待っていたんですが…。今日wazeを使っていたら、Mapに道路が急激に増えているじゃないですか…。 ちょっと増えすぎな感を受けますが、まあ、自宅の周りの細かい道路もデータに入っているようです。この状況を見ると、ユーザが追加したデータ以外に、どこからかデータを持ち込んで統合したような感じです。 住宅内の細い道なんかも、網羅されているのが、分かります。 編集もしてみた 自宅に戻って、wazeのinternational siteでログインして、マップを修正してみた。 問題なく利用できるようになっていた。ただ問題点として、細い道はdirectionがunkownになっているものが多いこと。 航空写真と道路データが結構ずれていることかなぁ。前はズレは気にならない程度だったんですよね〜。 なので、しばらく編集に関しては要注意です。デバイスでNaviさせたりするには、多分問題無いとは思うんだけど、これだけ地図にデータが増えると見にくいのかもしれないです。これまでスカスカの道路地図だったから逆にわかり易かったんだけどな〜。 Appでは相変わらず日本語がダメなまま 地図が詳しくなってくれたことは、嬉しいのだけれど、日本語のメニュー等の表示が、一時的に設定できたのが、出来なくなって、いまもできないままなのが少々気になっています。自分だけなのか…。みんななのか。 waze側でコントロールしていて、利用できないのならまぁ仕方ないけれど、ミスだったらもったいない。ユーザが増えるチャンスなのになぁ。 このソフトの面白いと感じる所 前回、下記忘れているので、ちゃんと文字にしておこうと思います。 これは、iPhoneで使うのが楽しいわけじゃない。 車で動きまわった記録がなされ、Map Editorで道の情報何かを書き換える。間違いをただしMapに存在していない新しい道を加えていく。 これがしばらくして、自分を含む、ほかのユーザのマップに反映されているというのが

立て続けにコンプリート

イメージ
そんなにゲームはしないのだけど… それでも子供たちと、一緒に遊んだりするのに少々ゲームは入れてある。もちろん、たまに電車や待ち合わせなんかでやる暇つぶし用もある。 でもって、継続してやる気の長いゆる〜いゲームがお気に入り。毎日少しだけ操作する。といっても、せいぜい1分とか2分。これを暇なときは1日3回くらい。やらないときはほぼ放置。 今日は、時間があったので、少し遊んでみたら…。いいことがありました〜!! キンを集めてまいれ! 前回報告した「モンスターを集めてまいれ」の続編で、もやしもんとのコラボ企画なんでしょうか? 結構、キン(金ではなくて菌ですよ〜)の種類やら名前やらが、勉強になってしまうという、意味不明な企画です。 内容は前作のモンあつとほぼ同じ。まぁ多少MAPが異なるくらいです。 すべてのキンを集めるのに苦労しました。少ない時は1日に1回やるかやらないか、という遊び方なので、なかなか進みません。 でも、今日コンプリートできました〜。 なんだかすごく嬉しい。しょうもないことですが…。 記念に撮っておきました〜 最後の1匹は、諦めかけてましたゎ。 気を良くして… ツキがあるぜ〜と思いつつ、次なるゲームを開いてみたら…。 なんとまたしてもコンプリートしているじゃないですか〜。 こいつは、以前コンプリート( 7月のブログ )しているんだけど、Updateによってさらに集めなくてはならなくって、実は継続してたんですね〜。 最後のドラゴンをやっとのことで、ゲット!(っていうより開けたらゲットしていた。という表現が正しいのだけれど)した訳です。 こいつもスクリーンショットを、撮りました〜。 終わった〜と思いきや、ゆるロボは他のミッションが用意されていて、同じロボットを同時に15体集めろとか、合計300体出荷しろとか…。もう少し遊べそうです。 これで、子供たちに自慢できる?かもしれない…。威厳が消失するかもしれないというリスクもあるんだけどね。

ituensでのエラー 0x80092013

イメージ
HELPの電話が鳴る 古い友人から、昼前に電話が入った。彼とは半年前ほどに一緒に食事をしたきりだったので、久しぶりの連絡。 「いきなりで悪いんだけど、ituensがエラー出して、困っているんだけど、分かる?」という何とも不躾な…。 これだけの情報で分かる人間がいたら、Appleが手放さないでしょ!とか思いつつも、親切に情報を集める。「どんな時に、どんなエラーが出るのかを教えてくれれば、分かるかもしれない」 起動して、(そこから説明が始まり…)…………というエラーが出るんだけど、表示されている数字は覚えていないんだけど…。orz そこが知りたいので、写真にでも撮って送ってくれれば、調べてみると返答。 送られてきたのが、この写真。ituens起動時に表示されるものと、更新をしようとして表示されるもの。 どうやら、おかしなことが起きているらしい。 仕方なく、現地入りして様子を確認することに。 ただし、せっかくエラーコードが分かっているのだから、事前に調べることはもちろん行なっておく。 Appleのサポートコミュニティによると「 不明なエラー 0x80092013について 」なんてページがあるじゃないですか。 ここの情報によると、「まだ解決方法が見つかっていないようです。」って…。あぁぁ。そんなエラーなのね〜。 実機で確認 問題のマシンはWindowsVista。Windows7のマシンでは問題なく動作しているらしい。 さて、連絡通り動作しないかどうかを確認するために、起動してみる。更新をチェックすると最新版があるというので、Updateしようとすると、送られてきた例の不明なエラーを吐いてくる。 ふむ、確かに、電話の内容通りだ。 まずは、Windows Updateの確認。どうやらルート証明書が古いと問題が多いらしいので…。 変なプログラムが常駐していないか…。セキュリティソフトはどうか…。と順次チェックを行う。 一向に改善しないし、問題点はない。 さて、これまでの経験でiTunesでエラーを吐くときに、確認する必要があるのは、内部時計の狂いだ。 Vistaの右に表示されるガジェットでは、時刻は正確に合っている。 と思ってよくよくチェックしてみると、日付が2ヶ月ほど未来を指している。2012年12月になっているじゃない

グループを別のグループに追加

Linux上での話ですが… 友人より、相談のメールが。 すでにLinux上でユーザを幾つかのグループに分けて管理している。 今回整理統合したのでしょうか、GroupA、GroupBをGroupCに突っ込みたいけど、良い方法は?という質問がありました。 Linuxの場合、プライマリーグループがあってdefaultだとユーザ名と同じグループが作られ、運用しています。 それとは別に、ユーザは他のグループに所属するケースもあるわけで、複数のグループに所属することが可能になっています。 で、その操作を簡単にできるのではないか?ということでした。 結論から言うと、その手のコマンドは存在していないので、標準コマンドで作業を完結することはできないわけです。 じゃぁ、無理なのか?というと、そんなことはなく、ちょっとスクリプトを書けば可能です。 解決方法1 メールの中身を読んだのが、日付が変わる頃だったので、寝ぼけながらも何とか処理できました。 ユーザのグループは、/etc/groupに格納されていて、以下のような構成になっています。 test:x:1003: test1:x:1004:test2,test3 test2:x:1005: test3:x:1006: test4:x:1007:test5 test5:x:1008: あくまでもサンプルですが、test1グループにユーザtest2,test3がいます。さらにグループtest4にはtest5がいます。 このtest1,test4をグループtestに入れることにします。 最終的には、test=(test2,test3,test5)となればOKと。 ※本当は、test1にはユーザtest1、test4にはユーザtest4も入っているんだけど、今回は処理しない前提で行きます。一人くらいなら、手作業で変更できるので…。 考え方 まずは、test1のグループのメンバーを引っ張りだします。 これはgrepを利用すればOK。 $ grep test1 /etc/group すると test1:x:1004:test2,test3 という行を得ることができます。欲しいのはtest2,test3の部分なので、切り出します。

wmaからmp3へ

イメージ
Windowsマシンの残骸 少し古目のWindowsXPマシンを廃棄しようかと思い、電源を入れてみた。全く使っていないのでUpdateとか山盛りだけど、全部無視して確認だけ。 HDDの中に古い音楽ファイルが保存されていた。 多分、よく分からずにCD入れて勝手に変換されたやつですね…。 まあ、あとで変換しようと、とりあえずUSBに保存して、Windowsマシンは終了。ち~ん! 512MBでよく頑張って動いていまた。当時は早かったし良いスペックではあったのだろうけど…。SP1→SP2…とUpdateするうちに、これまた快適ではなくなってしまったマシンです。 あとは光学ドライブ、HDDくらいはパーツとして利用可能かなぁ。 Mac上でコンバート 古いマシンでの作業は、非常にストレスが溜まるので、メインのマシンに持ち込んで変換することに。そうすればiPhoneやiPadで聴けるし…。 と思いiTunesを起動して、Drag&Drop…。「あれ?」 そうなんです。MacのiTunesはwmaファイルを再生しないのです。確かWindowsでは動作した記憶があるのだが…。調べてみてもできないらしいです。 FinderのQuickLookでは再生するので、自分のiMacでは再生可能なファイルで、ツール類も入っているはずなのだけれど…。 念のためVLCで再生してみるけれど、問題なくOK。QuickTimeはダメ。 そういえば、Flip4Macも入れていた。クイックルックは、こいつのおかげのようです。 ところが、変換となるとFlip4MacはPro版でないとできないとな…。 VLCも変換できそうなんだけど、基本は動画らしく、mp3での書き出しができない。 ふ〜む、意外な盲点でした。 でもって、方法はないかと調べると、「switch」とFlip4Macがあればできるそうな。 早速、落としていれてみた。 特に使い方に難しい点があるわけでもなく、コンバートもきちんと行なってくれた…? 変換できないファイルがある! なぜか、再生できるのにswitchで変換できないファイルが見つかった。 そのファイルだけをD&Dしてみるが、Listに追加されない。Add Filesから選択するもダメ。何がいけないのか? よく見る

ログの整理 #3

PowerShellでは遅すぎて… 実際問題、ログからcsvに切り出すことは可能になったものの、10MBのログから200kb前後のcsvファイルを生成するのに前回のスクリプトだと約2時間かかるんですねぇ。 そりゃ、1レコードを生成するのに、ログオンIDで再度全部ログを舐めて、PCの名前とIPを拾っているわけで…。 単純に考えればO(n^2)というわけですね。 ログのローテーションというか上限を5MB(半分)にすれば、多分処理速度は1/4程度にまで下がるとは思われるけれど、120分が30分になって、ファイル数が倍なので実質1時間かかるわけで…。orz。 何が遅い? 実際、何に時間がかかっているのかを調べ始めたのだけれど、まずwhere-Objectが結構な時間を消費している。その後foreachで回す処理は激遅い。 結局、イベントログからオブジェクトとして扱っているのが、遅さの原因ぽい。 最適化しようにも、PowerShell自体の扱いに慣れていないので、とっても疲れるです。 他に良い方法は無いものだろうか?と思案し始めた時に、以前オライリーの本で見た記憶があったので、ちょいっと検索してみる。 方針変更! perlのモジュールにW32::EventLogが有るじゃないですか。 早速、マニュアルを参考にテスト用のコードを書いてみる。 さすがに、サーバ上での作業は心配なので、VM上のWindows7にActivePerlを入れてテストすることに。 細かい仕様を決めようか、汎用的に作ろうかと迷いつつも、現状の作業をサックリ行えることを目的に作成した。約1日かけて、コーディング終了。前回までのスクリプトと同じ結果を返すようにするところで、少々苦労したわ。 なので、若干コードは汚い(perlなのでさらに汚いww)とは思うのだけれど、これが素晴らしい性能を発揮してくれた。 コードは以下全体を載せておくので、もし万が一使いたい人は、自己責任にてお願いします。 さて、実際に同じデータを食わせてみると、なっなんと、2時間かかっていた処理を1分以内に終えてくれる!!! あぁ、これで今後のログの整理が快適になる。 1週間分、いや1ヶ月分まとめて処理だって怖くない! あとは、コマンドラインでイベントログを引数として渡せば良い仕様

keynoteをwindowsで…

イメージ
久々にミスをした… いつもなら作成したkeynote資料をpdfに変換して、利用するのだけれど、今日はうっかり*.keyファイルだけをコピーして持って行ってしまった…。 前回は、LogMeInで変換したファイルをdropbox経由で入手したんだけど、今回は自宅のマシンを落としたまま出てしまった。 USBメモリの中身を見て愕然…。 「しまった!」しかも今回はLogMeInも使えない。 念のため確認してみるが、無残にも「オフライン」の表示が…。 次は、Windowsマシンで手元のkeyファイルを、どう料理するかだ。 とりあえず、Viewerがないか探してみる。 ……全滅だ。みんなkeynoteでpptかmovやpdfに出力しろといか書かれていない。 そうだ、iwork.comが…。そういえばサービスが終わっていたんだった。 Dropboxに同じ物を保存してあるので、iphoneで確認。 しめしめ、プレビューできるじゃないか。 で、この画面をどうやってプロジェクタに出力するのか? …詰んだ。 自宅にいけばHDMI用のDigital AV Adapterはあるけれど、手元にはない。 AppleTVは…ない。Macさえあれば…ない。 「あ〜〜〜〜」 GoogleDocsで読み込めないかと思って試したが、ダメだった。 じゃ、SkyDriveは…。当然ダメだった。 見つけた! slideshare なるサイトの存在を見つけた。別にkeynote専用ではなくてpowerpointも対応している。海外サイトなので、日本語の対応は試してみるしかない。 早速、ログイン(FacebookのアカウントでOKだった)。 続いてファイルをアップロードする。 暫く(数分)待つと、コンバート完了。 おぉぉ、keynoteのファイルがブラウザ上に表示されている。まさしく、自分が作成したものだ。日本語もOK。 これで、プレゼンが可能になる。 pdfファイルを配布することは、できないものの、スライドを行ったり来たりもできる。 ブラウザを何枚も開けば、異なるページの同時表示も可能だ。 ブラウザを最大化して、プロジェクタに投影。 大きな問題はない。どうせ、アニメーションなんて使っていないし、ズレもなければ見えにくいこともな

ログの整理 #2

直しを入れてみた 前回のスクリプトでは、切り出したログを処理すると、対応するログオンIDが見つからないことがあり、ホスト名やIPが空欄になる現象が発生していた。 そこで、後から確認するためにログオンIDをフィールドに付加する仕様に変更した。 こうすることで、手動で該当するログとの突き合わせが可能になる。切り出したcsvだけだと情報が欠落してしまい、再度全部チェックしないといけなくなるを避けるためだ。 さらに仕様変更 ログファイルは、キーボードから入力(といっても、Drag&Dropで入力できるので面倒ではないのだけれど)して、画面に出力していたものを、直接csvファイルに落とすことにした。 ファイル名も面倒なので、入力したログファイルの拡張子をcsvに変更するだけにした。 まあ、少しは手間が省けることでしょう。 ということで、以下がそのスクリプトの全体。 今のところ、最低限のチェックしか入れていないので、暇があれば修正をしようと思う。 誰かのお役に立てれば幸いですが…。 #requires -version 2.0 # 2012/10/04 add field logon-id #     direct write csv-file  function GetValue([String]$category, [String]$key, [String[]]$properties) {   $b = $false;   foreach ($property in $properties) {     if ($b -eq $false) {       if ($property.contains($category)) {         $b = $true;         continue;       }     } else {       if ($property.contains($key)) {         return [String]$property.Substring($property.IndexOf(":")+1).Trim();       }     }   }   return ""; } funct

ログの整理

イメージ
ユーザの操作を記録 Windows Serverで、ファイルの監査を行なって、「誰が・いつ・どのファイル・どうした」という統計と、問題が発生した場合にその原因を特定するために、詳細なログを取ることに…。 手順は簡単。まあどの本を見ても書かれているので、詳細は必要ないとは思うけど、参考にした資料くらいは載せておこうと思う。 マイクロソフトが出している文書 「ファイルサーバー上のファイル操作における監査」 が、2000/2003用ではあるけれど、きちっと書かれていますので、これに従えばOK。 ローカルポリシー→監査ポリシー→「オブジェクトアクセスの監査」で成功・失敗をON その他「アカウント ログオン イベントの監査」「ログオン イベントの監査」も設定 エクスプローラで監査したいフォルダを選択。→プロパティ→詳細設定→監査タブで追加→グループもしくはユーザもしくはeveryoneで設定する。 設定内容は「ファイルの作成/データの書き込み」「フォルダの作成/データの追加」「サブフォルダとファイルの削除」「削除」「アクセス許可の変更」「所有権の変更」あたりでOKかと…。必要に応じて設定してください。 あとは、セキュリティログに記録されるので、イベントビューワーあたりで確認すればOK。 大量のログが… ところが、訳の分からない大量のログが発生していて、すぐに溢れてしまう。上書きに設定してもⅠ時間と持たない。アーカイブするようにしても滅茶苦茶な量になる。 どうやら「フィルタリングプラットフォームの接続」に関するログががががが…。 ということで、これじゃログが使いものにならないクズだらけのログになってしまうので、対策を練ることに。 探してみると グループポリシー→Windowsの設定→セキュリティの設定→監査ポリシーの詳細な設定→監査ポリシー→オブジェクトアクセス→「フィルタリングプラットフォームの接続の監査」が有るじゃないですか。 思い切って、「監査なし」に設定する。 すると、今度は全くログを取らなくなってしまう。悩ましい。 そこで、ポリシーを探してみると、 詳細な設定→監査ポリシー→オブジェクトアクセス→「ファイルシステムの監査」と ログオンログオフの監査→「ログオンの監査」「ロ