2008年4月4日金曜日
mtaサービスの変更 - alternatives コマンド

随分前に、仕事で調べたコマンド。
ふと気になったので、書いておく。


サーバセットアップの際に、MTA(メール転送エージェント)の変更が必要になった。
調査時にはRed Hatのパッケージで変更をしたようだったけど、僕が実作業に入るときには、パッケージを選別したために、そのコマンドだかなんだかが無くなってしまった。
そこで、コマンドを探し当てたという話。


まずはchkconfigでpostfixを確認する。

# chkconfig --list postfix
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off


次に、sendmailを確認してみる。

# chkconfig --list sendmail
サービスsendmailはchkconfigをサポートしますが実行レベルで参照されていません (run 'chkconfig --add sendmail')
#


で、alternativesコマンドで確認する。

# alternatives --display mta
mta - ステータスは手動です。
リンクは現在 /usr/sbin/sendmail.postfix を指しています。
/usr/sbin/sendmail.sendmail - 優先項目 90
スレーブ mta-pam: /etc/pam.d/smtp.sendmail
スレーブ mta-mailq: /usr/bin/mailq.sendmail
スレーブ mta-newaliases: /usr/bin/newaliases.sendmail
スレーブ mta-rmail: /usr/bin/rmail.sendmail
スレーブ mta-sendmail: /usr/lib/sendmail.sendmail
スレーブ mta-mailqman: /usr/share/man/man1/mailq.sendmail.1.gz
スレーブ mta-newaliasesman: /usr/share/man/man1/newaliases.sendmail.1.gz
スレーブ mta-aliasesman: /usr/share/man/man5/aliases.sendmail.5.gz
スレーブ mta-sendmailman: /usr/share/man/man8/sendmail.sendmail.8.gz
/usr/sbin/sendmail.postfix - 優先項目 30
スレーブ mta-pam: /etc/pam.d/smtp.postfix
スレーブ mta-mailq: /usr/bin/mailq.postfix
スレーブ mta-newaliases: /usr/bin/newaliases.postfix
スレーブ mta-rmail: /usr/bin/rmail.postfix
スレーブ mta-sendmail: /usr/lib/sendmail.postfix
スレーブ mta-mailqman: /usr/share/man/man1/mailq.postfix.1.gz
スレーブ mta-newaliasesman: /usr/share/man/man1/newaliases.postfix.1.gz
スレーブ mta-aliasesman: /usr/share/man/man5/aliases.postfix.5.gz
スレーブ mta-sendmailman: /usr/share/man/man1/sendmail.postfix.1.gz
現在の「最適」バージョンは /usr/sbin/sendmail.sendmail です。
#


ここでpostfixからsendmailに変更してみる。

# alternatives --config mta

2 プログラムがあり 'mta'を提供します。

選択 コマンド
-----------------------------------------------
* 1 /usr/sbin/sendmail.sendmail
+ 2 /usr/sbin/sendmail.postfix

Enterを押して現在の選択[+]を保持するか、選択番号を入力します:
と出るので、sendmailにするなら、「1」を入力してENTERすればいい。


再度、確認する。

# chkconfig --list postfix
サービスpostfixはchkconfigをサポートしますが実行レベルで参照されていません (run 'chkconfig --add postfix')
# chkconfig --list sendmail
sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# alternatives --display mta
mta - ステータスは手動です。
リンクは現在 /usr/sbin/sendmail.sendmail を指しています。
(以下省略)



…おっと、サービスを起動させないと。


# /etc/init.d/postfix stop
Shutting down postfix: [ OK ]
# /etc/init.d/sendmail start
sendmail を起動中: [ OK ]
sm-client を起動中: [ OK ]
#


こんなもんですか。



0 コメント | コメントを書く | コメントの表示
2007年9月5日水曜日
lsattr と chattr

別に新しい話題でもないけど、知らなかったのでちょっとメモ。

Linuxのext2、ext3のファイルシステムにおいて、パーミッション以外のファイル属性を操作するもの。
lsattrが表示でchattrが変更のコマンド。

例えばlsなら、

# ls -la test
-rw-r--r-- 1 root root 0 8月 29 00:26 test

となる。rootであれば書き込み可能だし、その他のユーザであれば読み込みだけ可能ということになる。
そこで、lsattrを実行する。
# lsattr test
------------- test

現状、何も設定されていないので、chattrで変更不可能を表すi(immutable)を設定してみる。
# chattr +i test

念の為に確認。
# lsattr test
----i-------- test


で、削除(rm)してみる。
# rm test
rm: remove write-protected 通常の空ファイル `test'? y
rm: cannot remove `test': 許可されていない操作です


ほほぅ…

でもってiフラグを消す。
# chattr -i test

念の為に確認。
# lsattr test
------------- test

で、削除。
# rm test
rm: remove 通常の空ファイル `test'? y
# ls test
ls: test: そのようなファイルやディレクトリはありません

はい、無事消えました。


ところで、lsattrのオプションに「-a」がある。これはJMから引用すると、
`.' ではじまるファイルも含め、全てのファイルおよびディレクトリを表示する。

ということで、lsコマンドと同じ。
じゃ、「-l」は? と思ったけど、記述は無い。
manページ開いてもない。ってことで、実行してみました。
# touch test
# lsattr -l test
test               ---


# chattr +id test
# lsattr -l test
test               Immutable, No_Dump

ははぁ、なるほど。

…と思ってたら、usageにはしっかりlオプションの記載があった。
# lsattr -r
lsattr: オプションが違います -- r
Usage: lsattr [-RVadlv] [files...]

でも、manにはないなぁ。

いやぁ、まぁ、誰もこんな情報は欲してないと思うけど。

# コマンドなど、一部半角スペースを全角スペースに置き換え。
# スタイルシートを修正しないといかんか?



0 コメント | コメントを書く | コメントの表示
Template Design: © 2007 Envy Inc.