[Memo2009][ITPASS] tako 構築作業ログ(MAIL9)(清水, 黒田)
[ITPASSサーバ構築ドキュメントへ戻る]
10/24 の作業ログ
サーバ交換作業後に, Cron Deamon からエラーメールが送られたので, そのエラーメールにしたがってそれぞれ /etc/cron.local/daily/401_status-quota と /usr/local/gate/bin/gate-db-to-ezmlm を修正し, mksigen をインストールする. また, 左側にある数字は行番号である.
/etc/cron.local/daily/401_status-quota の修正
ika と tako の /etc/cron.local/daily/401_status-quota を diff コマンドを使って比較しその上で, ika の /etc/cron.local/daily/401_status-quota を以下のように修正する.
[修正前] 20 LINES"= `$EXPR $LINES - 5` # 5 means header length of repuota 21 FMT="%12-s %8s %8s\n" [修正後] 20 LINES2=`$EXPR $LINES - 5` # 5 means header length of repuota 21 FMT="%-12s %8s %8s %8s\n" [修正前] 25 $PRINTF "FMT" username usage slimit hlimit 26 for uname in $USERS; do 27 $PRINTF "FMT" `REPQUOTA -sv $QDIR | $GREP "^${uname} " | $AWK '{print $1,$3,$4,$5}'` [修正後] 25 $PRINTF "$FMT" username usage slimit hlimit 26 for uname in $USERS; do 27 $PRINTF "$FMT" `$REPQUOTA -sv $QDIR | $GREP "^${uname} " | $AWK '{print $1,$3,$4,$5}'`
修正後に,
# /etc/cron.local/daily/401_status-quota
と実行して, エラーが出ないことを確認した.
/usr/local/gate/bin/gate-db-to-ezmlm の修正
ika と tako の /usr/local/gate/bin/gate-db-to-ezmlm を diff コマンドを使って比較しその上で, ika の /usr/local/gate/bin/gate-db-to-ezmlm を以下 のように変更した. また, 左側にある数字はスクリプト内での行番号である.
[変更前]
49 die "Usage: gate-db-to-ezmlm [-t] [--unsub] ml-dir database-file1 database-file2 ...\n" if @ARGV == 0 ; 72 #@memberlist = qw( takepiro@geo.kyusyu-u.ac.jp 73 # odakker 74 # shosuke ); 78 foreach ( @memberlist ){ 79 chomp($_); 80 $checkmailaddress{$_}=-1; 81 } 101 # email: が空なら loginname から email address を作成 102 chomp($loginname); 103 $loginname =~ s/s\s+$//; 104 $email = $loginname.'@'.$domainname if !$email && $loginname; 107 $email =~ s/s\s+$//; 108 print STDERR "Warning: $email double-regisered.\n" 109 if exist $checkmailaddress{$email} && $checkmailaddress{$email}>=0; 110 $checkmailaddress{$email}+1 if $email; 111 } 116 foreach ( keys(%checkmailaddress) ){ 118 if ( ! $checkmode ) { 119 system( "$ezmlmsub $MLDIR $_" ); 120 } 121 system( "echo $ezmlmsub $_" ); 122 } 123 elsif ( $remove && $checkmailaddress{$_} == -1 ){ 129 }
[変更後]
49 die "Usage: gate-db-to-ezmlm [-t] [--unsub] ml-dir database-file1 database-file2 ...\n" if @ARGV == 0 ; 72 #@memberslist = qw( takepiro@geo.kyusyu-u.ac.jp 73 # odakker 74 # shosuke ); 78 foreach ( @memberslist ){ 79 chomp($_); 80 $checkemailaddress{$_}=-1; 81 } 101 # email: が空なら loginname から email address を作成 102 chomp($loginname); 103 $loginname =~ s/\s+$//; 104 $email = $loginname.'@'.$domainname if !$email && $loginname; 107 $email =~ s/\s+$//; 108 print STDERR "Warning: $email double-regisered.\n" 109 if exists $checkemailaddress{$email} && $checkemailaddress{$email}>=0; 110 $checkemailaddress{$email}+1 if $email; 111 } 116 foreach ( keys(%checkemailaddress) ){ 118 if ( ! $checkmode ) { 119 system( "$ezmlmsub $MLDIR $_" ); 120 } 121 system( "echo $ezmlmsub $_" ); 122 } 123 elsif ( $remove && $checkemailaddress{$_} == -1 ){ 129 }
mksigen のインストール
ソースを取得し展開する.
# cd /usr/local/src # wget http://www.gfd-dennou.org/arch/cc-env/mksigen/mksigen_0.2-1.tar.gz # tar xvfz mksigen_0.2-1.tar.gz
mksigen にある Makefile の文字を定義する部分を以下のように書き換える.
[変更前]
CONFDIR=(DESTDIR)/etc BINDIR=(DESTDIR)/usr/bin SBINDIR=(DESTDIR)/usr/sbin MANDIR=(DESTDIR)/usr/man HTMDIR=(DESTDIR)/usr/share/doc/mksigen
[変更後]
CONFDIR=/etc BINDIR=/usr/bin SBINDIR=/usr/sbin MANDIR=/usr/man HTMDIR=/usr/share/doc/mksigen
インストールを行なう. Makefile を見ると, /usr/share/doc 以下の mksigen に install するように書いてあるが, そのようなファイルがないので手動で作成する.
# make # cd /usr/share/doc # mkdir mksigen # cd /usr/local/src/mksigen # make install
参考資料
10/26 の作業ログ
mksigen の再インストール
mksigen をパッケージで再インストールする. まず, 上でインストールしたファイル・ディレクトリを削除する.
- /usr/man/man5 以下の mksigen-sigen.5
- /usr/man/man8 以下の mksigen と名の付くファイル
- /usr/man/ja/man5 以下の mksigen-sigen.5
- /usr/man/ja/man8 以下の mksigen と名の付くファイル
- /usr/sbin 以下の mksigenconfig
- /usr/bin 以下の mksigen
- /usr/local/src 以下の mksigen_0.2-1.tar.gz と mksigen 以下のすべてのファイルとディレクトリ
を rm コマンドで削除した.
ファイルをインストールする.
# wget \ http://www.gfd-dennou.org/arch/cc-env/mksigen/mksigen_0.2-1_all.deb
/usr/local/src 以下に mksigen_0.2-1_all.deb がダウンロードされる. パッケージをインストールする.
# cd /usr/local/src # dpkg -i mksigen_0.2-1_all.deb
この後の設定以下のようにした.
<--- configuration of mksigen ---> top directory: [/home] top directory title: [/home] background color (name or #aabbcc): [#CCFFCC] ignored filename pattern: [\.bak$|~$|^lost\+found$] hostname written in HTML: [ika-itpass.scitec.kobe-u.ac.jp] make <DL> indentation?: (y/n) [N] make summary?: (y/n) [N] summary section title: [summary] detail section title: [detail] force mksigen to be in a group: []
mksigenconfig の中身を確認した.
<--- your configuration ---> detailtext: detail indent: heading: ika-itpass.scitec.kobe-u.ac.jp bgcolor: #CCFFCC ignorepat: \.bak$|~$|^lost\+found$ acklink: http://www.gfd-dennou.org/arch/cc-env/mksigen/desc.htm acktext: this page is generated with ::mksigen:: summarytext: summary topdir: /home toptitle: /home summarize: forcegid: is this okay?: (y/n) [N]y configuration file: [/usr/sbin/../lib/mksigen.conf] man-db のトリガを処理しています ...
/usr/sbin と /usr/bin 以下に mksigenconf ができた.
man ページについては,
/usr/share/man/ja/man5/ 以下に mksigen-sigen.5.gz /usr/share/man/ja/man8/ 以下に mksigen-email.8.gz /usr/share/man/ja/man8/ 以下に mksigen-intro.8.gz /usr/share/man/ja/man8/ 以下に mksigen.8.gz /usr/share/man/man5/ 以下に mksigen-sigen.5.gz /usr/share/man/man8/ 以下に mksigen-email.8.gz /usr/share/man/man8/ 以下に mksigen-intro.8.gz /usr/share/man/man8/ 以下に mksigen.8.gz
がインストールされた.
[ITPASSサーバ構築ドキュメントへ戻る]
Keyword(s):
References:[[ITPASS2009]2009年度サーバ構築ログ]