snapが怪しい…

イメージ
メインマシンの Ubuntu26.04が固まる 通常のUpdateを行なって、再起動が必要というので再起動を実施。 gdmのログイン画面は表示される ユーザ選択 パスワード入力 デスクトップに切り替わる途中で固まる マウスは動作せず キーボードは反応する あれ?タイミングの問題かな?と思い再度実施するが、改善はしない。 どうやら最後のUpdateが問題っぽい。 ということで、GRUBメニューからSafe Mode(Netoworkあり+root)で起動する 記憶では、Linux-Kernel関係が7.0.0-29に上がっていた表示を見ているので、前の7.0.0-28に戻す。 改善せず ちなみにメインマシンの環境は Ubuntu26.04(64GB) + GeForce3060(8GB) + デュアルディスプレイ SSD(1TB+2TB) , HDD(4TB)という構成 一応、sshでの接続はできるので、MacBookからリモートでこの状況のログを確認しながら作業する。 ログを渡してGeminiに確認するが、nvidiaのドライバと、kernel7.0.0-29の問題と指摘される。 まぁ過去にもアップデート後にドライバ入れ直すことは多々あったので、またかぁ…という感じ。 そこで、open版に入れ直したり、バージョン変えたり…。 どれもだめ。 結局3時間ほど粘ったが改善せず。

PerlでMIME処理

いろいろとCPANで遊んでいて

PerlでMIMEの処理をさせようと、モジュールをインストールして試してみる。
今まで、自前処理で行うことが多かったので、勉強がてら検索&TRY。

メール解析には「MIME::Parser」が便利そう。
ということで、入れてみる。
$ sudo perl -MCPAN -e shell
cpan[1]> install MIME::Parser
たったこれだけで、入るんだから楽なもんだ。
my $parse=MIME::Parser->new();
my $message = $parse->parse(*STDIN);
my $head = $message->head(); 
なんて処理を書いて、マルチパートなデータを食わせて、いろいろとテストしていたら、読み込んだメールデータをパースするたびに、ファイルを生成してくれる…。
txtとhtmlがわさわさと増えているじゃないか…。

つうことで、何かオプションが有るはずと思いつつ、探してみる。
MIME::Parser インスタンス設定 output_to_core」なんて記録を見つけた。

1をセットすると、parseデータをメモリ上に保持する。デフォルトでは解析結果のうちbody部(本文やマルチパートの添付ファイル)は即時ディスクに書き出し。
(perldoc では、巨大ファイルが添付された場合などでちょっとriskyとさ)
ということらしいので、セットしてテストしてみる。
$parse->output_to_core(1);
$parse->tmp_to_core(1);
$parse->tmp_recycling(1);
$parse->use_inner_files(1);
こんな感じで、書いておけば、オンメモリで作業してくれるらしい。
昔、メモリが少ない時の実装なんだろうな…なんて思いながら、現在の大量にメモリが使える時代に感謝!!

で、output_to_core(1)をセットして、テストすると作業ファイル等全く作らなくなった。

まあ、どでかいメールを食わせる予定はないので、メモリで処理してくれた方がありがたい。ファイルがディスクを食いつぶす心配もいらないし、消す作業も必要ない。

ただ、記述にあるように巨大な添付ファイルだけは注意しておこうと、今は思うけど、すぐ忘れそうなのでココに書くわけですww

CPANってやっぱりすごいな

と本当に思います。
車輪の再発明をしないということが、どれだけ素敵なことか…。

ただ、登録されているモジュールなんか多すぎて、探しきれなかったり、古かったり、使い方のわからないものも多いので、ある意味面倒なんだよね〜

なので、Amazonでちょこっと検索してみたら、「Perl CPAN モジュールガイド」なんてのが出ていたので、ポチりました。


さて、もう少しPerl遊びをしよ〜っとww


コメント

  1. もしかして
    my $filer=$parser->filer;
    $filer->purge();

    とか?

    返信削除

コメントを投稿

励みになりますので、簡単で良いので一言くださいませ。

このブログの人気の投稿

MEGAにも弱点があった?

Ubuntu24.04 でGUIが死んだ

VirtualBoxでUSBを使う方法が分かった!