未分類」カテゴリーアーカイブ

ガンダムその後。

この前の連休あまりに暇なので、解体の始まった(ほぼ終わった…。)お台場ガンダム見てきました。
両腕が吊り下げられてたのが、かろうじてガンダムっぽいところを残してました。

人はあまりいませんでした。


IMG_0013


公開前はこんな。


平日なのにひとおおすぎ。

確かに芝生が減ってるなぁ…。公開前のほうはシロツメクサっぽい花も咲いてるような…。

sort の -k オプション


IMG_0019



※写真と本文は関係ありません。


qmailanalog(http://cr.yp.to/qmailanalog.html

こちらを参考にさせていただいて、インストール。

古いシステムだと行けたんですが、新しいとちゃんとログ集計が出来ない…。


スクリプトのカラムでソートのオプションが『 +2 』から『 -k 2 』に変更されてた。

ダメなほうの man を見ると 『 -k 』のほうが推奨されてるのでなくなる運命だったみたい。


新しい(ダメだった)『 sort 』のVersion


[root@sv qmailanalog-0.70]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 5.1 (Tikanga)
 
[root@sv qmailanalog-0.70]# sort --version
sort (GNU coreutils) 5.97
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software.  You may redistribute copies of it under the terms of
the GNU General Public License .
There is NO WARRANTY, to the extent permitted by law.
 
Written by Mike Haertel and Paul Eggert.


古い『 sort 』のVersion


[root@ws1 root]# cat /etc/vine-release 
Vine Linux 3.1 (Pichon Lalande)
 
[anaheim@ws1 anaheim]$ sort --version
sort (textutils) 2.0.17
作者 Mike Haertel and Paul Eggert.
 
Copyright (C) 2001 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.



Vine のメーリングリストに似たものが…。
http://bts.vinelinux.org/guest.cgi?project=VineLinux&action=view_report&id=490

で、patch を書いた。展開したディレクトリで、『 $ patch -p1 < sort.patch 』する。


[root@sv1 qmailanalog]$ cat sort.patch 
diff -Nur qmailanalog-0.70_org/zdeferrals.sh qmailanalog-0.70_patched/zdeferrals.sh
--- qmailanalog-0.70_org/zdeferrals.sh  2009-09-25 16:55:56.000000000 +0900
+++ qmailanalog-0.70_patched/zdeferrals.sh  2009-09-25 14:27:30.000000000 +0900
@@ -5,4 +5,4 @@
 * xdelay is the total xdelay on those deliveries.
 '
 ( echo del xdelay reason
-HOME/bin/deferrals | sort +2 ) | HOME/bin/columnt | tr _ ' '
+HOME/bin/deferrals | sort -k 2 ) | HOME/bin/columnt | tr _ ' '
diff -Nur qmailanalog-0.70_org/zfailures.sh qmailanalog-0.70_patched/zfailures.sh
--- qmailanalog-0.70_org/zfailures.sh   2009-09-25 16:55:56.000000000 +0900
+++ qmailanalog-0.70_patched/zfailures.sh   2009-09-25 14:27:47.000000000 +0900
@@ -5,4 +5,4 @@
 * xdelay is the total xdelay on those deliveries.
 '
 ( echo del xdelay reason
-HOME/bin/failures | sort +2 ) | HOME/bin/columnt | tr _ ' '
+HOME/bin/failures | sort -k 2 ) | HOME/bin/columnt | tr _ ' '
diff -Nur qmailanalog-0.70_org/zrecipients.sh qmailanalog-0.70_patched/zrecipients.sh
--- qmailanalog-0.70_org/zrecipients.sh 2009-09-25 16:55:56.000000000 +0900
+++ qmailanalog-0.70_patched/zrecipients.sh 2009-09-25 14:28:09.000000000 +0900
@@ -7,4 +7,4 @@
 * xdelay is the total xdelay incurred by this recipient.
 '
 ( echo sbytes mess tries xdelay recipient
-HOME/bin/recipients | sort +4 ) | HOME/bin/columnt
+HOME/bin/recipients | sort -k 4 ) | HOME/bin/columnt
diff -Nur qmailanalog-0.70_org/zrhosts.sh qmailanalog-0.70_patched/zrhosts.sh
--- qmailanalog-0.70_org/zrhosts.sh 2009-09-25 16:55:56.000000000 +0900
+++ qmailanalog-0.70_patched/zrhosts.sh 2009-09-25 14:28:27.000000000 +0900
@@ -7,4 +7,4 @@
 * xdelay is the total xdelay incurred by this host.
 '
 ( echo sbytes mess tries xdelay host
-HOME/bin/rhosts | sort +4 ) | HOME/bin/columnt
+HOME/bin/rhosts | sort -k 4 ) | HOME/bin/columnt
diff -Nur qmailanalog-0.70_org/zsenders.sh qmailanalog-0.70_patched/zsenders.sh
--- qmailanalog-0.70_org/zsenders.sh    2009-09-25 16:55:56.000000000 +0900
+++ qmailanalog-0.70_patched/zsenders.sh    2009-09-25 14:29:25.000000000 +0900
@@ -10,4 +10,4 @@
 * xdelay is the total xdelay incurred by this sender.
 '
 ( echo mess bytes sbytes rbytes recips tries xdelay sender
-HOME/bin/senders | sort -n +7 ) | HOME/bin/columnt
+HOME/bin/senders | sort -n -k 7 ) | HOME/bin/columnt
diff -Nur qmailanalog-0.70_org/zsuccesses.sh qmailanalog-0.70_patched/zsuccesses.sh
--- qmailanalog-0.70_org/zsuccesses.sh  2009-09-25 16:55:56.000000000 +0900
+++ qmailanalog-0.70_patched/zsuccesses.sh  2009-09-25 14:34:49.000000000 +0900
@@ -5,4 +5,4 @@
 * xdelay is the total xdelay on those deliveries.
 '
 ( echo del xdelay reason
-HOME/bin/successes | sort +2 ) | HOME/bin/columnt | tr _ ' '
+HOME/bin/successes | sort -k 2 ) | HOME/bin/columnt | tr _ ' '
diff -Nur qmailanalog-0.70_org/zsuids.sh qmailanalog-0.70_patched/zsuids.sh
--- qmailanalog-0.70_org/zsuids.sh  2009-09-25 16:56:10.000000000 +0900
+++ qmailanalog-0.70_patched/zsuids.sh  2009-09-25 14:29:44.000000000 +0900
@@ -10,4 +10,4 @@
 * xdelay is the total xdelay incurred by this uid.
 '
 ( echo mess bytes sbytes rbytes recips tries xdelay uid
-HOME/bin/suids | sort -n +7 ) | HOME/bin/columnt
+HOME/bin/suids | sort -n -k 7 ) | HOME/bin/columnt



