2010年10月31日日曜日

rsshでscp/sftp専用のアカウントを作る

rsshってソフトで実現できるらしい
基本的にはyum install rsshでインストール→/etc/rssh.confを編集でOKらしい
で、sftp,scp専用には出来たけどchroot環境を構築するためのスクリプトmkchroot.shが見つからなかった
yum whatprovides */mkchroot.sh
とかやっても駄目

とりあえずchrootは今回はあきらめた
他にもこんな方法があるらしい→http://d.hatena.ne.jp/hidde/20091215/1260872041
参考リンク
http://d.hatena.ne.jp/h2onda/?of=5
http://www.sdri.co.jp/rssh/faq.html

簡単にRAIDが組めるHDDボックス

Drobo
というらしい

http://journal.mycom.co.jp/articles/2010/09/13/drobo/index.html

2010年10月24日日曜日

プライベートIPアドレスの覚え方

2進数で考えると覚えやすい

まずはクラスの覚え方
クラスA(最初が0で始まるのがAクラス)
10進数: 0.0.0.0-127.255.255.255
2進数: 00000000.00000000.00000000.00000000-01111111.11111111.11111111.11111111 
クラスB(最初が10ならクラスB)
10進数: 128.0.0.0-191.255.255.255
2進数: 10000000.00000000.00000000.00000000-10111111.11111111.11111111.11111111 

クラスC(最初が110ならクラスC)
10進数: 192.0.0.0-223.255.255.255
2進数: 11000000.00000000.00000000.00000000-11011111.11111111.11111111.11111111 

でプライベートIP
クラスA
10進数: 10.0.0.0-10.255.255.255/8
2進数: 00001010.00000000.00000000.00000000-00001010.11111111.11111111.11111111 
subnet: 11111111.00000000.00000000.00000000-11111111.00000000.00000000.00000000 

クラスB
10進数: 172.16.0.0-172.31.255.255/12
2進数: 10101100.00010000.00000000.00000000-10101100.00011111.11111111.11111111 
subnet: 11111111.11110000.00000000.00000000-11111111.11110000.00000000.00000000 

クラスC
10進数: 192.168.0.0-192.168.255.255/16
2進数: 11000000.10101000.00000000.00000000-11000000.10101000.11111111.11111111
subnet: 11111111.11111111.00000000.00000000-11111111.11111111.00000000.00000000

2010年10月16日土曜日

perlで一時ファイルを使用する

#!/usr/bin/perl
use strict;
use warnings;

use File::Temp;
my $temp = File::Temp->new(DIR=>'/tmp',SUFFIX=>'.tmp');
print $temp->filename;
print $temp "hoge";
コンストラクタにDIRを指定すると一時ファイルを作るディレクトリを指定
SUFFIXは一時ファイルの末尾につける文字
UNLINK=>0を指定するとプロうグラムが終了しても一時ファイルを削除しない
$temp->filenameでファイルネームを取得できる
ちなみに$tempはすでにファイルハンドルなのですぐに書き込みができる

※ちなみにnewdirというディレクトリ版のコンストラクタもあるこちらはCLEANUPで自動削除の有無を切り替えできる

参考リンク
http://perldoc.perl.org/File/Temp.html
http://isoya.at.webry.info/200812/article_3.html
http://haginov.blog35.fc2.com/blog-entry-141.html


あとopen関数の第3引数にundefを指定してもできるみたい
http://d.hatena.ne.jp/dayflower/20061225/1167041087

perlで読み書き両用でパイプをオープンしたい

イメージ的にはこんな感じ
例えば$dataの中にS-JISコードのデータがあってnkfでutf-8に直してまた$dataに戻したいと思ったところ
open (FH,"|nkf -w8");
print FH $data;
とすればnkfに渡るが出力がキャッチできない
open (FH,"|nkf -w8|");
とかは出来ない
これについてperlfaq8に載っていた
How can I open a pipe both to and from a command?
の部分

よく分からないがIPC::Open2を使うと良いらしい

perlでルーターからWAN側のIPアドレスを取得してみる

このときに対象にしたルーターはNP-BBRM
#!/usr/bin/perl
use strict;
use warnings;

use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
my $req = HTTP::Request->new(GET => 'http://192.168.0.1/Status.htm');
$req->authorization_basic('admin','hoge');
my $response = $ua->request($req);

if ($response->is_success){
 my $data = $response->content;
 $data=~s/<.*?>//g;
 $data=~s/\ //g;
 $data=~/IP.+?(\d{1,3}[\.\d]+)\s/;
 print $1,"\n";
}
else {
 die $response->status_line;
}

2010年10月11日月曜日

バイオハザード4の参考リンク集

攻略チャート(謎解きの解答とかもあるので手っ取り早く進めたい人向け)
http://gamekouryaku.com/bio4/

攻略チャート(マップ付き)
http://www10.plala.or.jp/namikipatty/bio4gc/iegamebio4.html

武器
http://www10.plala.or.jp/namikipatty/bio4gc/bio4ps2/psbuki.html

お宝
http://www.xn--eckm0bye2ad62a.com/item3.html

Wikipedia(クリーチャー一覧等)
http://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%82%AA%E3%83%8F%E3%82%B6%E3%83%BC%E3%83%894

改造コード
http://www.unkar.org/read/game12.2ch.net/gameurawaza/1178132223
http://www6.ocn.ne.jp/~ps2/c/bio.html


