« 2008年11月 | メイン | 2009年01月 »

2008年12月22日

macbookのメンテナンス

昔はさっくさく動いていたような気がするのに,
最近やたら起動は遅いし動作も重いし…って感じだった。
で,macってメンテナンスどうやんの?って思って調べたのでメモ。

①アクセス権の修復
まれににエラーなどが原因で、アクセス権に不適切な変更が加わることがあるらしい。
ディスクユーティリティ>FirstAidタブ>ディスクのアクセス権を検証
検証の結果、「アクセス権が一致しません!(>_<)」って出たら
ディスクのアクセス権を修復
を押して修復してあげる。

②ディスクの修復
アクセス権と同じように、
ディスクユーティリティ>FirstAidタブ>ディスクを検証
で検証する。問題があったら
ディスクを修復
のボタンを押してやればいいけど、私は押せない状態。
なんで?と思ったら、「ディスクの修復」は別起動ディスクからしかできないんだって。
単一起動ディスクで使用している場合は、インストールディスクからやらないと駄目みたい。

で、ガッカリしてたところに別な方法を発見。

③シングルユーザーモードでfsck
command + s キーを押しながら再起動するとシングルユーザーモードで起動。
黒い画面で落ち着いたら
fsck -fy     # -fy は強制的にyesの意味
と入力し、enter。終了したら、
reboot
と入力し、return。すると、再起動されて普通の画面に戻る。


何か感覚的にだけど軽くなった気はするー!

2008年12月16日

リンク先からその要約を取って来れるHTML::ExtractContent

perl-mongers.orgさんのエントリを読んで思わすブクマ。
PerlモジュールHTML::ExtractContent が凄い!
HTMLの内容を見てコンテンツの本文らしき部分を抜き出せるモジュールらしい。
私もこんなの待ってましたよ!モジュール様々ですマジで。
Rubyモジュールもあるみたい。っていうかRubyの方が先みたい。

コードも短くてさっぱりしてるし,ほんと凄い。作者凄い。
これ使えば,URL先の文章も判断できるからPOPFileの精度も安定するんじゃないですかね!
ていうか,POPFileのソースきちんといじれんのかな笑

2008年12月15日

[Linux] ログアウト後もプログラムを実行し続けるコマンド

ログアウトしたら自動的にプログラムが止まって焦った。。。笑
ちゃんとログアウト後も実行し続けてくれるコマンドが用意されてるんですね。

nohup perl ****.pl &  # &はbackground実行を表す

POPFile2つと fetchmail を nohup 実行してやることで,
自動的にぐるぐる回って持って来てくれるようになりました。

2008年12月14日

[Linux] カレントディレクトリ以下の,ファイルのアクセス権や所有者を一括変更


-R で階層以下全部って意味なんですかね?
chmod -R ug+rwx フォルダ名   #パーミッション変更
chown -R 新所有者 フォルダ名  #所有者変更

2008年12月13日

BumpTop

3Dデスクトップだって。これ凄いなー。
机の上がコンセプトだって。
BumpTop - http://bumptop.com/

操作面白そうだけど、でも逆に使いにくそうw
こんなん入れたら現実と一緒で机の上で失くしものが多発するw

でも今度ちょっと試しに入れて遊んでみよっかな。

…と、思ったらmac版はまだのようでした。Windowsだけ?

2008年12月12日

POPFile + Fetchmail + Procmail

前回のエントリーで, Fetchmail + Procmail の連携は付いたので,今度はPOPFileを更に連携させる。
イメージ的には以下な感じ。
 外 --- メールサーバ --- POPFile --- Fetchmail --- Procmail --- メーラー

まずはPOPFileを起動しておく。
で,.fetchmailrcをちょっと変更。
poll 127.0.0.1
port ****
user "サーバのIP:アカウント名" 
password "****" 
で,あとはメーラーの設定をするなどして POPFile 経由でメールを取ればOK。
2008年12月09日

[Linux] CentOSに fetchmail + procmail

大抵のLinuxには Fetchmail と Procmail がデフォルトでインストールされているということで
コマンドを打って,あることを確認。
 $which fetchmail ⇒ usr/bin/fetchmail となればインストール済み
 $which procmail  ⇒ usr/bin/procmail 上に同じ

▼Fetchmail
fetchmail は外部サーバから定期的にメールを取って来てくれるソフト。
fetchmail の設定はユーザ単位で行うため,
外部メールを取得したいアカウント(ユーザ)のホームディレクトリに 設定ファイル「.fetchmailrc」を作成する。
中身は,紹介マニア!さんとかを参考に書く。で,パーミッションを設定。(PASSを生で書くからね)
 $vi .fetchmailrc       # .fetchmailrcを作成
 $chmod 600 .fetchmailrc  # パーミッションを設定
 $fetchmail          # 起動

