IT pass HikiWiki - [Memo2009][ITPASS] tako 構築作業ログ(MAIL9)(清水, 黒田) Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
{{toc}}
[((<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
=== 参考資料
((<mksigen|URL:http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/mksigen.html>))
= 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サーバ構築ドキュメント>))へ戻る]
[((<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
=== 参考資料
((<mksigen|URL:http://www.ep.sci.hokudai.ac.jp/~epwww/dvlop/mksigen.html>))
= 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サーバ構築ドキュメント>))へ戻る]