|
|
| |||||||
| |||||||||
巻き戻し中。
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2008-07-15(火)
(☆∀☆) [長年日記]
2008-07-14(月)
ばぐぅ [長年日記]
_
ツール
どうやら1分間の閾値と1時間の閾値を超過すると、両方でfirewallを設定してしまう。
うーん、ファイルからgrepして重複を外してるはずなんだが。。。
取り敢えずcronから外して動作検証だな。
(´-ω-`)
_ お誘い
急遽明日の午後から某学会に出席のお誘い。
確かに専門ではあるのだが、狭い業界なので首を突っ込むといろんな役が回ってきそうで怖い。
仕事が研究開発に没頭なら業務の一部になるんだけど、おいらのような何でも屋にとってはちょっとね。。。
研究/開発/製品化/営業/工事に保守と何でもござれだ。
おまけにシステム管理者と来た。
後は経理と経営だけだよ。
2008-07-13(日)
買収 [長年日記]
_
BOINC/WCG
そろそろ国内50位が見えてきた。
鯖更改&作業用PC流用完了で、コンスタントに4,000ポイントぐらいを出せそうだ。
上位は既に1年以上前からやっているので、相当のことがなければ追いつかないな。
20位以内に入るには、この勢いでも1年ぐらい掛かるwww
2008-07-12(土)
ふぅ・・・ [長年日記]
_
ssh攻撃
ツール改良が一応まとまった。
grep -F/fgrepは、単純に使うとちょっと困る。
一行で1分間/1時間のカウントの数字も入っているので、行単位の比較だと含まれちゃう。
ちょっと無駄だが2段階で比較。
反転の-vはfgrep、ファイル同士だが普通の比較はgrepでどうだろうか。。。
いやいや、それにしても1行が長すぎだな。
「\」で折り返すこと多数。。。
これだけコメント書いて、ファイル吐き出ししてれば動作は分かりやすいと思う。
誰かperl辺りに移植してサクッと動くようにしてけれ。
以下source
【相変わらず/bin/shです(^^ゞ】
#!/bin/sh
#
# ssh_chk.sh By H.Uekusa 2007
# Ver 2.01 2008.7.13
# Automated defending tool for ssh attack.
# This command must be set on the cron with every minutes
###############################################################################
#
# You should set
# $SHPATH [$TMP]/total_min_ipfw_add_cmd.txt
# $SHPATH [$TMP]/total_hour_ipfw_add_cmd.txt
# in /etc/rc.local
#
###############################################################################
###############################################################################
# Set variable for location of commands, Path of files...
###############################################################################
CATPATH="/bin/cat"
AWKPATH="/usr/bin/awk"
GREPPATH="nice -n 10 /usr/bin/grep --mmap "
DIFFPATH="/usr/bin/diff"
SORTPATH="/usr/bin/sort"
MAILPATH="/usr/bin/mail"
DATEPATH="/bin/date"
SHPATH="/bin/sh"
LOOKUP="/usr/sbin/nslookup"
AUTHLOG="/var/log/auth.log"
TMP="/var/tmp"
LOCKFILE="ssh_chk.lock"
PREV_MIN_RECORD="prev_min"
# Should be BSD-Firewall
IPFWPATH="/sbin/ipfw"
# Select to check "attempt"
CHK_IP_RESOLV="yes"
CHK_IP_MAP="yes"
# Set threshold
OK_PER_MIN="4"
OK_PER_HOUR="10"
# Set IPFW parameters
IPFW_NUM="999"
PORT="22"
IF_NAME="fxp0"
# Set valid e-mail!
MAILTO="hoge@hoge"
###############################################################################
#
#check lock file
#
if [ -f "$TMP/$LOCKFILE" ];then
echo "$0 is executing already"
echo "Please wait for a while or remove lock file $LOCKFILE!"
exit
fi
#
#put a lock file
#
touch $TMP/$LOCKFILE
###############################################################################
#
#Get date values
#
###############################################################################
NOW=`$DATEPATH +%Y%m%d%H%M`
PREV=`cat $TMP/$PREV_MIN_RECORD`
# PREV=`$DATEPATH -v -1M +%Y%m%d%H%M`
NOW_HOUR=`$DATEPATH +%Y%m%d%H`
PREV_HOUR=`$DATEPATH -v -1H +%Y%m%d%H`
touch $TMP/ipfw_added.txt
$SORTPATH -u $TMP/ipfw_added.txt >$TMP/ipfw_added.txt.sort
cp -p $TMP/ipfw_added.txt.sort $TMP/ipfw_added.txt
rm -f $TMP/ipfw_added.txt.sort
###############################################################################
#
#Get failed lines from auth log
#
###############################################################################
# Find a tring for invalid user for FreeBSD 6.x and later
$GREPPATH Invalid $AUTHLOG > $TMP/"$NOW"_fail.txt
# It's old version of above for FreeBSD 4.x/5.x
# $GREPPATH Illegal $AUTHLOG > $TMP/"$NOW"_fail.txt
#
#Touch the previous file for safe
#
touch $TMP/"$PREV"_fail.txt
echo "$NOW" > $TMP/$PREV_MIN_RECORD
###############################################################################
#
#Compare with before one minutes
#
###############################################################################
$DIFFPATH $TMP/"$NOW"_fail.txt $TMP/"$PREV"_fail.txt |$GREPPATH '^<' > $TMP/diff_raw.txt
NONE_STATUS=`$GREPPATH -c ssh $TMP/diff_raw.txt`
###############################################################################
#
#Detect a probing of ssh from attacker (Selective)
#As same as above procedure for normal check
#
###############################################################################
if [ "$CHK_IP_RESOLV" = "yes" ];then
$GREPPATH "POSSIBLE BREAK-IN ATTEMPT" $AUTHLOG |$GREPPATH "getaddrinfo"\
> $TMP/"$NOW"_fail-attack.txt
touch $TMP/"$PREV"_fail-attack.txt
$DIFFPATH $TMP/"$NOW"_fail-attack.txt $TMP/"$PREV"_fail-attack.txt \
|$GREPPATH '^<' > $TMP/diff_raw-attack.txt
NONE_STATUS_ATTACK=`$GREPPATH -c ssh $TMP/diff_raw-attack.txt`
else
NONE_STATUS_ATTACK="0"
fi
if [ "$CHK_IP_MAP" = "yes" ];then
$GREPPATH "POSSIBLE BREAK-IN ATTEMPT" $AUTHLOG |$GREPPATH "not map back to the address"\
> $TMP/"$NOW"_fail-attack2.txt
touch $TMP/"$PREV"_fail-attack2.txt
$DIFFPATH $TMP/"$NOW"_fail-attack2.txt $TMP/"$PREV"_fail-attack2.txt\
|$GREPPATH '^<' > $TMP/diff_raw-attack2.txt
NONE_STATUS_ATTACK2=`$GREPPATH -c ssh $TMP/diff_raw-attack2.txt`
else
NONE_STATUS_ATTACK2="0"
fi
###############################################################################
#
# if diff is null, skip all process and exit
#
###############################################################################
if [ "$NONE_STATUS" = "0" ];then
if [ "$NONE_STATUS_ATTACK" = "0" ];then
if [ "$NONE_STATUS_ATTACK2" = "0" ];then
touch $TMP/"$NOW_HOUR"-summary-hour_count_list.txt
touch $TMP/count_list.txt
touch $TMP/count_cmd.sh
touch $TMP/min_ipfw_add_cmd.txt
touch $TMP/min_ipfw_add_cmd_prev.txt
touch $TMP/ipfw_added.txt
touch $TMP/hour_ipfw_add_cmd.txt
touch $TMP/hour_ipfw_add_cmd_prev.txt
touch $TMP/"$NOW_HOUR"-hour_count_list.txt
rm -f $TMP/"$PREV_HOUR"*
rm -f $TMP/$LOCKFILE
exit
fi
fi
fi
###############################################################################
#
#Exec for attack suddenly
#
###############################################################################
###############################################################################
# For IP resolv
###############################################################################
if [ "$NONE_STATUS_ATTACK" != "0" ];then
touch $TMP/min_ipfw_add_cmd-attack.txt
cp -p $TMP/min_ipfw_add_cmd-attack.txt $TMP/min_ipfw_add_cmd_prev-attack.txt
$CATPATH $TMP/"$NOW"_fail-attack.txt|$AWKPATH '{print $12}' | $AWKPATH -F"\]" '{print $1}' \
| $AWKPATH -F'\[' '{print $2}' > $TMP/count_list-attack.txt
$SORTPATH -u $TMP/count_list-attack.txt >$TMP/count_list-attack.sort.txt
cp -p $TMP/count_list-attack.sort.txt $TMP/count_list-attack.txt
rm -f $TMP/count_list-attack.sort.txt
$GREPPATH -F -v -f $TMP/ipfw_added.txt $TMP/count_list-attack.txt\
| $AWKPATH -v IPFW_NUM=`echo $IPFW_NUM` -v IF_NAME=`echo $IF_NAME` \
-v PORT=`echo $PORT` -v IPFWPATH=`echo $IPFWPATH` \
'{ print IPFWPATH" add "IPFW_NUM" deny tcp from "$1"/24 to any "PORT" via "IF_NAME}' \
> $TMP/min_ipfw_add_cmd-attack.txt
$DIFFPATH $TMP/min_ipfw_add_cmd_prev-attack.txt $TMP/min_ipfw_add_cmd-attack.txt|$GREPPATH '^>'
if [ "$?" = "0" ]; then
$DATEPATH >> $TMP/defend-log
$DATEPATH >> $TMP/defend-log.time
$SHPATH $TMP/min_ipfw_add_cmd-attack.txt >> $TMP/defend-log
$AWKPATH '{print $7}' $TMP/min_ipfw_add_cmd-attack.txt | $AWKPATH -v LOOKUP=`echo $LOOKUP` -F/ \
'{print LOOKUP" "$1}' > $TMP/defend-name-log-attack.cmd
$CATPATH $TMP/min_ipfw_add_cmd-attack.txt > $TMP/min_mailbody-attack.txt
$SHPATH $TMP/defend-name-log-attack.cmd >> $TMP/min_mailbody-attack.txt
echo "by POSSIBLE BREAK-IN ATTEMPT ip-resolv" >> $TMP/min_mailbody-attack.txt
$MAILPATH -s "SSH attack detected by minutes" $MAILTO < $TMP/min_mailbody-attack.txt
### to keep when reboot ###
$CATPATH $TMP/min_ipfw_add_cmd-attack.txt >> $TMP/total_min_ipfw_add_cmd.txt
### check for double ###
$GREPPATH -F -v -f $TMP/ipfw_added.txt $TMP/count_list-attack.txt >> $TMP/ipfw_added.txt
fi
fi
###############################################################################
# For IP reverse map
###############################################################################
if [ "$NONE_STATUS_ATTACK2" != "0" ];then
touch $TMP/min_ipfw_add_cmd-attack2.txt
cp -p $TMP/min_ipfw_add_cmd-attack2.txt $TMP/min_ipfw_add_cmd_prev-attack2.txt
$CATPATH $TMP/"$NOW"_fail-attack2.txt|$AWKPATH '{print $7}' > $TMP/count_list-attack2.txt
$SORTPATH -u $TMP/count_list-attack2.txt >$TMP/count_list-attack.sort2.txt
cp -p $TMP/count_list-attack.sort2.txt $TMP/count_list-attack2.txt
rm -f $TMP/count_list-attack.sort2.txt
$GREPPATH -F -v -f $TMP/ipfw_added.txt $TMP/count_list-attack2.txt\
| $AWKPATH -v IPFW_NUM=`echo $IPFW_NUM` -v IF_NAME=`echo $IF_NAME` \
-v PORT=`echo $PORT` -v IPFWPATH=`echo $IPFWPATH` \
'{ print IPFWPATH" add "IPFW_NUM" deny tcp from "$1"/24 to any "PORT" via "IF_NAME}' \
> $TMP/min_ipfw_add_cmd-attack2.txt
$DIFFPATH $TMP/min_ipfw_add_cmd_prev-attack2.txt $TMP/min_ipfw_add_cmd-attack2.txt|$GREPPATH '^>'
if [ "$?" = "0" ]; then
$DATEPATH >> $TMP/defend-log
$DATEPATH >> $TMP/defend-log.time
$SHPATH $TMP/min_ipfw_add_cmd-attack2.txt >> $TMP/defend-log
$AWKPATH '{print $7}' $TMP/min_ipfw_add_cmd-attack2.txt \
| $AWKPATH -v LOOKUP=`echo $LOOKUP` -F/ '{print LOOKUP" "$1}' \
> $TMP/defend-name-log-attack2.cmd
$CATPATH $TMP/min_ipfw_add_cmd-attack2.txt > $TMP/min_mailbody-attack2.txt
$SHPATH $TMP/defend-name-log-attack2.cmd >> $TMP/min_mailbody-attack2.txt
echo "by POSSIBLE BREAK-IN ATTEMPT ip-reverse-map" >> $TMP/min_mailbody-attack2.txt
$MAILPATH -s "SSH attack detected by minutes" $MAILTO < $TMP/min_mailbody-attack2.txt
### to keep when reboot ###
$CATPATH $TMP/min_ipfw_add_cmd-attack2.txt >> $TMP/total_min_ipfw_add_cmd.txt
### check for double ###
$GREPPATH -F -v -f $TMP/ipfw_added.txt $TMP/count_list-attack2.txt >> $TMP/ipfw_added.txt
fi
fi
###############################################################################
#
#Count per min
#
###############################################################################
$SORTPATH -u +10 $TMP/diff_raw.txt \
|$AWKPATH -v TMP=`echo $TMP` '{print "echo -n \""$11" \"; grep -c "$11" "TMP"/diff_raw.txt"}' \
> $TMP/count_cmd.sh
$SHPATH $TMP/count_cmd.sh > $TMP/count_list.txt
###############################################################################
#
#Count per hour
#
###############################################################################
$CATPATH $TMP/count_list.txt >>$TMP/"$NOW_HOUR"-hour_count_list.txt
$SORTPATH +1 $TMP/"$NOW_HOUR"-hour_count_list.txt \
|$AWKPATH '{if ( $1 == PREV ) { ADDR = $1; COUNT = COUNT + $2; PREV = ADDR;}\
else { ADDR = $1; print PREV" "COUNT; COUNT = $2 ; PREV = ADDR;} next} END {print $1" "COUNT}'\
>$TMP/"$NOW_HOUR"-summary-hour_count_list.txt
###############################################################################
#
#Process with threthold
#
###############################################################################
touch $TMP/ipfw_added.txt
### minutes ###
touch $TMP/min_ipfw_add_cmd.txt
cp -p $TMP/min_ipfw_add_cmd.txt $TMP/min_ipfw_add_cmd_prev.txt
$CATPATH $TMP/count_list.txt | $AWKPATH '{print $1}' > $TMP/count_list-addr.txt
$GREPPATH -F -v -f $TMP/ipfw_added.txt $TMP/count_list-addr.txt > $TMP/count_list-new.txt
$GREPPATH -f $TMP/count_list-new.txt $TMP/count_list.txt \
| $AWKPATH -v OK_PER_MIN=`echo $OK_PER_MIN` -v IPFW_NUM=`echo $IPFW_NUM` -v IF_NAME=`echo $IF_NAME`\
-v PORT=`echo $PORT` -v IPFWPATH=`echo $IPFWPATH` \
'{ if ( $2 > OK_PER_MIN ) {print IPFWPATH" add "IPFW_NUM" deny tcp from "$1"/24 to any "PORT" via "IF_NAME}}' \
> $TMP/min_ipfw_add_cmd.txt
### to keep when reboot ###
$CATPATH $TMP/min_ipfw_add_cmd.txt >> $TMP/total_min_ipfw_add_cmd.txt
### check for double ###
$GREPPATH -F -v -f $TMP/ipfw_added.txt $TMP/count_list.txt \
| $AWKPATH -v OK_PER_MIN=`echo $OK_PER_MIN` '{ if ( $2 > OK_PER_MIN ) {print $1}}'\
>> $TMP/ipfw_added.txt
### hour ###
touch $TMP/hour_ipfw_add_cmd.txt
cp -p $TMP/hour_ipfw_add_cmd.txt $TMP/hour_ipfw_add_cmd_prev.txt
$CATPATH $TMP/"$NOW_HOUR"-summary-hour_count_list.txt \
| $AWKPATH '{print $1}' > $TMP/"$NOW_HOUR"-summary-hour_count_list-addr.txt
$GREPPATH -F -v -f $TMP/ipfw_added.txt $TMP/"$NOW_HOUR"-summary-hour_count_list-addr.txt \
> $TMP/"$NOW_HOUR"-summary-hour_count_list-new.txt
$GREPPATH -f $TMP/"$NOW_HOUR"-summary-hour_count_list-new.txt $TMP/"$NOW_HOUR"-summary-hour_count_list.txt \
| $AWKPATH -v OK_PER_HOUR=`echo $OK_PER_HOUR` -v IPFW_NUM=`echo $IPFW_NUM` -v IF_NAME=`echo $IF_NAME` \
-v PORT=`echo $PORT` -v IPFWPATH=`echo $IPFWPATH` \
'{ if ( $2 > OK_PER_HOUR ) {print IPFWPATH" add "IPFW_NUM" deny tcp from "$1"/24 to any "PORT" via "IF_NAME}}' \
> $TMP/hour_ipfw_add_cmd.txt
### to keep when reboot ###
$CATPATH $TMP/hour_ipfw_add_cmd.txt >> $TMP/total_hour_ipfw_add_cmd.txt
### check for double ###
$GREPPATH -F -v -f $TMP/ipfw_added.txt $TMP/"$NOW_HOUR"-summary-hour_count_list.txt \
| $AWKPATH -v OK_PER_HOUR=`echo $OK_PER_HOUR` '{ if ( $2 > OK_PER_HOUR ) {print $1}}' \
>> $TMP/ipfw_added.txt
###############################################################################
#
# Execute IPFW
#
###############################################################################
$DIFFPATH $TMP/min_ipfw_add_cmd_prev.txt $TMP/min_ipfw_add_cmd.txt|$GREPPATH '^>'
if [ "$?" = "0" ]; then
$DATEPATH >> $TMP/defend-log
$DATEPATH >> $TMP/defend-log.time
$SHPATH $TMP/min_ipfw_add_cmd.txt >> $TMP/defend-log
$AWKPATH '{print $7}' $TMP/min_ipfw_add_cmd.txt \
| $AWKPATH -v LOOKUP=`echo $LOOKUP` -F/ '{print LOOKUP" "$1}'\
> $TMP/defend-name-log.cmd
$CATPATH $TMP/min_ipfw_add_cmd.txt > $TMP/min_mailbody.txt
$SHPATH $TMP/defend-name-log.cmd >> $TMP/min_mailbody.txt
$MAILPATH -s "SSH attack detected by minutes" $MAILTO < $TMP/min_mailbody.txt
fi
$DIFFPATH $TMP/hour_ipfw_add_cmd_prev.txt $TMP/hour_ipfw_add_cmd.txt|$GREPPATH '^>'
if [ "$?" = "0" ]; then
$DATEPATH >> $TMP/defend-log
$DATEPATH >> $TMP/defend-log.time
$SHPATH $TMP/hour_ipfw_add_cmd.txt >> $TMP/defend-log
$MAILPATH -s "SSH attack detected by hour" $MAILTO < $TMP/hour_ipfw_add_cmd.txt
fi
###############################################################################
#
#Delete previous files
#
###############################################################################
rm -f $TMP/"$PREV_HOUR"*
rm -f $TMP/$LOCKFILE
exit
****************************************************** 237 名前: 古代都市ワクテカ(埼玉県)[sage] 投稿日:2008/07/11(金) 10:15:24.73 ID:fSgBiVlt0 俺等って決して高望みなんてしてないよな? 女共が挙げる男の条件って全部無理じゃん。クリア出来るワケが無い。 俺等が求めてるのは常識の範囲内だぜ? 亭主をゴミのように扱わないとか、貯金を横領しないとか、それを「男のわがまま」 と言いますか? ******************************************************泣ける。。。。・゜・(ノД`)・゜・。
2008-07-11(金)
徹夜作業 [長年日記]
_
予定通り
夕方6時から鯖の入れ替え。
RAIDのデータをコピーしている間に軽く一杯*1と思っていたのだが、戻ってきたらコピー失敗。
バックアップの実験の際に出来た.snapを削除するの忘れてた。
コピー元よりコピー先が盛大に大きなサイズになってる。。。orz
やり直して何だかんだと作業が終わったのは午前1時前。
眠いのぉ。
*1 計算では約2時間。丁度良すぎるwww
_
意外な伏兵
降ろした鯖と予備ボードを使って作業用のPCも組み替え。
おいら号は石が1個から2個に増えるだけだからすんなり動いたが、S君作業端末は厄介この上なし。
チップセット変わるしマザボのBOIS設定も違っていて、HDDは見えてもブート出来ず。
結局HDDアクセス方法の「DOS/Other」の違いで見えるまで小一時間、明け方だ。
当然デバイスががらっと変わるので修復インストールだが、何故かHDDが全てPIOモードで檄遅。
ドライバ組み替えてサービスパックやら何やら結局今は朝の10時。
そろそろくたばるか。。。
ネ、ネムイ‥ゴシゴシ(-_\)ゴシゴシ(/_-)
2008-07-10(木)
微妙? [長年日記]
_ (((( ‾ー‾)))ガクガクガクブルブルブル
ホムセンの買い物ついでに電器屋で部品を探していたら、女子中学生の固まりがいる。
へぇ、電器屋で遊んで行く物あるのかな?と思いながらよく見たら、顔が((;゜Д゜)ガクガクブルブルしてる。
一瞬目がおかしくなったのかと思ったら、マッサージ器コーナーのバイブレーターの上でブルブルしてるのね。
仲間数人と。しかも何となく楽しそう。
はぁ、、、面白すぎて携帯でムービー撮ろうかとオモタよ。
_
grep
結局、苦労してOS入れ替えても変わらず。
同じスペックでFreeBSD6.2のi815マシンは15秒ぐらい。
うーん、気になると言えば他はIntelのチップセットだが、こいつだけはSISだ。
サードパーティーのチップセットは案外ボトルネック多かったりするからなぁ。
昔もVIAのチップセットでP3x2はダメダメで速攻売っぱらった記憶があるわ。
仕方がないのでツールの見直し。
1行に一つのIPアドレス同士の比較だし、全文字シフトして比較の必要なし。
結局、色々調べたらfgrep/grep -Fでおk。
これにしたらどのマシンも1秒以内に処理出来る。
まぁ、当面の問題はなくなったけど釈然としないなぁ。。。
(´-ω-`)
2008-07-09(水)
工工エエエエェェェ(゜Д゜)ェェェエエエエ工工 [長年日記]
_
Kernel
夕方に「ちょこっと」VPN鯖のOSをFreeBSD6.2にしようとオモタのだ。
例のgrepが遅い件もあるし。
で、さくっとCD-ROMのインストーラーからsrcも含めてインスコ完了。。
と思ったら、kernel再構築がエラーで止まってしまう。
NETGRAPHが組み込めないのでmpdでpptp出来ない。
夜中もリモートアクセスでkernel設定とにらめっこ。
朝の5時過ぎにようやくGENERICまでコンパイル出来ないことに気づいて「ソースがおかしい」と判明。
ftpで持ってきてようやく完了。
┐(゜〜゜)┌
_
ゲット
突然、こんなおじさんが会社に発生。
ふ む な よ 、 常 考 o(`ω´*)o
端末再インストールやら、ついでに他の人の更新も含めてドタバタと一日が終わってしまった。
あぁ、明日の提案書いつ仕上げよう。
_|‾|○ ガクガク
2008-07-08(火)
出会い? [長年日記]
_ 難易度
高すぎてワロタ。
ソースはこの辺なんだが。。。
この写真で選択するとは何という選球眼。
いやいや、欧米でも評判らしい。
しかし忍者コメント多いな、さすが欧米。
(=゜ω゜)ノ −−−===≡≡≡ 卍 シュッ!
つーか、写真の意味なくね?
_
grep
会社鯖のハニーポット用ssh攻撃検出ツールが重たい。
毎分起動しているのだが、気がつくとgrepが山ほど起動して死にそうになってる。
IPを記録したファイル同士のgrep -v -fで差分を出しているのだが、
どうやら前の処理が終わらないうちに次の処理が始まる悪循環。
マシンが遅いのか、OSの違いなのかおいら鯖では問題ナス。
早速実験。。。。
--------------------------------------------------------
おいら鯖 :FreeBSD6.2/Core2Duo 2.66G =====5秒
会社鯖 :FreeBSD5.5/Celeron 1.4G =====8分
後輩の実験鯖 :FreeBSD7.0/Celeron 1.1G =====14秒
--------------------------------------------------------
ちょっwwおまwww
1台だけ単位が違うだろ!
どうやらCPUの速度とかじゃなくOSの問題だな。
さっさと新しいOSにしましょ。。。
いずれにしてもgrepはファイル入力(複数行照合)かつ-vの反転は激烈に遅いことが分かった。
たぶんメモリ上に全部展開しないといけないからかな?
でも大したサイズでもないし、根本的に何かおかしいと思う。
取り敢えずはロックファイル置いて二重起動防ごう。
最終的にはsort&diffに変えるか。。。orz
2008-07-07(月)
鯖 [長年日記]
_
整備
夕方6時からサーバー室の電源環境整備。
全部停止してUPSやら配線の整理。
小一時間の予定がちょっと伸びて90分。
まぁまぁだな。
週末は鯖入れ替え。こっちは徹夜..._〆(゜▽゜*)。
ついでに二重化しているシステムHDD類をなるべく同じ品番に揃えた。
ジオメトリまで同じならddコマンドで一発コピーが出来るかなと。
でも、結局真面目にパーティション切ってnewfs/tarでコピーの方がましだったりする。*1
そう言えば、fdiskやlabelはFreeBSDのsysinstallから使うことが多いけど、最近こいつは宜しくない。
いつも「書き込み失敗」するのでbsdlabel -eで覗いたら、作ったつもりのないad*s*aって領域がフルサイズで勝手に出来ちゃっている。
d〜fがどうやっても切れないわけだ。
結局手動でlabel書いて、newfs。
┐(゜〜゜)┌
*1 シングルユーザーでやればよいのだがそうも行かないので
| Tweets by RC31E | |||||||||
| |||||||||
| |||||||||



_ 元 [19日の犯行予告出されて不安な親です。]
_ わし@管理者 [この捕まったヤツ、ウチから近いです。 何故わざわざ埼玉の学校を名指ししたのか分からないけど。 19日ってのは、ネット..]