で,メールを送信すると指定した時間ごとにfetchmeilが取りにいって来てくれるので,
  home/ユーザ名/Maildir/new
に新しいメールが届いてるはずです。

で,それを今度Procmailで転送するための設定をすると。


▼Procmail
Procmail はメールを特定のルールによりフィルタリングや振り分けを行ってくれるソフト。
こちらも fetchmail 同様,設定ファイル「.procmailrc」をホームに作成する。
中身は,パソコンおやじさんとかを参考に。詳しい書き方はProcmail の紹介とレシピの書き方を見て。
 $vi .fetchmailrc       # .fetchmailrcを作成

あれ?起動は?と思ったけど,.fetchmailrcの方に,以下を追加記入することで
procmail は fetch が動けば自動的に動くらしい。偉い。
mda "/usr/bin/procmail"

これで両方動くはず。
あとは確認して,うまく行かなかったらログを見ながら何とかする。
次はPOPFileとの連携ですねー。
2008年12月05日

[POPFile]

最終的に以下のように連携させたいと思っていたのですが......というお話。
   (macbook)           (Linux)
メーラー→POPFile[1] ⇒⇒⇒ POPFile[2] →メールサーバ

今週は,その前段階として
・メーラー→POPFile[1] ⇒⇒⇒ メールサーバ
・メーラー ⇒⇒⇒ POPFile[2]→メールサーバ

を繋いでみて個別に機能させてみました。最終的にはこれらはOK。
サーバ構築やらネットワーク構築やら初めてのことばっかりなので,
基本的なことにつまずきながら,ひとつひとつ調べながらやっています。


その後,POPFile同士の連携を試してみましたが,
プロキシの役割的にPOPFileからPOPFileへ渡すのはできない模様。

というわけで,Fetchmail + Procmail を使ってやっていくことに。
2008年12月01日

[POPFile] POPFileをサーバ側で使うまとめ

メールサーバ:CentOS5
クライアントマシン:MacOSX
メーラー:Mail (Mac付属)


メールサーバ側にPOPFile(クロスプラットフォーム版ver1.0.1)を入れて,
  メーラー⇒POPFlile⇒メールサーバ
として使う為の備忘録。


POPFile用に新たにメールサーバに入れたモジュール。公式で要確認
・DBI
・DBD::SQLite2 (ver.0.33)
・Digest::MD5 (ver.2.38)
・HTML::Tagset (ver.3.20)
・HTML::Template
・Text::Kakasi (+Kakasi)
・Encode


POPFile公式からPOPFile公式からcrossplatform版をDL。
$cd ダウンロードした場所
$unzip POPFile-1.0.1.zip
$chmod ug+x popfile.pl
$perl popfile.pl --set pop3_port=11000 --set bayes_dbconnect=dbi::SQLite2:dbname=dbname
  ※デフォルトのままだとpop3ポートがぶつかって起動できないので適当に変えてやる。(コマンドライン)
  ※DBD::SQLite2を使う場合は,dbi::SQLite2:dbname=dbnameに直してあげなきゃ駄目

無事に起動できたら,ブラウザでhttp://127.0.0.1:8080/にアクセス。
configrationタブで,languageをNihongoに直し,Apply。
POPfileを停止する。(ターミナルで Ctr+C でもOK)

一度起動したことで,設定ファイル popfile.cfg が出来ているはず。
popfile.cfgをエディタで開けて
 pop3_port 11000
 bayes_dbconnect dbi::SQLite2:dbname=dbname
 html_local 0 (リモートからのHTTP接続を許可=ステルスモード)
 pop3_local 0 (リモートからのPOP#接続を許可=ステルスモード)
に書き換える。(これで次から起動は $perl popfile.pl でOK。)
(html_local と pop3_local は起動後にセキュリティタブでステルスモードONでも同じこと)

起動する。
$perl popfile.pl

セキュリティタブに行き,
ユーザーインターフェースにアクセスするためのパスワードを設定。
他のクライアントマシンから http://メールサーバのIPアドレス:8080/ にアクセスしてUIが表示されるか確かめる。

バケツを unclassified の他に2個作成。(ex. spam , notspam)


次にメーラー(Mail)の設定
既にアカウント作成済みが前提。

Mail>環境設定>アカウント
「アカウント情報」タブで例えば
 受信用サーバ:(メールサーバのIPアドレス)
 ユーザ名:(元々受信用サーバに書いてあったもの:元々書いてあったユーザ名)
とする。次に「詳細」タブにて
 ポート:(先ほど設定したポート番号。この例だと11000)
としてやり終了。

あとはメールを受信して,POPFileを経由しているかを確認する。