表紙のアイデアを持って楽しさと賞を目指してご参加下さい! LJ のメンバーは6年間も Linux Journalの表紙を考え続けていささか疲れました。そこで、読者から表紙のアイデアを募ることとしました。 次の号と特集に合った表紙のアイデアを求めます。
・84号、4月−−インターネット/イントラネット
・85号、5月−−Linux の研修と認証
・86号、6月−−国際化と新たな市場
Mojolin は、そのオンライン求人/履歴書データベースに国際サポートを加えた。求人情報ト及び履歴書が全地域の仕様で登録出来るようになった。この新機能により、国、及び米国とカナダの州による検索が可能になった。加えて、リンクはサイトをドイツ語、フランス語、イタリア語、スペイン語、ポルトガル語に翻訳するための BabelFish を備えている。求職者に最終機会を与える夜間e−メール代行の機能、 ウェブマスターが自分のサイトに、Mojolin の求人情報を含めさせる機能が含まれている。
LinuxITは、ソフトウエア、ハードウエア、文書、求職、及びユーザー・フォーラムのディレクトリを含む Linux portal を有し、Linuxのユーザーと専門家にサービスを提供している。
この吸収は、ヨーロッパにおける LinuxITの主要ベンダー−中立ソリューションプロバイダとしての地位を強化する。 01Linux はソリューション及びサービスのプロバイダとして自体のマーケティングを広範に進めて来ており、優れた技術専門家による質の高いことで名声を博して来た。
LinuxIT専務取締役Peter Dawesは、「01Linux の LinuxIT への統合により、我が社のサポートと専門家サービスが向上し、一つのサーバーから数百の重要使命システムを有するコーポレートまであらゆる型の顧客にトータルLinuxサポートを提供出来るようになった。我が社の受注開発、アプリケーションのLinuxへの連結、訓練計画と結びついて、linuxITが成長する需要に対しLinuxとオープンサービス・ノウハウにつき独特の地位を占めることを意味する」と語った。
Writing GNOME Applications
by John R. Sheets
ISBN: 0-201-65791-0
Writing GNOME Applications は Linux プログラマーが GNOME の基礎を習得し、これを用いて実際のアプリケーションを書く方法を理解するのに役立つ。本書は、重要事項に絞って、GNOMEの基本要素全体を説明し、これらが働く様相と理由を説明する。大量の参照資料として役立つよりも、本書は、最重要のファンクション呼び出しを詳細に説明し、、アプリケーション開発で働かせる方法を示している。まもなく OpenBook ライセンスの下であらわれるので、これと他の表題につき. OpenBooks website に注意されたい。
PostgreSQL: Introduction and Concepts
by Bruce Momjian
ISBN: 0-201-70331-9
PostgreSQL: Introduction and Concepts, PostgreSQL 世界開発チームの創立メンバーが書いた。複雑だが肝要なこのシステムを理解し使用するため需要の多い指導書と実用案内になっている。本書はここlocationの PostgreSQL ウェブさいとから入手出来る。
Manning Books の新しい書名Data Munging with Perl が注目されている。曰く「一つのフォーマットから別のフォーマットへの転換、俗語で 'munging'、は最も普通のプログラミング作業の一つである。新しい Manning book, Data Munging with Perlは、この重要過程を詳細に検討して、Perlがこの仕事に如何に適しているかを示す。本書は、任意のプログラム言語を使って日常的にmungingを行うプログラマーを対象としている。Perlに習熟したプログラマーは、仕事が楽になる新Perl技術を学習出来る」。
Data Munging with Perl閲覧希望者には、Manning はブックスオンラインの成分をおすすめする:目次、見本用に二つの章、索引及びソースコードが www.manning.com/cross/ で閲覧出来る。付属として、読者と著者 Dave Crossとの間の討論のため著者オンライン討論フォーラムを出版社が運営している。
本書は、現在PDFフォーマットで、間もなく売り出される印刷書物より割り引いた価格で入手出来る。ソフト装丁印刷版、304 頁、$36.95 。E−ブック版 - PDF format, 2 MB, $13.50
最後に、 CMP Books は KDE 2.0用プログラミングの新しい書名を紹介する。
Programming KDE 2.0
By Lotzi Blni
ISBN: 1-929629-13-3, Price: US$39.95 、CD-ROM付き印刷書 265頁で販売。
本書は、Kデスクトップ環境(KDE)でのアプリケーションを開発のすべての側面の説明を目的とするとCMP は言う。これはイベント起動プログラミングの基本から出発して KDE 開発を基礎から説明する。GUIウィジットおよびダイアログの設計と管理を経て、フォントとテキストのコントロール及びピクチャーディスプレーで終わる。著者は、オブジェクト/コンポネント・モデルと新Kannosa共有ライブラリ技術を用いるアプリケーション・プログラミング・インターフェイス(API)の用法、多重タスク・アプリケーションの管理法、埋め込みアプリケーションの構築法を説明する
ZF Linux Devices は、「最軽量PC」と呼びたいMachZを創り出した。MachZは、一インチ平方のチップに適合しながらも、Linuxを搭載した完全コンピュータである。MachZを巡って、医療装置や工場設備から家電、自動販売機まで60社以上が製品を設計している。
MachZチップ上PCの用途は
・無線ネットワーク・ハブ
・インターネット/ウェブ接続
・位置決めシステム
このウェブペイジ上でのセキュリティに関する最近のご意見によると、(/で指定される.)Linux Security FAQ に興味を持ったことのある人には役立つと思われます。
ShowMeLinux's 一月号が特別記事、ニュース、サポート満載で販売中です。
The Duke of URL に幾つか興味のある項目があります。
・Linux Buyer's Guide #7 このガイドは、Linuxで最も良く働く(万人に強調したいのはATI分野)三つのシステムとペリフェラルの(一般需要による)リストを含んでいる。別のセクションには、本月のトピックと、Linuxの将来計画を少し概観している。
・The Duke of URLに WinLinux 2000 review があって、Windows 9x のトップに位置する管理をおこなうディストリビューションのメリットを検討している。
・kernel 2.4の新発表に伴い、kernelのコンパイル方法から Linux 2.4、 Linux 2.2、 Windows 2000 SP1の間のベンチマークやLinux, 2.4.0の最大最新版における変更までを含む overview がある。突入や更新を検討中なら見る価値がある。
最後に、Slashdot には、LinuxがMSに取って最も脅威であると述べた Steve Ballmeran article がある。
PlugSys International は、本日新Max サーバーペイジ (MSP) 製品を発表した。これはXベース開発者にLinuxに移植しサーバー側スクリプトを行う信頼性の高い経済的な方法を与える。古典Xベース・コマンドとファンクションを用いて、開発者は、DBFファイル又はODBCファイルに記憶されたデータにアクセスし、その結果をHTML及びJava文書と混合するすることが出来 る。Max サーバーペイジ開発は、埋め込みXベース、コントロール構造体、説明、コマンド及びファンクションを用いてHTMLテンプレートを創ることにある。ベータテストの最終段階が進行中である。試験希望者は申し込まれたいapply. 会社は、Red Hat 6.2で働くウェブサーバーマシンに対しウェブ開発とアクセスの経験があるXベース開発者に特に関心がある。
ソフトウエア販売業者及び消費者のための世界一の評価サービスプロバイダRunaware, は、オンライン試験と補完資料通じてLinuxへの関心を深めるため英国資本オーブンソース・プロバイダSlashTCO との提携を本日発表した。
Runaware を用いてソフトウエア購入者はダウンロードすることなくウェブブラウザを通じてLinux製品を試験出来る。SlashTCO が提供する説明書などが評価プロセスを助ける。
世界的言語ソフトウエアプロバイダー WordWalla, Inc.が、, 新しいEmbedded Linux Consortium, LISA と Unicode Consortium 開発、普及のため三つの主要企業に合流した。
三つの主要企業のメンバーとして、WordWalla はLinuxアプリケーションとUnicodeスタンダードの最新開発に協力する。
VMware, Inc. 世界で300社が参加したGSXサーバー・ベータプログラムを完了し、本日から http://www.vmware.com/で購入出来ると発表した。
VMwareの特許申請中MultipleWorlds に基づいて、 GSX サーバーは情報技術(IT) 組織メインフレーム・コントロールをインテルベースのサーバー上で与える。このソフトウエアは、必要なサーバーを減らし、サーバー申し込みを試験して設定と管理を自動化することにより、増大する新規申し込みとサービス応答に当たってIT技術者がリソースを強化するのを助ける。
Linuxシステム用VMware GSX サーバーは、単一ライセンス用に $2,499の価格で、電子販売網を通じてVMwareから直接本日より入手出来る。シルバー、ゴールド及びプラチナ・レベルのプレミアム・サポートが事態毎に登録により得られる。GCXサーバーのパケージ版はVMware と近所の小売店で入手出来る。
・認証は、本来のUNIXパスワードファイル、PAM(したがってNIS又はNTも)又は完全にSQLに基づくことが出来る。SQLに基づく認証は、ユーザーが多くても認証が早くなるよう、スケールを工夫しなければならない。
・ISPdを通じる地域認証。現在Cistron radiusd 1.6.4 を用いているが、オープンソースは任意の地域サーバーが迅速にISPdに組み込まれることを意味する
・顧客情報の完全管理は、簡単なウェブベースのインターフェイスを用いて、得られる。
・パスワード維持のような一定の機能に付いてコマンドライン・ツールが利用出来る。
・請求書発行は cron ジョブとして走らせることが出来る。ISPdは、出来るだけ少ないメンテナンスを要求する設計となっている。
・ISPdは、UNIXドメインソケットとTCPドメインソケットの双方を聞く。ISPdはその認証計画の利点を生かすので同一マシン上でサービスを走らせる必要がない。
オンライン記憶、データアクセス及びe−メール管理ソリューションのソフトウエア開発者 OTG Softwareが 、Red Hat Linux ソリューションをサポートするLinux用新ソフトウエアDiskXtenderを発表した。この新製品は、真の不均質集中記憶管理を可能にすることを目的とする。OTG はWindows 2000/NT記憶システムの専門知識をLinuxに拡張して最近発表したUNIX用 DiskXtender 上に構築している。
コンピュータとそのハードウエア/ソフトウエアに関してここ数年技術は急速に変化したが、学校と教育において、どんな変化があっただろうか?
英国の中等学校を見てみよう。この学校は、約2年前に新型PCに更新したときまで、386上で GCSEと A-レベル作業を完成するのが常であって、それ以来定期的に新型PCを入手して来た。したがって、現在、(6学年を含む)1500名の生徒に対し150台以上のPCを持っている。他の学校では30名しか生徒のいない一学級用に十分なだけ得るのにくろしている処もある。
これらのシステムはまた良好な状態である。現場技術者が稼働状態に保っている。仕様も、特に、主として基礎を生徒に教えるため使うとき、良好である。 By the time they are doing GCSE/A-レベルの作業をするとき、単純事務作業、特にワープロ作業が多いので、高度の仕様は必要ないのだが、彼らは極めて高速のシステムを持っている。
これらコンピュータすべてはネットワーク化されており、生徒達は校内どのコンピュータからも文書を記録出来、前にセーブした文書を取り出すことが出来る。これはまた、生徒達がBIOSやコントロールパネル設定などをいじるのを防止している。生徒達それぞれが追跡出来る固有名を持っているからである。
これら全部のセンターには何があるか?ウインドウズは多くの生徒達が見やすいので、良い選択かと思われる。しかしLinux版が同じくらい易しくなったので、最早大量の知識を必要としない。そこで、これらコンピュータがすべてネットワーク化されているので、LINUXが良い選択肢になる。また、教育の重点が職業の資格取得にあるなら、Linuxの方がウインドウズより(未だそうでなくとも)普及すし、次第に多くの事務用コンピュータがLinuxで働くので、どんな分野に進むにせよLinuxの経験は生徒達の利益になるに違いない。また、これは良好なネットワーク特性を持っており、目的に合わせられるので、生徒達は、その競争相手より安定に働くと考える。価格の違いも忘れてはならない。競争相手のネットワーク化OSは数百ポンドもするのに比べ、SuSE Linux 6 の完全6-CD版は」30 (持っている知人がいればもっと安く)で手に入れられ、それで金儲けさえ出来る。
したがって、この学校はLinux Red Hat 又は SuSEを働かせている。その通りか?違う!ウインドウズを働かせている。筆者はこの質問を英国政府にした。生徒達が、Red Hat 又は SuSE Linuxのような別のグラフィカルOSの少なくとも基礎を少なくとも経験する機会さえ持たなかったら、今日のコンピュータ「大世界」で生き残る方法があるだろうか。
良かろう、Linuxを把握するのは易しい、だが、今日の雇い主は、習熟していない限り君を二倍には見ない、何をしようとするのか、嘘をつくのか?
したがって、GCSE及びA−レベルを得る方法につき政府が新ガイドラインを作り、複数OSに関する知識を支援するのを許す時期ではないのだろうか?これはまたLinuxとオープンソースのの全可能性を広く示すのに役立つ筈だ。通常のソフトウエアの代わりにオープンソース・ソフトウエアつかうことで政府の金が節約出来ることを忘れまい。利益は明らかだ。高価なサイト・ソフトウエア・ライセンスなど不要だ。
これは、若い世代の間にオープンソースに対する興味を生じる筈だ。また、政府と地方自治体が、税収を多くしたいため偏見を持っているのではなく、自分たちがそれ程多くを得なくとも廉価なソフトウエアを支援することも示す。だが、彼らはいずれにせよ、そんなに多くを必要としない筈だ。ソフトウエア購入に多くの資源を投資する必要がないのだから。
要約
本記録はLinuxマシン上で機能する開発環境を得ようとの筆者の努力から生まれた。開発環境を共にCygwin環境下に置こうとの試みが不満足だったので、Linuxの下で働くすべてを得ることに集中した。これは搭載する必要のあるソフトウエアを説明する。その中には、エミュレータ、コンパイラ、SDKが含まれる。これはまた解決すべきコンフィギュレーション問題を説明する。
緒言
ある日、友人と語った「自分でPalmアプリケーションが書けたら良いな」
大した考えでもないように見えたので、開発環境を得るのに集めるものを調べた。友人は主にwin32ユーザーで筆者は専ら*nixユーザーだった。両者が共通に利用出来るプラットホームはwin32だったので、利用出来るツールの調査から始めた。
win32 に関し、C開発には二つの主な方法がある。一つはMetrowerkのPalm用 CodeWarriorで、これは我々の趣味型計画には大変高価だった。他の選択肢はPRCの使用で、これはCygwin環境下で働く。Cygwinパケージはhttp://sources.redhat.com/cygwin/ で入手出来る。Cygwinパケージにより、win32マシンが*nixマシンに似た感じとなり、win32に多数の*nix共通ツール(ls, dd, gccなど)のポートが作られる。
週の大部分をwin32上のツールと格闘した後、win32上で開発との考えは捨てた。したがってLinux、特にRedHat 6.0と6.2が次の選択肢で究極の解決策だった。
すべてをLinux上で働かせ使用出来るようにするには組立なければならない部品が幾つかあった。必要なものは下記である。
・Palmエミュレータ(POSE)
・POSE用ROM 画像
・PRCツール (PalmOS用出力のあるGCC )
・PilRC (リソース・コンパイラ)
・PalmOS SDK
開始(エミュレータの搭載)
先ず取り掛かったのはPOSE Palmエミュレータであった。これは各種のスキン(ハードウエアのグラフィック表現)と共にhttp://www.palmos.com/dev/tech/tools/emulator/から引き出せる。前にコンパイルされたプログラムを持っているとき、これは早い。POSEは兎に角FLTKライブラリを必要とする。FLTKはhttp://www.fltk.org/から入手出来る。ここでも別のコンパイルされたプログラムを持っているときは、直截である。
POSEをコンパイルして搭載したら、先に進めると思うだろう?だが、そうは行かない。POSEには未だROM画像が含まれていない。ROM画像はPalm自体の中のフラッシュROM上に常駐するPalmOSのスナップショットである。
ROM画像を得るため二つのことを行うことが出来る。第一に、エミュレータと共にやって来るPalmアプリケーションがあり、これによりPalmOS装置を離れてROM画像をPOSEが吸い込むことが出来る。第二の方法はhttp://www.palmos.com/dev/program/にあるpalm社のソリューション・プロバイダ・プログラムに合流することである。一旦合流すると、各種のROM画像を有するhttp://www.palmos.com/dev/pavilion/にあるプロバイダー・プログラムにアクセス出来る。ここの画像の幾つかは、正常画像とともに試験用とデバッグ用なので、どれを取るか注意を要する。また、この開発領域にある画像は、通常PalmOS装置上に置かない筈のものである。このサイトの別の場所で別のPalm更新及びROM更新が入手出来る。
さて、働くエミュレータが出来た。File: Newを右クリックして使用するROM、エミュレートする装置、グラフィック・スキン、及びramサイズを指定する。次のようなものが見える筈である。
コンパイラと付属品の搭載
全部を働かせるには幾つかの部品を搭載する必要がある。これらは、PRCツール,palmからのSDK、及びPilRCツールである。PRCツールは周知のGCCツールのポートであるが、Palmに関する出力を生じる。SDKは小数のライブラリでPalm API用のヘッダファイルの全群である。最後のPilRCツールはリソース・コンパイラである。
PRCツールはhttp://sourceforge.net/projects/prc-tools/で見出せる。これはbinutils、gdb、及びGCCへのパッチ群ならびにPalmOSをサポートするリンカーツールである。RPMもまた下記で入手できる
http://www.palmos.com/dev/tech/tools/gcc/dist/prc-tools-2.0-1.Linux-i386.rpm
次にくるのはSDKである。これらは、Palm.comのサイトから得られる。 PalmOS 3.5 SDK (執筆時現在最新)は 、Palm.comのプロバイダ・パビリオンに登録した開発者のみ利用出来る。早期のSDKは下記で入手できる。
http://www.palmos.com/dev/tech/tools/gcc/dist/palmos-1-2-3.1-sdks-1.tar.gz
3.5SDKは、これらの文書を含まない。
PRCを搭載すると、/usr/local/palmdev と呼ばれるディレクトリが出来る。sdkはここに入れなければならない。"sdk"と呼ばれるシンボリックリンクが、使用したいSDKを指すようにしなければならない。例えば、これは筆者の/usr/local/palmdev がどう見えるかを示す。
[scooter@scooter scooter]# ls -l /usr/local/palmdev/total 28drwxr-xr-x 4 root root 4096 Mar 8 2000 Palm OS 3.5 Supportdrwxr-xr-x 3 root root 4096 Nov 1 10:03 docdrwxr-xr-x 2 root root 4096 Dec 21 1999 includedrwxr-xr-x 3 root root 4096 Nov 1 10:02 liblrwxrwxrwx 1 root root 7 Nov 1 10:07 sdk -> sdk-3.1drwxr-xr-x 3 root root 4096 Feb 9 2000 sdk-1drwxr-xr-x 3 root root 4096 Feb 9 2000 sdk-2drwxr-xr-x 3 root root 4096 Feb 9 2000 sdk-3.1
必要な最後のツールはPilRCで、これは、すべてのリソースファイルをコンパイルしてバイナリを生じる。これらの殆どは、ボタン、メニュー、及びグラフィックをスクリーン上に置いて行う。これらは、http://www.ardiri.com/index.cfm?redir=palm&cat=pilrcで見出すことが出来る。
これらすべてのツールをまとめると、機能的開発環境が出来上がる。CプログラムをLinux上でコンパイルするためgccを使うのには慣れているので、PalmOS用Cコンパイラは m68k-palmos-gccである。殆どのPRCコンパイラ・ツールは、m68k-palmos-*と命名されている。
Spamは、今日e−メールアドレスを持つ代償になった。ニュースグループに投書したり、オンライン顧客簿に登録したり、何かの方法でネット上にe−メールアドレスを持つと、間もなくspambotに刈り取られる。そうでなくともspamに金を取られる。さもなければ本当の情報交換に使われる帯域幅を占めて、ISPの全体費用を上げ−その結果、各利用者の利用料を上げる。この費用は、月当たり数千万ドルにも達し(優れた概観として、http://www.techweb.com/se/directlink.cgi?INW19980504S0003を参照)、これらは各利用者の月当たり請求額では約2ドルになる。アクセスを「バイト当たり」で支払っていると、さらに別のコストが掛かり、それらすべては利用者自身の消費時間に加算される。
何か出来ることがあるだろうか?答えはイエスだ。シェル・アカウントにアクセスし簡単なツールを使使って貰えば(シェル・アカウントを設けている殆どのISPがしてくれ
っz)Spamが我らのメールボックスを汚すのを止めることが出来、それらをISPで遮断することが出来る。spamを根絶やしにしたい人にはhttp://www.cauce.org/をご覧になることをお薦めする。これらはspamに対する立法措置を唱道している人達で、この人亜達のサイトは皆様に助けて頂ける方法をお知らする。しかし本文では、皆様のシェルアカウント又は皆様自身のマシンでspamを止める方法に絞る。
それには幾つかの方法があるが、最も普及しており−既にシェルアカウントを持つISPが提唱するのは−Stephen R. van den Bergによる"procmail" と呼ばれるプログラム、即ち保存すべきもの、篩い分けすべきもの、別のメールボックスに転送するものを知らせる 「レシピ」を用いるe-メールプロセッサである。したがって、二つのことを行う必要がある。第一に、 "procmail"の使用を自分のシステムに知らせる必要がある。第二に、したいことの出来る「レシピ」を一緒になって作る必要がある。
筆者の場合、"fetchmail"を経由して、daemonの用に働かせながら筆者のe−メールを受けた。これは通常Netscape経由でメールを受けている人にも推奨したいことの一つである。fetchmail は一つの仕事(メール受け取り)を行い、Netscapeがしようともしないこと(例えば、異なるプロトコルで異なるユーザーネームを持つマルチサーバー)、及びIPSの代わりにNetscapeが喜んであなたのメールボックスを読んでしまう、最悪で複雑な状況を大変うまく処理する。
通常、筆者の"fetchmail" は、五分ごとに作動して、使っている幾つかのサーバーからメールを引き出した上 "sendmail" に送ってから、筆者のメールボックスに入れる。ヒューと音がするのは、無駄な努力のように思えるが、大量バッチを処理する目的のMTAの規模祖小さくしていると推測する。・・・実際、"procmail" を使って、最後のステップを除去している。
筆者の"~/.fetchmailrc"、"fetchmail" が働いているときすることを制御するリソースファイル、の中には、簡単に
mda "procmail"
と書いた行がある。これは メール配達人として"sendmail"の代わりに"procmail"を使うことを"fetchmail" に知らせている。
これを行う別の方法ーIPSマシンでメールを篩い分けするときに推薦する方法−は、ホーム・ディレクトリの中に ".forward"ファイル(これはメールを「送る」こと−この場合は自分のプロセッサに−をMTAに知らせる)を作ることである。
".forward"を編集して、次の行の一つを入れる。
"sendmail" を使っているなら(この場合は引用符が必要)
"|exec /usr/bin/procmail"
I "exim"を使っているなら、代わりに
|/usr/bin/procmail
[注記:Mike Orrによれば、 "exim" はそれ自体のprocmail類似篩い分けランゲージを持っている。筆者は見たことがないが、"exim" ドキュメントにある筈だ]
"procmail"への実際のパスをタブルチェックするする必要がある。コマンドプロンプトで
which procmail
とタイプすれば良い。
これでメールがprocmailを通るようになった。効果は?・・・無しだ。えっ?そうなのだ−さらにレシピを設定しなければならない。レシピの入っている極めて簡単なファイル、".procmailrc"を見てみよう。、
PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin
MAILDIR=/var/spool/mail # 正しいことを確認のこと
DEFAULT=$MAILDIR/username #完全にオープション
LOGFILE=/var/log/procmail.log # 推奨
:0:
* ^Sender:.*owner-linux-kernel-announce@vger.rutgers.edu
linux-kernel-announce
:0:
* ^Resent-Sender.*debian-user-request@lists.debian.org
debian-user
これらの始めの四行は、自分のシステムにとって変数が正しいと点検を済ませたら、すべての".procmailrc"に入れなければならない。次に来るのは−主要米国郵便局より多い分類をする膨大な".procmailrc"にも−(殆どの人が使う)spam篩い分けだけの全く複雑でないものにもー望の通り複雑さにに出来る。上記のレシピはメールを単に二つのボックス、"linux-kernel-announce" 及び"falling off the end"前に "debian-user" と、その他全部を$DEFAULTに入れると、の二つに分類する。
レシピは以下のように構築する。
:0:
* ^題名:.*test
joe
記号 意味
======== =======
:0 レシビ開始
: ファイルを使用 (強く推奨)
* 条件開始
^ 行頭に合わせる....が続く
Subject: ``題名:'' ....が続く
. 任意の文字 (.) ....が続く
* 0 以上の先行文字(この場合任意の文字)....が続く
test ``test''
joe 整合に成功したら, フォルダーに $MAILDIR/joe を置く
ここでなされるのは、幾人かのソリューションである。この論文を書くため、筆者は Answer Gangのメンバーを呼び出したが、その答えの幾つかを−理由付けと共に−下記に示す。
筆者自身のレシピは、使ってから間がない。最初に基本的なものを作ったが、これは直ちにspam容量を少なくとも95%は減少した。後に、ブラックリストとホワイトリストを付け加えて、一定のアドレスからのメールを常に受信/拒絶した。ブラックリストは、spammer、特に大量の時間を浪費するゴミを送るもの、を撃退するのに有用である。ホワイトリストは、友人からのもので題名が如何に変でも(私には変な友人がいる)篩い分けしようとは思わないものである。
"mutt"を使う人のために、"/etc/Muttrc"に人名を付け加える方法を示す。次の行を加える。
macro index \ew '| formail -x From: | addysort >> ~/Mail/white.lst'
macro pager \ew '| formail -x From: | addysort >> ~/Mail/white.lst'
macro index \eb '| formail -x From: | addysort >> ~/Mail/black.lst'
macro pager \eb '| formail -x From: | addysort >> ~/Mail/black.lst'
そして筆者の "/usr/local/bin"に "addysort"と言うスクリプトを入れる。
#!/usr/bin/perl -wn
# Picks out the actual address from the "From:" line
unless (/\</) { print; } else { print /<([^>]+)/, "\n"; }
上記を与えられて、与えられたspammerに対してすることは'Esc-b' を叩くことだけで、以後会うことはなくなる。同じように、ホワイトリストに載せたいものには、'Esc-w' を叩くと永久に歓迎される。
筆者の"~/.procmailrc"を示すと、、
PATH=/usr/local/bin:/usr/bin:/bin
MAILDIR=/var/spool/mail
DEFAULT=/var/spool/mail/ben
LOGFILE=/var/log/procmail
SPAMFILE=/var/spool/mail/spam
# e-メール送り手がホワイトリストにあるか点検、そうならば直接
# $DEFAULTに送る。これがどのフィルタより前に来ることに注意
:0:
* ? formail -x"From" -x"From:" -x"Sender:" \
-x"Reply-To:" -x"Return-Path:" -x"To:" \
| egrep -is -f $MAILDIR/white.lst
$DEFAULT
# e-メール送り手がブラックリストにあるか点検、そうならば
#"/dev/null"に送る
:0
* ? formail -x"From" -x"From:" -x"Sender:" \
-x"Reply-To:" -x"Return-Path:" -x"To:" \
| egrep -is -f $MAILDIR/black.lst
/dev/null
# Danの例より遙かに改善された実際の spam-killerを以下に示す:これらが
# 私のアドレスの一つに当てられていなければ−それら全部に−"fuzzybear"
# 又は "ulysses" が含まれている−それはspamである。整合方程式の頭に
# '!'があるのに注意。これは整合の意味を変える。それは「行がこれらの
# wordに合わな#ければ# $SPAMFILEに送る」である。 "^TO" は procmail変数で
# "To:", "Cc:","Bcc:"及びその他の "To:"-type headers に整合する
# ('man procmailrc'参照)
:0:
* !^TO .*(fuzzybear|ulysses).*
$SPAMFILE
# X-Advertisement header = spam!
:0:
* ^X-Advertisement:.*
$SPAMFILE
# 誰宛でもない!
:0:
* To:[ ]*$
$SPAMFILE
# 全く "To:" ヘッダーがない!
:0:
* !^To: .*
$SPAMFILE
多くの人にとって必要なのは、(最初の変数は勿論)上の最後の四節だけで、その最初の節で仕事の95%をしてしまう。終わりの三つはDanから盗んだが、簡略に出来る場所は判っている。
とにかく、別の有用なことは、spammerを知らせるのに行ったメカニズムである。筆者の"/etc/Muttrc"に、私は、
send-hook (~s\ Spammer) 'set signature="~/.mutt/spammer"'と書いた行と
前略 貴兄から来たと思われるspammerからのメールを受け取りました。こんなことを始めた奴を攻撃して八つ裂きにして下さい。彼のガラクタはヘッダーと一緒に改変しました。早々 Ben Okopnik
-=-=-=-=-=-
と書いた署名ファイル"~/.mutt/spammer"を持っている。
(笑い)私はspammersが嫌いだ。
だから、苦情を送るため、'h'キイを使って題名を見て、発信アドレスの 'whois' を走らせ、メールを送る 'm' を叩いて、プロンプトで下記をタイプする。
To: abuse@<domain.com>
Subject: Spammer
ヘッダーの中のキイワードを与えられて、 "mutt" が私の"spammer" の署名ファイルを引き出しました。それをセーブし、 'A' キイを使って改変して送ります。約15秒のタイピングでいつでもspamをやっつけます。
(丁度この文書を送ろうとしたとき、別のspamをやっつけた。今度はUUnetからだ。(笑い)たたき直してやるぞ)
別の人のレシビに進むに当たり、LG自体がどちらかと言うとspamに関して弱い立場にある。 アドレスがNetに数千回(今は数百万回)も載っているので、いつでもspammerの餌食になる。つまり、今まで述べた「堅固な」フィルタは活用出来ない。spamに対する安全な「フィルタ」で我々の読者のメールの何割かを閉め出さないのは何か?を考えて見よう。人々は世界中から色々な方法で各種の顧客について(滅茶滅茶なヘッダーを作るものをも含めて)メールを送る。LGにとってのspam率は、Mike Orrによると月当たり28%である。良い"mirror"フィルタになり得る"優先:大量" メールの排除は良い選択肢ではない。多くの"News Bytes" エントリが(大量メール、ニュース発表であるため)この方法で送られるからである。HelpDex マンガシリーズの公刊に至る照会さえもこの方法で入る。
何をなすべきか?
返答は慎重であると思われる、殆どの人より頻繁に"spam"を篩い分け点検した上で「疑わしければ受信する」である。LGのスタッフにとって、仕事を進める上の余分な費用になる。彼らの「緩やかな」フィルタでさえもその負担を幾らか軽くするのが望ましい。
総括担当でシステム魔術師のDan Wilderは、その "~/.procmailrc"に以下の「スパムキラー」を持っていた。
:0:
* !^(To:|From:|Cc:|Resent-From:|Resent-To:).*(eskimo\.com\
|ssc\.com\
|linuxjournal\.com\
)
$SPAMFILE
その前は例外を許すルールである。メーリングリストについては、
:0:
* ^(From:|To:|Cc:) .*(-list\
|debian\
|networksolutions\
|ciac\
...
|bugs\
)
$DEFAULT
筆者のホワイトリストの同じことより多いが".procmailrc"自体にハードコードされている。そこに新人を加えるのは難しくないので、自動的でないのが多分詰まらないが、筆者のと同じくらい良い解決策と思われる。
LGの編集者Mike Orrは 、彼のレシピで(設計はDan Wilder)spam排除と同様に少々の分類を行っている。
LOG=$HOME/log
#LOGFILE=$LOG/procmail-log
VERBOSE=no
SPAMFILE=$LOG/spam
UMASK=077
LOGABSTRACT=on
COMSAT=no
DEFAULT=$HOME/Mail/Maildir/new
# 実際の働き者.
# 偽の受信者 .. To: or From: or Cc: ssc.com, でないので
# To: の中に "@" がある(壊れたMUAからのローカルメールにはない)
:0:
* !^(To:|From:|Cc:) .*(\
ssc\.com\
|linuxjournal\.com\
|linuxgazette\.com\
)
* ^To: .*@
$SPAMFILE
ふむ、ここでspammerをブラックリストに載せたようだ...
:0:
* From: .*john@songpeople.com
$SPAMFILE
# X-Advertisementヘッダーを持っていれば、spamだ!
:0:
* ^X-Advertisement:.*
$SPAMFILE
#誰宛でもない!
:0:
* To:[ ]*$
$SPAMFILE
# 全く To: がない!
:0:
* !^To: .*
$SPAMFILE
# でなければ、end に行き default。
随分詰め込んだようだが、実際は大したことでない。
1)受信メール全部を"procmail"にパイプする。
2)レシピを作る。
それだけだ。別のspam関連素材を行う沢山の破片を投げ込んだが、上の二つのステップが、spam撃退に必要なすべてだ。
もし、メールボックスがspamで一杯になっていて、上の二つのステップを行うなら、一発で全部の篩い分けがが出来る:
cat mbox | formail -s procmail
それで、メールボックスからspam撃退だ。Linuxと"procmail"の力のお陰で、洪水に悩んだのは昔の話になるだろう。 良いspam狩りを!