昨日の記事に書いたpostfixでの配送が完了せず/var/spool/mailの下に配信されてしまった原因が判明した。
あらためてログを見直すとpop3の箇所に
”failed: No space left on device”
の文字列がorz。
つまり配信先ユーザーのhomeディレクトリに空きが無くて配信できずに止まってしまったわけだ。
その後に別の作業の結果ディスクに空きが出来たのでそれ以降のメールは問題無く配信されていたということらしい。
恒常的にメールの配信が漏れるわけでは無いということが判明したのは良かったが、ディスクスペースが足りないのはどうやって回避しようかな?(汗)
More from: linux
メールの配送漏れ?
ユーザーから昨日届くはずのメールが届いていないとの連絡があった。
なんでも特定の時間帯のメールが少なくて、ちょうどその時間帯に送られたメールがあるけどPCで受信できないとのこと。
”そんな筈は・・・”と思ってサーバーのログを見ると届いていない筈のメール(送信元のアドレス等で判断)は配信されたことになっている。
/var/spool/mail下にあるスプールを見てもちゃんと入っている(後で気付いたがこの時点で勘違いしていた)。
そこで自分のPCで同じアカウントを設定して受信させてみると受信できない(ユーザー側は一定期間サーバーに残す設定にしてあるので私のところでも受信できる筈)。
スプールにあるのに受信できない原因を探している途中で気付いたが、このサーバーはpostfixでmaildir形式で構築してあり、先のスプールファイルには配信されずユーザー毎のディレクトリ(~/Maildir下)に配信される筈だった(汗)。
とにかく受信できないメールをなんとか受信出来るようにするのが先決なので色々調べてformailコマンドで配信することにして実行したところ、今度は
というエラーメールがrootに送られてくるだけで配送されない。
ループになるような原因としてはaliases以外に考えられなかったので/etc/alisesファイルを何度も修正し、最後には転送設定を削除までしたが結果は変化しないorz。
となると転送設定の問題では無いだろうということでエラーメッセージでググるとヒントが見つかった。
それは送られてきたメールヘッダーの
Delivered-To:
に受信者と同じメールアドレスの記述があるとMTA(postfix)がメールループだと判断してしまうということらしい。
なぜDelivered-To:に同じアドレスが入っているかを調べる時間が勿体ないので、とにかくスプールファイルを直接(もちろんバックアップを取ったうえで)編集し、Delivered-To:に書かれているアドレスを若干変更して保存。
そうした後にformailコマンド
# formail -s sendmail -v -t -oiee < ./hoge
を実行したところ無事にmboxに配信された。
あとは特定の時間帯にだけこの現象が起きた原因を探らなければ(汗)。
postfixのリレー設定(メモ)
別部署で運用管理しているメールサーバーについての問い合わせがあったのでメモ。
そのメールサーバーを使ってプログラムでメールを送信すると一部のアドレスに届かないとのことで管理者から相談を受けた。
#自分で管理しているんだから自分で解決するように言いたかったけどね(汗)。
送信時のログを見ると線だって運用を停止したsmtpサーバーに接続しようとしてコネクションタイムアウトを起こしている(ここまでは管理者が自分で辿りついた)。
最初は名前解決に問題があるのかと思って、nslookupでset type = mxでmxレコードのIPアドレスを引いてみたら正しいIPアドレスが引けたので、DNS絡みの問題では無いことが判明。
そうなるとMTAとして使っているpostfixの設定の問題と思われ、もしかしたらリレーサーバーの設定かも?ということになった。
/etc/postfix/transportファイルを見ると、特定のドメインに対してのみ固定のsmtpサーバーに接続するように設定されていて、それがまさに運用を停止したサーバーだった。
なので、その部分をコメントアウトして保存してから
#postmap hash:/etc/postfix/transport
でデータベースを更新したらきちんと送信されるようになった。
忘れたら困るのでここにメモしておこう。
DELLのInspiron1210(mini12)を疑似SSD化してみた
DELLのミニノートInspiron1210(mini12)は小型軽量で、持ち歩きやすいPCだ。
ただ、スペックが今の時代ではとても低くて標準搭載のOS(VISTA BASIC)も動作が重くそもそもサポートがすでに終了している。
昨年、軽量なLinuxディストリビューションの一つである「NNLinux」をインストールしたところ、結構快適に使えるようになった。
それでもHDDがSamsungの1.8インチHDDなので起動には時間がかかる。
なので今回このmini12のHDDをSSDに換装しようとしたが、同じインターフェースを採用したSSDはおいそれとは手に入らない。
ということでコンパクトフラッシュを1.8インチHDD(ZIF)に変換する基盤を探したところ、安いのがあったので注文した。
中国製で発送も中国からだったので注文してから届くまで11日ほどかかったが、昨日無事到着。
今日になってmini12に組み込んでみたところ、無事に動作させることが出来た。
最初は数年前に買ったヨドバシカメラの正月の福袋に入っていた新品の8GBのSDHCカードをSD-CF変換アダプタに挿して使ってみたが、NNLinuxのインストーラーに10GB以上のHDDが必要と言われてインストールできず(汗)。
mini12をもう一度バラして32GBのSDカードに交換して組み上げたら今度は認識されなくなってしまった。
いろいろ試してみたがどうにも認識されないので一度元のHDDに戻したらあっさりと起動した。
SD-CF変換アダプタもデジカメに入れてみるときちんと認識されたので、買ったばかりの変換基盤を壊してしまったかと焦ったが、マザーとつなぐフィルムケーブルの挿し方を工夫したら無事に認識された。
どうもケーブルの左右の僅かな遊びのために端子が接触していなかったらしく、ストッパーがきちんと降りていなかった模様。
片側に寄せてストッパーがきちんと降りる箇所で固定したら認識されるようになったと思われる。
とにかくこれで疑似SSD化出来たので、現在NNLinuxを新規でインストール中。
インストールが終わったらMozc等の設定を好みに合せたり、Firefoxを入れてしまえばblogの更新位なら実用になるな。
インストーラーの問題?
先だってヤフオクで落札したThinkPad X201sが届いているので、当初の目的通り軽量なLinuxディストリビューション(NNLINUX)をUSBメモリからインストールしようとした。
インストールに先立ってUSBメモリから起動したところ特に問題無く起動し、無線LANへの接続も出来た。
そこで余っているHDDをThinkPad X201sに入れて(ジャンク品だったのでHDDが無かった)インストールをしようとしたところ途中でHDDへの書き込みに失敗してインストールできなかった。
HDDが古かったのでエラーでもあったかな?と思い別のHDDに交換してみたがやはり書き込みエラーということで失敗した。
2個のHDDが続けて失敗したのでもしかするとSATAコントローラーとかSATAコネクタ周りとかのハードウェアに問題があるのかと心配になり、試しにWindows10をインストールしてみたところ問題無くインストールが完了した。
うーん、これはNNLINUXのインストーラーの問題だったのかなぁ?
別のディストリビューションで試してみるかな?
”CF-B10”のメモリ交換
Panasonicの古いノートPCの「Let’s Note CF-B10」は15.4インチフルHD液晶を搭載したノートPC。
CPUは第2世代Core i5でメモリ容量は4GBが標準で、空きソケットが1基ある。
このノートPCにZORIN OSを載せて使っているんだけど、標準搭載メモリの4GBモジュールを取り外して2GBx2枚の合計4GB構成にした。
標準搭載メモリもソケットに挿さっているのでそれを外して2GBモジュールを入れ、空きソケットに同じく2GBモジュールを入れて完了、、、なんだけど、標準搭載のメモリが取り外し難い。
メモリ増設用のカバーを開けて見えるメモリモジュールは半透明のテープでソケットに固定されているので剥がす必要があり、さらに固定用のラッチを外してもそのままではすんなりと上には外せないようになっている。
なので、テープを剥がした後はラッチを外し(このラッチも狭い隙間に細いドライバを押し込むようにしないと外れない)、その後は一度奥に押し込んでソケットから抜き、それから開口部のほうに引き出して外さなくてはならないので結構面倒だった。
さらに別のメモリを装着するにも一度奥の方まで入れてから手前に引き出すようにしてソケットに装着しなければならないので、先にテープでも貼っておいた方が作業がしやすいかも。
#私はピンセットを使ってソケットに挿入した。
詳しい手順は
https://www.ipentec.com/document/hardware-panasonic-lets-note-cf-b10-memory-replace
を参考に。
上のブログに依れば最大16GBまで対応しているようで、
|
|
辺りの安くなっているメモリと入れ替えればWindows10をいれても十分使えるように出来る。
私の場合は先にも書いたように軽量なLinuxディストリビューションであるZORIN OSを入れてあり、2GBでも十分なところに2倍の4GBを載せているのでこれ以上増やすつもりは無いけどね(汗)。
上手く行っているようだ
昨日の記事「ftpによるファイルの自動取得」に書いたスクリプトはきちんと動作しているようだ。
昨日の時点で動作確認はしておいたのだけど、今朝方サーバーに入って確認したところきちんとファイルの受信が出来ていた。
実環境で動作するかちょっと気になるよなぁ(汗)。
ftpによるファイルの自動取得
海外の現場とファイルのやり取りをするために専用のftpサーバーを立てている。
そのftpサーバーがセキュリティアップデートをしたためか、これまでアクセス出来ていたPCではログインは出来るもののファイルの取得が出来なくなったのでなんとかならないかと相談を受けた。
ftpのログを見るとログイン後のコマンドの実行に対しエラーコード”500”が返ってきている。
これはコマンドの構文が正しくない場合に出るエラーで、ユーザー自身が調べたところサーバーのアップデートでこれまで使えていたPCのクライアントソフトが発行しているコマンドを解釈出来なくなったのが原因だと判ったのでその分を変更したら500のエラーが返ってくることは無くなったとのこと。
ところが今度はエラーも返って来ずタイムアウトになるというのでログを見ると確かに”000”が返っているのでクライアントソフト側でタイムアウトと判断して切断しているようだ。
この原因はどうもデフォルトのモードがpassiveモードになり、F/Wでポートを開けていない(なのでコマンドの応答が返って来ない)かららしい。
この時点でクライアントPCからアクセスさせるのは無理となった(セキュリティ上ポートは開けたくない)。
そこで代替手段としてLinuxサーバーで自動受信をさせ、クライアントPCから見える場所にファイルを置くことにした(サーバーのあるセグメントからはpassiveモードでも通信可能)。
自動受信のために作ったスクリプトが下記。
——————————————
1 ftp -n -i <<AA (<<は本当は半角)
2 open ftpサーバー名 or IPアドレス
3 user ログインユーザー名 パスワード
4 cd /ファイルのあるディレクトリ
5 binary ←必要ならバイナリモードの指定
6 mget [a-z]*.zip
7 bye
8 AA
——————————————
先頭行でftpに渡しているオプションは
-n ログインプロンプトを出さずにログイン処理をさせる。(-n: inhibit auto-login)
-i mgetコマンドで複数ファイルのget時の”y”の入力を省略する(-i: turn off prompting during mget)。
という意味。
-n オプションを付けることでログイン時のパスワードの自動入力をさせるため3行目のuser コマンドでログインユーザー名とパスワードを送信している(生で書くのでこのファイルの管理は厳重に!)。
後は4行目で目的のファイルのあるディレクトリに移動して6行目のmgetで一括でファイルを受信させている(この場合は先頭が小文字のアルファベットで始まる全てのzipファイル)。
7行目のbyeコマンドで切断し処理終了。
このスクリプトをcronに仕込めば定期的に自動実行できるので、ユーザー自身が毎回ftpクライアントを使う必要が無くなって少しは省力化出来ることになった。
「Endeavor NA101」にも「NNLinux」を入れてみた
古いEPSONのモバイルノート「Endeavor NA101」に非常に軽いLinuxディストリビューション「NNLinux」を入れてみた。
CPUがシングルコア世代のCeleron M423でメインメモリはオンボード512MBという低スペック。
メモリは1GBのモジュールを追加して1.5GBにした状態でインストールしたが、HDDが2.5インチのIDEで4200回転のものなので、HDDへのアクセスはとても遅く、これが全体的に足を引っ張っている感じで動作が重い。
起動してソフトを起ち上げてさえしまえばオンメモリでの動作はなかなか軽くて良さげ。
ブラウザ(Chromium)でサイトを開いてみると、ページによってプラグインが必要となる場合は開くまで結構重たく感じるが、それが無ければまだまだ十分使えそう。
とはいえ先日同じ「NNLinux」を入れたDELLのミニノート「Inspiron1210」と比較すると、ちょっと動作が重たく感じられるので、使うとすれば「Inspiron1210」のほうを選んでしまうなあ。
ということで実験だけで終わりそうだな(汗)。
ミニノートにNNLinuxを入れてみた
廃棄処分にするミニノート、DELL Inspiron1210にNNLinuxを入れてみた。
光学ドライブを持たないPCなので4GBのSDカードにインストールイメージを書き込んで起動し、そこからインストールした。
インストール自体はHDDが遅いので多少時間はかかったが特に問題なく完了。
事前に無線LANの設定をしておいたのでそのままネットワークにも接続でき、デフォルトのブラウザですぐにこのブログを書いている。
Mozcのキーアサインを好みに合わせて変更しただけですぐに使えるのは便利だ。
CPUがAtom z530、メモリが1GB(増設不可)、HDDが1.8インチ80GBという低スペックでもそこそこ動作してくれるのは凄いと思う。
これならもう少しハイスペックなEPSONのNA101やThinkPad X40辺りで十分実用になりそうだな。
