■MacBook(白)にUbuntu 10.04 LTSをインストールする
サーバ管理や一部コンテンツの用途でUbuntuマシンが必要だったので、手元にあるMacBook(白)にUbuntuをインストールして利用する。MacOSXとのデュアルブートは必要ないので、Ubuntu専用マシンとしてインストールした手順のメモ。とは言ってもUbuntuのドキュメント通りなので特に面倒なことはない。
MactelSupportTeamAppleIntelInstallation
https://help.ubuntu.com/community/MactelSupportTeam/AppleIntelInstallation
1) Ubuntu 10.04 LTS DesktopのLiveCDを作成する(USBでやったらうまくいかなかった…)
2) MacBookにCDを挿し込んでオプションキーを押しながら起動する
3) CDが「Windows」というラベルでセレクタに表示されるのでそちらを選択してリターンキー
4) Ubuntuが起動するので「System」>「Administration」>「GParted」を選択する
5) GPartedが起動したら「Device」>「Create Partition Table」を選択する
6) ダイアログが表示されるので「Advanced」をクリックしてmsdosが選択されているのを確認
7) Applyボタンを押すとHDDのパーテーションが全消去される
8) GPartedを終了し、デスクトップにあるインストーラーを起動する
9) 後はインストーラーの指示に従うだけ
ほとんど通常のWindowsマシンにインストールするのと同じ手順でインストールできてしまうので、あっけなかった。インストール後は日本語入力も「かな」キーで可能になりキー配列もほぼ問題なく利用できる。さすがUbuntu.若干ファンがMacOSXで稼働している時よりもよく回る気がするが、通常動作させている範囲では特に問題はない。
MacOSXはTiger以降非常に良くなっているので、MacユーザでわざわざUbuntuオンリーに入れ替えて使う人はあまりいないと思われるが、まぁこういうことも簡単にできるマシンですよということで。
macbook, ubuntu
Loading...
■mysql5.1.xで実現する日本語全文検索3種
現在CentOSを利用している頻度が高いこともあって、mysqlの日本語全文検索にはmysql5.0系のTritonnプロジェクト版を利用することが多い。いずれmysql5.1系で日本語全文検索に対応しないといけないケースが出ると思うので、実現方法のメモ。
1) N-Gram (bi-gram) 全文検索プラグイン
http://sites.google.com/site/mysqlbigram/home-j
2) MySQL full-text parser plugin collection
http://sourceforge.net/apps/mediawiki/mysqlftppc/index.php?title=Home-j
3) groongaストレージエンジン
http://www.mysql.gr.jp/mysqlml/mysql/msg/15373
たぶん1から順番に難易度が高くなる?
Tritonnプロジェクトの後継で高度な検索も実現できるgroongaストレージエンジンが、パフォーマンスや長期運用の観点からは面白そう。index作成更新が高速であり、MyISAMのテーブルロックする仕様をカバーできるという点でも、高頻度で書き込みやindex更新のあるSNS系プログラムでは、パフォーマンスの向上が期待できる。
8/18時点ではテストリリースということなので、安定するまでもうしばらく時間がかかりそうだが、継続してwatchすることにする。差し当たってUbuntu 10.04 LTS Serverで実験してみたいところ。
mysql, tritonn
Loading...
■CentOSのImageMagickのバグ対応x86_64版
手元のサーバを初めてx86_64版でインストールした結果、ImageMagickでまたハマったのでメモしておく。とりあえず解決はできたようなので、たぶん他でも大丈夫かと…(自信なし)
ちなみに以前記事で書いた内容は全く役に立たなくなっていた。今回CentOS5と書いている部分では、特に注意書きがない限りx84_64版なので注意。
CentOS5.6でのアップデート対応記事はこちら
http://blog.isnext.net/issy/archives/1022
1)ImageMagickのバージョン確認
[code]# rpm -q ImageMagick[/code]
通常CentOS5でyumからImageMagickをインストールした場合、ImageMagick-6.2.8.0-4がi386版とx86_64版で2つインストールされているはずである。ここでは2つ入っていることが確認できればそれでいい。入っていない状態なら以下のコマンドでインストールしておく。
[code]# yum install ImageMagick[/code]
2)ImageMagickのHPからCentOS用rpm(x86_64)をダウンロードしてアップデートする
[code]# ~/download
# wget http://www.imagemagick.org/download/linux/CentOS/x86_64/ImageMagick-6.6.3-5.x86_64.rpm
# rpm -Uvh –force ImageMagick-6.6.3-5.x86_64.rpm[/code]
ついにCentOS5用のrpmが用意されたようで、これをダウンロードして強制的にアップデートをかける。(作業中にはダウンロードできたのだが、今確認したら404エラーになってるので更新されるのかもしれない)これで、問題が解決してしまうようだ。i386版と競合するファイルがあるのだが、man関係のファイルなので強制的にアップデートしてもたぶん問題はないと思われる。
障害の発生するgifでも正しくエラーになり、MyNETSでもリサイズが正しく動作しているので、i386版とx86_64版のバージョン違いが微妙に気になるが、スルーしておくことにする…。
実際作業して見て実感するが、CentOSのx86_64版はいろんな意味で微妙…。
ImageMagickのHPにはi386版も最新のCentOS用rpmがあるのでインストールしたくなるのだが、なぜかi386版のみ前の記事と同じライブラリが不足するため、いろいろインストールしないといけない状況に陥る。しかしx86_64版のCentOSではi386版の必要ライブラリがうまく導入できず(スキル不足のため)最終的にインストールできなかった。(前回記事の手法ではx86_64版が導入されるのみ。i386版のlibファイルを持ってきて配置してみたが認識されず…)
ちなみにyumでImageMagickをインストールしないで、直接ImageMagickのHPからファイルを持ってきてrpmでインストールすることもできるが、その場合、MyNETSで画像のリサイズができないという問題が発生した。障害の発生するgif自体はconvertでエラーになるので、適切に動いているようではあるが、お使いの環境によっては正しく動作しない場合があるので注意。
centos, imagemagick, mynets, x86_64
Loading...
■集中して作業したい時に助けになるもの
コードチェックだったりモノ書きだったり、とにかく集中して作業したい時に使うと便利なものをメモしておく。実体験として効果があったと思うものを列記。効果即効性持続性なども付記。
・豆乳飲料 効果:大 即効性:数時間以内 持続性:長い
麦芽コーヒー味を一番良く買うが、無調整豆乳も好き。豆腐など大豆系食品はいいと聞くが、豆乳飲料系が即効性も高く気軽に美味しくいただけるのでオススメ。
・コーヒー&チョコ 効果:中 即効性:数十分以内 持続性:短い
自分で淹れるのも悪くないがカフェイン効果が高すぎて落ち着かなくなることがあるので、インスタントで十分。作業中眠気を伴う時にブレンディを薄めにいれてピーナッツチョコレートと一緒に食すのがとても効果的。ピーナッツチョコレートは、昔静岡生協が神奈川生協と統合される前に静岡生協扱いで販売されていた製品が、明るく華やかに香ばしい最高にコストパフォーマンスの高いもの(という当時の印象)だったのだが、統合後廃番となってしまい手に入らなくなった。今でもいろいろと見かけては購入してみるのだが、ピーナッツのロースト具合とチョコレートのバランスであれを超えると感じられる製品はなく残念に思っている。
・マジックソープ ペパーミント 効果:大 即効性:即時 持続性:短い
作業前にシャワーに入り、マジックソープのペパーミントで体を洗うと意識が極めて爽快かつ明瞭になるのでオススメ。マジックソープの香りは強すぎると思う人もいると思うが、個人的には仕事前に意識を切り替えるのにぴったりだと思う。特に夏場はオススメなのだが、冬はペパーミントの清涼感が「寒さ」に感じられるため、季節によってグリーンティなど他の香りを試してみることもオススメする。
・ローズマリー アロマ 効果:大 即効性:数十分以内 持続性:長い
ローズマリーは記憶力を改善する作用があるとも言われているが、作業中に数滴デスクサイドの小皿に置いておくだけで、とても集中力を高めてくれる。英ニールズヤードのローズマリーオーガニックのアロマは英国らしく非常に低い落ち着いた大人の印象を持つ香りで、個人的にとても気に入っている。空腹時にはジャガイモ料理が食べたくなる副作用?があるので注意w
・フチなしメガネ 効果:中 即効性:不明 持続性:長い
ディスプレイを見ながら作業することが大半なので、視力のサポートは集中力維持にとても重要な要素のひとつ。日常コンタクトも併用することはあるのだが、集中作業時にはドライアイになりやすく返って目が疲れるため、メガネの方が長時間作業に向いていると判断。メガネで長時間作業する場合、視野の快適性と耳の部分のかけ心地が重要になるので、視野を切り取らないフチなしであることと、樹脂製の当りが柔らかいフレームが個人的には必須となっている。
・バッチフラワーレメディ ホーンビーム 効果:中 即効性:数時間以内 持続性:短い
IT系の人はあまり興味を持たない分野だと思うが、世にフラワーレメディという存在がある。実は東急ハンズでも購入できるくらいポピュラーでもあるのだが、ITの対局にあるような存在と認知されていることが多いようで、個人的には少々残念と思う。フラワーレメディの説明は割愛するが、ここで紹介したホーンビームは「作業するのが面倒だな、おっくうだな」と思う「感情」に働き掛けて、前向きに作業に取り組む手助けをしてくれる(と自分では実感している)。作業前または作業中に数滴飲むことで、心理的な負荷を和らげてくれる実感がある。効き方が穏やかで「飲んだ後なぜか自然に作業に取り組む気になって、いつの間にか集中して終わらせてしまった」というような感じで、効果があったことを意識しないで、後からいつもと違うことに気付く。プラシーボと言えばそれまでだが、効果があると実感できているわけで、それによって作業効率が上がるのだから有り難い。
・音楽 効果:中 即効性:不明 持続性:不明
むしろ邪魔になることもあるので、選曲やシチュエーションが非常に大事。作業中のPCで流すのではなく、少し離れた場所にあるスピーカーから低音量かつ高音質で流れている、というのが最良。意識の邪魔をしない程度に耳に入ってくること、あまり聞き込んでしまう曲にしないこと、つい歌いたくなる曲にしないことくらいが選曲ポイントか。作業環境によってはスピーカーを利用することができず、ヘッドホンを使用せざるを得ないと思うが、個人的には密閉型よりはオープンエア型の側圧がきつくないものをゆったりかけて、負担の少ない聴き方の方が作業側に集中できるのではないかと思う。
この項目は効果が実感できたものがあれば随時追記することにする。
tips
Loading...
■Androidウイルス対策
初のAndroid向けウイルスが発見されたということで、現在できることで一応効果がありそうな対策を考えてみる。十分予見されていたAndroidウイルスの出現ではあるので、以前取り上げたように基本的なアンチウイルスソフトは複数製品として存在しており、これらを導入することはもちろん効果的だと思われる。しかしアンチウイルスソフトはウイルスデータが更新されるまでは後手になるケースが多いので、今回のウイルスの挙動から利用できそうな対策ソフトを検討してみる。
Android向けアンチウイルスソフトのまとめ記事は以下。
http://blog.isnext.net/issy/archives/276
1)SMSの挙動を確認する
今回のウイルスはトロイの木馬タイプで別アプリに潜んでAndroid端末に進入し、SMSを勝手に送りまくるというものだそうだ。ということで、SMSを送信する場合必ずユーザが送信確認を行うソフトがないか調べてみた。…が、残念ながら後述する電話発信の確認を行うソフトはあったが、SMSの発信確認ができるソフトはちょっと検索した程度では見つからなかった。SMSソフト自体は多数存在するので、標準のSMSをアンインストールして置き換えることで、勝手送信を防ぐことが可能なパターンは存在するかもしれない。ただSMSはキャリアの仕様等で動作の互換性に問題が発生するケースも多いので、SMSの入れ替えで安定した環境を構築するのは多少困難が予想される。
そこでSMSの発信確認ができないのであれば、せめてSMSの送信量を規制したり状況確認を行うことができないものかと探したところ以下のアプリが該当するようだ。
Credit Alarm $1.67
http://www.cyrket.com/p/android/com.cellcrowd.creditalarm/
Credit Alarmは通信料金が超過してしまわないように、設定した値になると通話やSMS利用を制限してくれるアプリ。これを設定しておけばウイルスにSMSや電話を勝手に発信されても一定量で抑えることが期待できる。
Data Tracker 無料
http://www.cyrket.com/p/android/com.fvd.datatracker/
Data Trackerは通話及びSMS送信量のチェックを可能にするアプリ。テザリングの通信等は対象外のようだが、これで記憶にない通話やSMS送受信データが著しく増加していたりする場合にはウイルス感染などを疑うことが可能になる。
2)通話発信を規制する
古くから感染したウイルスが国際電話や有料課金電話番号に勝手に発信するという事例がある。Android端末も多くが3G携帯電話として利用されているので、遠からずこうしたウイルスが出てくることは想像に難くない。そこで、電話発信をする場合必ずユーザの発信確認を必要とするソフトをインストールしておくことで対策とする。
Call Confirm 無料
http://www.cyrket.com/p/android/net.nanabit.callconfirm/
Call Confirmは電話発信する際に必ず「本当に発信しますか?」という確認ダイアログを出して確認ボタンを押すことで初めて発信が可能になるというアプリ。うっかり操作の防止のために導入したのだが、アプリによっては稀に操作中に自動発信してしまうものがあり、そういう挙動を防ぐのにも重宝している。これをインストールすることで勝手な国際電話発信等の防止を期待できる。日本語対応。
3)アプリの勝手なデータ送信を規制する
こちらは先日個人情報漏えい関係で記事にしたので、そちらを参照。
Androidでの個人情報漏えい対策
http://blog.isnext.net/issy/archives/339
おそらくまだできることはあると思われるが、それはまた思いついた時に追記したい。
先日調べた時にも思ったがAndroidアプリの市場では、端末から外部へ情報が出ていく方向への対策が非常に不足しており、PCとほぼかわらないOSであるにも関わらず、ビジネスとしてセキュリティに関して取り組んでいる開発者が多くないように感じる。アンチウイルスソフトの開発企業ですらウイルスそのものの対策と紛失対策が主たるターゲットであり、パーソナルファイアウォールやコンテンツフィルタ等の開発はまだされていないように見える。今回のウイルスの発見でAndroidにもPCと同様の本格的なセキュリティ対策が望まれてくると思うので、セキュリティベンダにはぜひ期待をしたい。
Androidのユーザ側で短期的に自衛できる手段としては、UTMを積極的に導入しUTM配下のネットワーク経由でアクセスするか、3G接続時もUTMにVPN接続した上でネットワーク利用するなどの方法が考えられる。バッテリー等の問題もあるので最適な解決方法とは言えないが、端末に余計なソフトをゴテゴテ入れなくても比較的安全に利用する手段のひとつとして検討には値すると思われる。個人でも導入可能な無償UTMのリストは以下。
無償利用可能なUTM(Security Gateway)製品リスト
http://blog.isnext.net/issy/archives/218
security, UTM
Loading...
■rsyncを利用したデータ同期
シェルアカウント無しでサーバのコンテンツを同期更新するための手段の一つ。サーバ側はchrootで運用でき任意のディレクトリをトラバースされることもなくftpなどでアカウント発行して運用を行うよりも安心。rsyncはssh経由で暗号化も可能だが、ここでは割愛。
1)サーバ側の設定
rsyncをデーモンとして起動するための設定ファイルを作成する。
[code]# vi /etc/rsyncd.conf
uid = root
gid = wheel
use chroot = yes
max connections = 4
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
dont compress = *.gz *.tgz *.zip *.pdf *.sit *.sitx *.lzh *.bz2 *.jpg *.gif *.png
[hostdata01]
comment = hostdata 01
hosts allow = xxx.xxx.xxx.xxx/32
hosts deny = *
path = /var/www/host01/
auth users = user01
secrets file = /etc/rsyncd.secrets
read only = no
[hostdata02]
comment = hostdata 02
hosts allow = xxx.xxx.xxx.xxx/32
hosts deny = *
path = /var/www/host02/
auth users = user02
secrets file = /etc/rsyncd.secrets
read only = no
[/code]
認証のためのパスワードファイルを作成する。
[code]# vi /etc/rsyncd.secrets
user01:password01
user02:password02[/code]
パーミッションを変更する
[code]# chmod 0600 /etc/rsyncd.secrets[/code]
デーモンモードで起動する(できるだけportは変更しておく)
[code]# rsync –daemon –config=/etc/rsyncd.conf –port=10873 [/code]
iptablesの設定を変更する
[code]# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 10873 -j ACCEPT[/code]
iptablesを再起動する
[code]# service iptables restart[/code]
2)クライアント側の設定
[code]# rsync –port=10873 -avz ./hostcontens/ rsync://user01@serveraddress/hostdata01/[/code]
これでhostcontents以下の内容がサーバの/var/www/host02/に同期される。
差分更新になるので一度目は時間がかかるが2回目以降は短時間で完了する。
centos, rsync
Loading...
■温度センサーでPCケース内温度を確認する
lm_sensorsでの計測がうまくいかなかったので、低コストな温度センサーを付けてPCケース内の温度を確認できるようにしてみる。できればwebで確認できるようにとかしてみたかったが、ネットワークアクセス可能な温度センサーは例えば「おんどとりweb TR-71W」などがあり、グラフ化なども組み込まれているので便利なのだが、3.7万円程度と比較的高価なのでちょっと手が出ない。
おんどとりweb TR-71W
http://www.tandd.co.jp/product/dataloggers/tr7w/
そこでケース内もしくはCPU付近の温度が目視でもわかればある程度対処も可能になるだろうということで、とりあえず現在温度が確認できるよう低価格の温度センサーを配置することにした。購入したのは以下の製品。
DE-20W 低消費電力版 10秒更新 500円
http://akizukidenshi.com/catalog/g/gM-01263/
DE-20W 高速更新版 1.5秒更新 500円
http://akizukidenshi.com/catalog/g/gM-01745/
センサー部をケース天板やCPUクーラーに貼り付けることで周辺温度を測定する。履歴などとれないが、精度も求めないし安いのでOKということに。
Windows環境ではUSB経由でデータ収集できるものや、専用のアプリなども用意されているのでいろいろ選択肢は広い。このヘンちょっとうらやましいが、測定のためにWindowsマシンを立ち上げておくのもちょっとなぁと思ったので、当面はこれで様子をみることとする。
tips
Loading...
■Androidで個人情報漏えい対策(DroidWall)
BlackHatでのLookout社の発表について、まぁそういうこともあるだろうとは思っていたものの、実際のところインストール時に「ユーザが許諾を与えているから」というのが免罪符になってしまうのもどうかと思うので(ソースが公開されていてチェックするのがAndroidプログラマであるなら適切な判断もできるかもしれないが、一般ユーザに適切な判断を求めるのは難しい)、せめてもの自衛用にPCにあるようなPersonal Firewallがないかと調べてみた。
アンチウイルスソフトと異なり、この分野はまだ競争があまり無いようで、SMSや受話を選択受信する主にinbound方向のメッセージ向け「Firewall」はいくつかあるものの、送信側のコンテンツフィリタリングや、アプリケーションの外部との通信自体を制御するPersonal Firewallはほとんどなく、ひとつしか見つけられなかった。それが以下。
Droidwall
http://www.cyrket.com/p/android/com.googlecode.droidwall/
このアプリケーションは要rootなのが微妙なところだが、インストールするとその端末にインストールされたアプリケーションを一覧にし、それぞれが3G/WiFi接続時にネットワーク接続を可能にするか選択することができるようになる。残念ながらport単位とか接続先単位の制御ではなく、アプリケーション単位にはなるものの、wallpaper系のアプリが勝手に通信することは防いでくれそうだ。
当面の間、このアプリケーションが利用可能な端末では、思わぬアプリの意図しない通信を制限する手段になってくれると思われる。ただし、Googleはアプリの海賊版対策としてネットワークを利用した認証を進める方向を打ち出しているため、早晩Droidwallの現在の仕様では使えなくなるアプリが出てくる可能性があり、portや通信先を選択可能な機能アップが求められてくる。
今回の発表では「不正な通信」かどうかは現時点で不明となっているようだが、いつ同様の事件が発生してもおかしくはないので、このようなPersonal Firewall系アプリによる対策手段は求められてくると思う。WindowsのZoneAlarmやMacOSXのLittle Snitchのように、通信時にアラームをあげてくれるタイプの製品が登場することを期待したい。
android, firewall, security
Loading...
■Android専用アプリで設定可能な無償UTM GB-Ware
たまたま見つけたのでメモ。無償利用は2Userまでというところが微妙だけど、Home利用なら十分かもしれない。またAndroid専用アプリが用意されているのは珍しいということで紹介。いずれ試してみたい。GB-Wareは主にアプライアンスで販売されているUTM。AstaroやEndianと同類。
GB-Ware(2Userまで無償)
http://www.gta.com/firewalls/gbware2user/
GB-Auth(GB-Ware用Androidアプリ)
http://www.cyrket.com/p/android/com.gta.android.gbauth/
以前調べた無償利用可能UTMの一覧にも追記。
http://blog.isnext.net/issy/archives/218
android, gb-ware, UTM
Loading...
■公開鍵認証方式でsshを利用する
sshdは攻撃されやすいので、できるだけ標準状態からport及び設定を見直すことを推奨。ここではパスワードを使わず公開鍵でsshを利用する。ここではCentOS5サーバの初期状態から設定追加する状況を想定した手順を書いておく。
1)自マシンで鍵を作成する(MacOSXをクライアントとする)
[code]$ ssh-keygen -t rsa -C “myaddress@example.com”[/code]
パスワード入力時にエンターを押すことでパスワード不要の鍵が作成可能
作成が完了すると以下に必要ファイルが作成される
~/.ssh/id_rsa(秘密鍵)
~/.ssh/id_rsa.pub(公開鍵)
上記はRSA鍵の場合。DSA鍵を作成する時は以下。
DSAではid_dsa,id_dsa.pubのファイルが作成される。
[code]$ ssh-keygen -t dsa -C “myaddress@example.com”[/code]
自アドレスを入力するのは後からキーの持ち主を判別するため。
実際に入力するテキストはなんでもOK。
2)公開鍵をサーバに送信する
リモートサーバにid_rsa.pubを送っておく
[code]$ scp ~/.ssh/id_rsa.pub root@xxx.xxx.xxx.xxx:/tmp[/code]
3)rootでサーバにログインしてsshdの設定を変更する
[code]# vi /etc/ssh/sshd_config[/code]
以下の3行を修正
port 10022
PermitEmptyPasswords no
PasswordAuthentication no
4)ssh用アカウント「remoteuser」を作成して公開鍵を登録する
[code] # adduser remoteuser
# passwd remoteuser ←パスワード設定する
# su remoteuser ←ユーザを変更する
$ cd ~
$ mkdir .ssh
$ cat /tmp/id_rsa.pub > .ssh/authorized_keys
$ chmod 0600 .ssh/authorized_keys
$ chmod 0700 .ssh
$ exit[/code]
5)iptablesを修正してsshdを再起動する
[code]# vi /etc/sysconfig/iptables[/code]
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 10022 -j ACCEPT 行追加
[code] # service iptables restart
# service sshd restart[/code]
6)クライアントからsshでアクセスして確認
[code]$ ssh -p 10022 remoteuser@xxx.xxx.xxx.xxx[/code]
うまくいかない時は -vを付けて確認
[code]$ ssh -v -p 10022 remoteuser@xxx.xxx.xxx.xxx[/code]
CentOS5では以下の行はコメントアウトのままで問題ないので外さなくてOK。
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
centos, security, ssh
Loading...