使用した改造コード ※ちなみに試したのはベスト版
マスターコード
EC878560 1456E79B 
敵一撃死
1C8BB504 3845089C
お金MAX
1CD56854 14BE598C 
HP減らない
1C8BB33C 1496D7C8 
制限時間操作(L2+〇で最大,L2+Xでタイムアウト)
0CD69F8C 1456E625
4CD84450 1456B00C
0CD69F8C 1456E525
4CD84450 1456E7A5

※ちなみにU-3などの首折攻撃で死ぬ場合があります(レバガチャすれば大丈夫)

あと知っておくと良いパズル解説は
双子の墓→3⇒4⇒3⇒3⇒3⇒4⇒4
教会のライト→赤2回、緑3回、青1回操作

THE MERCENARIESの星5つの条件は6万点以上

ddclientでワーニングが出る問題

ddclientで
WARNING: unable to determine IP address
というエラーが出ていた

use=web, if=eth0

use=web
に直したらOK


参考リンク
http://royalwin.blog.so-net.ne.jp/archive/c2300401272-1
http://ubuntuforums.org/showthread.php?t=635409

Debianのbittorrentパッケージをインストール

以下マニュアル

名前
bittorrentダウンローダー - 分散ネットワークを使用したダウンロード

概要
       btdownloadheadless [ option ... ] URL
       btdownloadheadless [ option ... ] filename
       btdownloadcurses [ option ... ] URL
       btdownloadcurses [ option ... ] filename
       btdownloadgui [ option ... ] URL
       btdownloadgui [ option ... ] filename

説明
このマニュアルのページは、簡単に
btdownloadheadless,
btdownloadcurses,
btdownloadgui
オリジナルプログラムがマニュアルを持たないので、
このマニュアルはDebianディストリビューション用に書かれました。
上記のプログラムはP2Pプロトコルbittorrentを使用したファイルのダウンロードを行うものです。
上記すべてのプログラムは全て同じオプションが使えます。


で、この3コマンドの違いは何かと言うと端末の制御の仕方が違うだけ
btdownloadheadless ・・・端末に延々と出力し続ける(tail -f見たいな感じ)
btdownloadcurses ・・・Cursesを使った端末制御見やすい CUIなら通常はこれ
btdownloadgui ・・・GUIで使うならこれXが必要

※ちなみにDebianの場合btdownloadcurses.bittorrentとbtdownloadcursesは同じ(シンボリックリンク)

apt-fileについて

コマンドからパッケージ名を検索するときに便利なコマンド

以下manの(適当な)翻訳
書式
apt-file [ options ] [ action ] [ pattern ]

apt-fileコマンドはAPTパッケージシステム中のファイルを探すことが出来ます。
action には以下の物を使用します

update
パッケージの情報からファイルのリストを再同期します。
パッケージリストの情報はsources.listから持ってきます。

search
ファイルがどのパッケージに含まれるかを検索します。
patternを含むファイルを持っているすべてのパッケージが出力されます。

find
searchのエイリアスです。

list
patternにマッチしているパッケージの中身を出力します。
dpkg -L と違ってインストールされていなくても良いという違いはありますが、
挙動はdpkg -L に非常に近いです。

show
listのエイリアスです。

purge
キャッシュディレクトリにある全てのContents-.gzファイルを削除します。
あと
apt-file list pattern
でpatternパッケージに含まれているファイル一覧を出力することができますが、
patternを含む全パッケージが出力されてしまうため、厳密にこのパッケージの
中身が見たいという場合はdpkg -L の方が良いかもしれません。
あとオプションに-xを指定すると正規表現が使えます

例)
apt-file find nslookup | grep bin # nslookupコマンドを含むパッケージ名を検索
apt-file -x list ^bittorrent$ #bittorrentパッケージ中のファイルを出力

参考リンク
http://d.hatena.ne.jp/rx7/20080830/p1
http://d.hatena.ne.jp/kiririmode/20081119/p1
http://d.hatena.ne.jp/rubikitch/20080406/1207420372

2010年10月10日日曜日

bzrで知ってると便利なコマンド

bzr uncommit
これでチェックインの取り消しが出来る

色付き差分表示
bzr cdiff

履歴付きmv(ただ管理下のファイルをmvしたときは対象フォルダの履歴がそこで終わってしまうため)
bzr mv

前に書いた記事

参考リンク
http://bbs2ch.sourceforge.jp/?page=%B3%AB%C8%AF%BC%D4%B8%FE%A4%B1%BE%F0%CA%F3

2010年10月3日日曜日

crontabに書いてあるdomとdowは何の略?

dow・・・Day Of Week
dom・・・Day of Month

2010年10月2日土曜日

pingで生存確認してからsmbmountする

今まではsmbmountを試して駄目だったら後続の処理を止めてたけど
pingしてからsmbmountすればもっと早くできると思う
こんな感じ
#!/bin/bash
TargetIP=192.168.0.2

ping -c 1 -w 1 $TargetIP > /dev/null || exit 0
mount //$TargetIP/hoge /var/windows/ -o sec=none > /dev/null 2>&1
if [ $? -eq 0 ]
then
        rsync -a --delete /var/windows/ /var/samba/foo/
        umount /var/windows/ || exit 1
else
        exit 0
fi
exit