[root@sv2012 qmailanalog-0.70]# cat /etc/cron.daily/qmailanalog 
#!/bin/sh
PATH=$PATH:/usr/local/qmailanalog/bin:/var/qmail/bin
LANG=C
MAILLOG=`mktemp /tmp/tmp.XXXXXX`
QMAILLOG=`mktemp /tmp/tmp.XXXXXX`
QMAILREPORT=`mktemp /tmp/tmp.XXXXXX`
# 統計対象設定
# 不要な場合はコメントアウトする
zoverall=1 # 基本統計
#zddist=1 # メール遅送の集計
zdeferrals=1 # deferrals(配送が先延ばし)されたときの理由の集計
zfailures=1 # 失敗メールの理由
zrecipients=1 # 受け取り先の集計
#zrxdelay=1 # 受け取り先の集計(遅れ具合でソート)
zsenders=1 # 差し出し元の集計
zsuids=1 # 差し出し元のUID集計
zrhosts=1 # 相手のホストの集計
# 統計出力用関数宣言
report(){
    echo "---------------------------------------------------" >> $QMAILREPORT
    $1 2>/dev/null < $QMAILLOG >> $QMAILREPORT
    echo "---------------------------------------------------" >> $QMAILREPORT
    echo "" >> $QMAILREPORT
}
# 前日分のログを抽出してqmailanalog向けに整形
grep ^"`date --date '1 days ago' +'%b %_d'`" /var/log/maillog.1 >> $MAILLOG
grep ^"`date --date '1 days ago' +'%b %_d'`" /var/log/maillog >> $MAILLOG
awk '{$1="";$2="";$3="";$4="";$5="";print}' < $MAILLOG | matchup > $QMAILLOG 5> /dev/null
# タイトル出力
echo "====================================================" >> $QMAILREPORT
echo "qmail statistics from qmailanalog" >> $QMAILREPORT
echo "Report Date: `date --date '1 days ago' +'%Y/%m/%d(%a)'`" >> $QMAILREPORT
echo "====================================================" >> $QMAILREPORT
echo "" >> $QMAILREPORT
# 各種統計出力
[ "$zoverall" = "1" ] && report zoverall
[ "$zddist" = "1" ] && report zddist
[ "$zdeferrals" = "1" ] && report zdeferrals
[ "$zfailures" = "1" ] && report zfailures
[ "$zrecipients" = "1" ] && report zrecipients
[ "$zrxdelay" = "1" ] && report zrxdelay
[ "$zsenders" = "1" ] && report zsenders
[ "$zsuids" = "1" ] && report zsuids
[ "$zrhosts" = "1" ] && report zrhosts
# 出力結果をpostmaster宛にメール送信
mail -s "qmail statistics" postmaster@`hostname -d` < $QMAILREPORT
#cat $QMAILLOG
#cat $QMAILREPORT
#echo $MAILLOG
#echo $QMAILLOG
#echo $QMAILREPORT
#zfailures  < "$QMAILLOG"
# 一時ファイル削除(後始末)
rm -f $MAILLOG $QMAILLOG $QMAILREPORT


