スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

CentOS 5のmailコマンドをCentOS 6で使えるようにする方法

タックス

ある日wingリポジトリのMLに一通のメールが届きました。
要約すると「CentOS 5のmailコマンドではうまくいくが、CentOS 6のmailコマンドではエラーになる。CentOS 5のmailコマンドをCentOS 6で使えるように出来ないか?」とのこと。
調査すると、CentOS 5ではmailx-8.1.1に対してCentOS 6ではmailx-12.4になっていました。
どうやら、この2つは単なるバージョンアップ版というわけではなく、中身が大きく違うようです。

まず、CentOS 5では以下のmailコマンドでメールを送信できます。
# echo 'テストです!' | nkf -j | mail -s `echo "テストメール" | nkf -j` "xxx@example.com" -- -f "xxx@example.com"
# echo 'テストです!' | iconv -t ISO-2022-JP | mail -s $(echo "テストメール" | iconv -t ISO-2022-JP) | "xxx@example.com" -- -f "xxx@example.com"
※ どちらでも出来ます。

ところが、CentOS 6で上記のmailコマンドを試すと、文字化けはするわメールに意味不明な添付ファイルが付くわで、全く動きが違うものになっていました。
なぜここまで仕様が変わってしまったのかは、後追いしていませんが、とりあえずCentOS 5のmailコマンドをCentOS 6でも使えるように出来れば問題は解決するので、早速rpmを作ることにしました。

最初にすることは、パッケージ名の検討です。
同じmailxにしてしまうと、CentOS 5版の方がバージョンが低いため、yum updateコマンドでCentOS 6版にアップデートされてしまいます。
そのため、別名を付けることとし「mailx8」とすることにしました。

次に、CentOS 6上での依存関係やmailx自体が重複インストールされないように、ProvidesとConflictsを設定しました。

その後ビルドを行い問題なくrpmが出来上がりましたので、早速動作検証を行いました。
動作検証は、上記のコマンドを叩いて行いましたが、問題無く動作しました。
また、依頼主にも動作検証を行って頂き、問題無く動作することを確認出来ました。
これで従来のmailコマンドが使えるようになりました。

その他、CentOS 6版のmailxコマンドには、nail、mailxコマンドがあるため、互換性は無いかもしれませんが、念のためにnailコマンドとmailxコマンドをシンボリックリンクで追加したrpmを作って正式公開しました。

wingリポジトリのMLでも情報として挙がっていましたが、mailutilsやmuttを代替として使うことも有効ではあるようですが、調べた限りだとCentOS 6のmailxコマンドは不評なようです。

ちなみに、インストール方法は以下のとおり。
(事前にwingリポジトリの導入は済ませてください)
RHEL6互換OS用 wingリポジトリ を公開

もしも、既にmailxコマンドがインストールされている場合は、以下のコマンドでアンインストール。

# yum remove mailx
(この時、私の環境では依存関係でlogwatchとsmartmontoolsも削除されました。)

次に以下のコマンドでmailx8をインストール。

# yum remove mailx8
(この後、依存関係で削除されてしまったパッケージを再度インストール。)

これでインストール完了です。

ここで一つ皆さんが思う心配事があります。
それは、mailx8のバグフィックス対応です。
一応CentOS 5は2017年3月までサポートされますので、もしも何かあった場合にはRed Hatの方でメンテナンスがされますので、フィックスされたバージョンがリリースされたら、その都度wingリポジトリでも対応致します。
もしも、CentOS 5のmailコマンドが良かったという方は、是非wingリポジトリのmailx8をご利用ください。

wingリポジトリのMLの一部始終

以下、参考リンクです。

Wikipedia(Linux)
Wikipedia(CentOS)

関連記事


FC2Blog Rankingblogram投票ボタンとれまが人気ブログランキングブログランキング・にほんブログ村へ
くる天 人気ブログランキングにほんブログ村 IT技術ブログ CentOSへ

テーマ : Linux
ジャンル : コンピュータ

コメントの投稿

非公開コメント

emailコマンドが使えます

脇田と申します

私も mailx コマンドには参りました。
マニュアルページの最後にスクリプトで送信する場合の注意が
書いてあるのですが、やはりダメでした。

特異な構成は避けたかったので、
yum search mail
で探したら、emailコマンドというのがあり、
試してみたらうまく行きました。

但し、
(1) オプションが違うので注意。
(2) デフォルトのコンフィギュレーションファイルでは
VCARDが添付できないと言って送信できない。
VCARDのオプションをコメントすれば良い。
(3) デフォルトのコンフィギュレーションファイルで
勝手に嫌なシグニチャを付ける。
これもコメントすれば良い。
の3つに注意です。

以上、ご参考まで。

Re: emailコマンドが使えます

脇田様

情報ありがとうございます!
なるほど、emailというのもありましたか。

時として、必要になることもあると思いますので、非常に参考になります。

CentOS5からの移行組に、選択肢があるのは良いことですね。
プロフィール

WING☆

Author:WING☆


カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
カウンター
お問い合わせ

名前:
メール:
件名:
本文:

WING☆からのお知らせ
  • CentOS 7設定集
  •    └wingリポジトリ(el7)

  • CentOS 6 x64設定集
  •    └wingリポジトリ(el6)

  • CentOS 5 x64設定集
  •    └wingリポジトリ(el5)



    My Yahoo!に追加

    FC2ブログランキング



    リンク
    ブロとも一覧
    Virtualization & Sever Maniax
    RSSリンクの表示
    QRコード
    QRコード
    ブロとも申請フォーム

    この人とブロともになる

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。