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サーバ構築ドキュメント>))へ戻る]