64bitだとmakeでエラー


/usr/bin/ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in strerr.a(strerr_sys.o)
/lib64/libc.so.6: could not read symbols: Bad value
collect2: ld はステータス 1 で終了しました
make: *** [matchup] エラー 1


こんな感じに修正。


$ cat  conf-cc
cc -O2
This will be used to compile .c files.
$ cp conf-cc conf-cc_org
$ echo "gcc -O2 --include /usr/include/errno.h" > conf-cc


ショッピングモールへ。

ちょっと前の写真を現像したので。書こう。


夏休みに帰省したときに実家近くのショッピングモールへ。


Not ひよこ Maybe アヒル

人はいるけどみんな買ってない感じがしました。不景気ですね。
2F の通路揺れるし…。(壊れたら『やっぱりね…。』って思う。)

いとこ宅で同じ話を聞いた。同じ感想でした…。

Mac OSX で tac コマンドがない…。


クリスマスケーキ


※ 写真と本文は関係ありません。


$ tail -r /var/log/system.log

が、tac 相当のコマンドらしい。
ターミナルで man すると

-r

The -r option causes the input to be displayed in reverse order, by line. Additionally, this option changes the meaning of the -b, -c and -n options. When the -r option is specified, these options specify the number of bytes, lines or 512-byte blocks to display, instead of the bytes, lines or blocks from the beginning or end of the input from which to begin the display. The default for the -r option is to display all of the input.


このコマンドは BSD 版 tail ってことだよなぁ。大きなファイルを扱えないそうなので GNU 版 tac をインストールしたほうが良いのかしら?

tail では出力の大きさの指定に制限が無い (GNU 版以外の tail にはそうでないものもある)。 また -r オプション (逆順表示) は無い。 ファイルを逆順に表示するのは、 ファイルの末尾を表示するのとは本質的に異なるからである。 BSD 版 tail (-r オプションを持っている) はバッファ (通常 32k) よりも小さいファイルを逆順表示できるに過ぎない。 この目的には GNU 版の tac コマンドを用いる方が、信頼性も融通性も高い。

tac コマンド port にはなかったです。

2.5MB のファイルで使えてるからそのまま使っておこう。


iBook:~ fuki$ ls -lh /var/log/system.log
-rw-r-----  1 root  admin   2.5M  8 18 16:08 /var/log/system.log
iBook:~ fuki$ tail -r $_
Aug 18 16:08:59 iBook NatsuLion[226]: -[TwitterImpl setFriendsTimelineLastStatusId:]: 3378518489
…


メアリー・ブレア展

メアリー・ブレア展@東京都現代美術館

行ってきました。


メアリーブレア展の図録表紙。

ディスニーのアニメ、ピーターパンとか不思議の国のアリスが好きなので。いいですね。
イッツ・ア・スモールワールドのデザインをした人ですー。


館内で見かけたアニメがニコニコにあった!!

目が怖い…。

postfix の mailqueue lifetime の変更


0605030044



※写真と本文は関係ありません。


再送エラーで Nagios のアラートが立ちっぱなしなので、それぞれ、5d → 1d に変更。

maximal_queue_lifetime = 1d
bounce_queue_lifetime = 1d

maximal_queue_lifetime (デフォルト: 5d)
配送できないものとして送り返すまでに、メッセージがキューに入っている 最大の時間。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は d(日) です。
配送を1度だけしか試さないようにするのであれば、0 を指定します。

bounce_queue_lifetime (デフォルト: 5d)
配送できないと見なすまでに、バウンスメッセージがキューに入っている 最大の時間。デフォルトでは、通常のメールに対するキューの寿命と同じです。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は d (日) です。
メール配送の試行を1回だけにするには 0 を指定します。
この機能は Postfix 2.1 以降で使えます。


mailqueue 削除コマンド。
postsuper -d ALL

knoppix を使う ( LVM ) 。( 4 / x )


絞って背景見せないと魚眼ぽくないよなー。



※写真と本文は関係ありません。


1 / x , 2 / x, 3 / xからつづき。


やっと本題。><
ファイルシステム 40GB にをリサイズする。(マウントした状態で試す。)

root@Microknoppix:~# resize2fs /dev/VolGroup00/LogVol00 40G
resize2fs 1.41.3 (12-Oct-2008)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /mnt/data; on-line resizing required
On-line shrinking from 18980864 to 10485760 not supported.

On-line じゃ出来ないと怒られる。


unmount 後同様に。

root@Microknoppix:~# resize2fs /dev/VolGroup00/LogVol00 40G
resize2fs 1.41.3 (12-Oct-2008)
Please run ‘e2fsck -f /dev/VolGroup00/LogVol00’ first.

先に e2fsck -f /dev/VolGroup00/LogVol00 せよと…。
はい。

root@Microknoppix:~# e2fsck -f /dev/VolGroup00/LogVol00
e2fsck 1.41.3 (12-Oct-2008)
Adding dirhash hint to filesystem.

Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

/dev/VolGroup00/LogVol00: ***** FILE SYSTEM WAS MODIFIED *****
/dev/VolGroup00/LogVol00: 166129/18986880 files (0.9% non-contiguous), 4344545/18980864 blocks

ファイルシステムリサイズ成功。


lvreduce コマンドで LV のリサイズ。

root@Microknoppix:/# lvreduce /dev/mapper/VolGroup00-LogVol00 -L 40G
WARNING: Reducing active logical volume to 40.00 GB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce LogVol00? [y/n]: n
Logical volume LogVol00 NOT reduced
Command failed with status code 5.

active logical volume なので『 THIS MAY DESTROY YOUR DATA (filesystem etc.) 』と怒られる。


# vgchange -an 『 VG 名 』
で、VG を inactive にする。(-n じゃなくて -y すると active になる。)

root@Microknoppix:~# lvscan
ACTIVE ‘/dev/VolGroup00/LogVol00’ [40.00 GB] inherit
ACTIVE ‘/dev/VolGroup00/LogVol01’ [2.00 GB] inherit

root@Microknoppix:~# vgchange -an VolGroup00
0 logical volume(s) in volume group “VolGroup00” now active

root@Microknoppix:~# lvscan
inactive ‘/dev/VolGroup00/LogVol00’ [40.00 GB] inherit
inactive ‘/dev/VolGroup00/LogVol01’ [2.00 GB] inherit

root@Microknoppix:~# vgchange -ay VolGroup00
3 logical volume(s) in volume group “VolGroup00” now active

root@Microknoppix:~# lvscan
ACTIVE ‘/dev/VolGroup00/LogVol00’ [40.00 GB] inherit
ACTIVE ‘/dev/VolGroup00/LogVol01’ [2.00 GB] inherit


lvchange -an コマンド使うと、LV 個別に ACTIVE → inactive 可能。

root@Microknoppix:~# lvchange -an /dev/VolGroup00/LogVol00

root@Microknoppix:~# lvscan
inactive ‘/dev/VolGroup00/LogVol00’ [72.41 GB] inherit
ACTIVE ‘/dev/VolGroup00/LogVol01’ [2.00 GB] inherit


再度、lvreduce。

root@Microknoppix:/# lvreduce /dev/mapper/VolGroup00-LogVol00 -L 40G
Reducing logical volume LogVol00 to 40.00 GB
Logical volume LogVol00 successfully resized

これでやっとResize 出来た。


マウントできるか確認した。

# mount -t auto /dev/mapper/VolGroup00-LogVol00 /mnt/data-user/
できた。