Linux Gazette 6月号
今月のLinux Gazette の内容
n今月のニュース
nウイークエンドメカニック
n Mailfilter −迷惑メールから守るプログラム
n Debianの入手:rsyncの例
nオープンソース・マーケットの危機はLinuxサイト崩壊を意味するか?
n秘密兵器
nセキュリティとLinuxルータープロジェクト
nUMLケースツールを用いるオープンソースソフトウエアモデルの改造
nawk の紹介
nSSH1とOpenSSHにsshエージェントを用いる
nPerl と PostgreSQL との組合せ
nPerlの学習、パート4
ncowsay−スクリーン用ASCIIアート
 

 

今月のニュース
Linux Journal 2001年7月号
Linux Journal 7月号の特集は世界征服である!正しくは、国際化と新市場に焦点を当ており、表紙に16カ国の国旗を背景に南極でLinux旗を掲げるペンギンを描いている。内容は"Paranoid Penguin"と言うセキュリティ記事と、taming monsters についてのゲーム概観である。

目次は here ここをクリック、申し込みはここ here

1999年以降の全文はhttp://www.linuxjournal.com/lj-issues/mags.html.で読める。

R最新版はオンラインでhttp://interactive.linuxjournal.com/. でのみ申し込み可能

 

埋め込みLinux Journal 2001年5/6月号

The May/June issue of Embedded Linux Journal 2001年5/6月号は、新規インターネット・コンピュータ(NIC)に基づくクロス開発の特集で第二回 ELJ コンテストの概観を含む。北米サインアップの有資格申込者はhttp://embedded.linuxjournal.com/subscribe/. で登録無料。

focuses on Cross Development and includes an overview of the second ELJ contest, based on the New Internet Computer (NIC). Subscriptions are free to qualified applicants in North America - sign up at http://embedded.linuxjournal.com/subscribe/.

 

Linux Journal'の 2001 バイヤースガイド
Linux Journalの 2001バイヤースガイド販売中。本書は唯一のLinux関連販売業者とサービスの包括的案内書である詳細は
http://www.linuxjournal.com/lj-issues/issuebg2001/index.html.
入手は http://store.linuxjournal.com/. のオンラインLinuxショップで。

 

▼▼▼ディストリビューション関連ニュース▼▼▼
Linuxのロシアでのディストリビューション
今春ロシアに二つのLinuxのディストリビューションが出現した。
ASP-Linux はRed Hat 7.0に基づいており、Linux 2.4 kernelをオプションとして搭載出来る。Windowsから動かせてパーティションをし既存Windowsマシンからの二重ブートとしてASPLinuxを搭載する新搭載プログラムEspressoDownloadがある。ASPLinuxはシンガポールと関係が深いがほとんどロシア人である。
ALT Linux はMandrake Linux.の子孫である。ディストリビューション創始者は以前IP Labs Linux チームとして知られていた。ALT Linuxは新サーバー・ディストリビューションALT Linux Castleのベータ版を配布している。ダウンロードはここDownload

ALT Linux is a decendant of Mandrake Linux. The creators of this distribution were previously

 

Caldera

Caldera Systems, Inc.The Santa Cruz Operation, Inc. (SCO)の合併を完了したと発表した。Calderaはこれで「専門サービスを拡張して特注ソリューションを offer 出来る。さらに、Calderaは Acrylis Inc. から WhatifLinux の資産を取得した。WhatifLinux技術は迅速で信頼性のあるソフトウエア管理のためインターネット配布のツールを提供する。


Caldera はCalderaデベロッパ・ネットワークの発足を発表した。Calderaデベロッパは、UNIX上、Linux上、両者結合のプラットホーム上で開発出来るようにする。これにネットワークの世界的サポートとサービスが加わって、メンバーは世界的に移植可能な製品を開発し市場をいち早く獲得出来る。

 

Mandrake

MandrakeSoft は、その最新版8.0がダウンロードで入手出来ると発表した。これは最新グラフィック環境KDE (2.1.1) とGNOME (1.4)を含む。

 

Rock

ROCK Linux のバージョン1.4の活動準備が出来た。発表ではマイナーな次の発表を待つよう警告しているが、このバージョンは生産使用を目的とする。ROCKは「搭載が困難」と言われて来たが、そうでもない。バイナリ搭載は容易だし、経験者にとってソース搭載は論外だ。ROCKの哲学philosophy はその案内guideを読むと判る。

 

SuSE

SuSE Linux 7.2 が6月15日に入手出来る。kernel 2.4.4, KDE 2.12とGnome 1.4を含むほか、インテルItaniumベース (64-bit)システム用7.2が6月20日にリリースされる。このバージョンはSuSEのみから入手出来る。


IBM はAS/400の後継、iシリーズが5月25日に入手出来ると発表した、IBMのiシリーズ用LinuxOSはSuSE Linux が最初で唯一である。PowerPC用SuSE Linux 7.1がIBMのiシリーズ用LinuxOS としてSuSE ftp サーバーから無料でdownloadedできる。


SuSE Linux, はまた日本語SuSE Linux 7.1 パケージが無料で download 出来ると発表した。


SuSE はCompaqの AlphaServer用 SuSE Linux 7.1 を5月末に発表する。

 
▼▼▼その他のニュース▼▼▼
コンファレンスと会議の予定
Linux エキスポ、ミラノ      http://www.linux-expo.com/
      2001年6月7日、イタリー、ミラノ
Linux エキスポ、モントリオール  http://www.linuxexpomontreal.com/EN/home/
      2001年6月13-14日、カナダ、モントリオール
オープンソース携帯サミット    http://osdn.com/conferences/handhelds/
      2001年6月18-19日、テキサス州オースチン
USENIX 年次技術会議       http://www.usenix.org/events/usenix01/
      2001年6月25-30日、ボストン
PC エキスポ           http://www.pcexpo.com/
      2001年6月26-29日、ニューヨーク
夏期インターネット・ワールド   http://www.internetworld.com/
      2001年7月 10-12日、シカゴ
O'Reilly オープンソース・コンベンション http://conferences.oreilly.com/
      2001年7月23-27日、サンディエゴ
第10回 USENIX セキュリティ・シンポジウム  http://www.usenix.org/events/sec01/
      2001年8月13-17日、ワシントン D.C. 
HunTEC 技術エキスポとコンファレンス  URL未詳
ハンツビツIEEE協賛  2001年8月17-18日、アラバマ州ハンツビル
コンピュータフェスト       http://www.computerfest.com/
      2001年8月25-26日、オハイオ州デイトン
LinuxWorld コンファレンス& エキスポ   http://www.linuxworldexpo.com/
      2001年8月27-30日、サンフランシスコ
Red Hat テクニカルワールド・ブラッセル  http://www.europe.redhat.com/techworld
      2001年9月17-18日、ベルギー、ブラッセル
O'Reilly ピアツーピア・コンファレンス http://conferences.oreilly.com/p2p/call_fall.html
      2001年9月17-20日、ワシントンDC
LinuxWorld Conference & Expo     http://www.linuxworldexpo.de/
      2001年10月30日−11月1日、ドイツ、フランクフルト
第5回年次Linux ショウケース & コンファレンス http://www.linuxshowcase.org/
      2001年11月6-10日、カリフォルニア州オークランド
セキュリティ e-ビジネス・ソリューション・エキスポ http://www.strictlyebusinessexpo.com/
      2001年11月7-8日、テキサス州ヒューストン
LINUX ビジネスエキスポ       http://www.linuxbusinessexpo.com/
      2001年11月12-16日、ラスベガス
第15回システム管理会議/LISA 2001    http://www.usenix.org/events/lisa2001/
      2001年12月 2-7日、カリフォルニア州サンディエゴ
 
無料Linux@work Europe 2001 -- 参加を呼びかけ
3年目を迎えて、LogOn Technology Transferは"Linux@work"と言う一連のLinux行事をヨーロッパ中で行う。"Linux@work"毎にコンファレンスと展示がある。街から街への1日の行事が2001年中にヨーロッパの幾つかの都市で開かれる。色々な有名人が講演をする。プログラムはhttp://www.ltt.de/linux_at_work.2001/
 
Linux NetworX がヨーロッパに市場を拡大
LinuxのプロバイダLinux NetworX,が、フランスのAthena Global Servicesとの提携を発表した。Athena は新情報技術の付加価値ディストリビュータで、ヨーロッパにおける最初のNetworX ディストリビュータとなる。詳細はNetworX の newsletter を。
 
TeamLinux | explpre 新会話的kiosk製品系列

TeamLinux | explore は6個の新ユニットを含む完全製品系列が$1,499 から$6,500で直ちに入手出来ると発表した。kioskは各種ビジネス環境用に設計されており、ユーザーのマルチメディア及び転換要求に合わせて最適特性のパケージを提供する。TeamLinux | exploreの新kiosk系列には、タッチスクリーン、プリンタ、磁気カード装置、モデモ、キイボード、ビデオ会議、無線接続などの各種周辺オプションが含まれる。

 

● IBMがKDEチュートリアルを提供

IBM は、「Kデスクトップ環境」つまりKDEを使うデスクトップベーシック上の無料 tutorial を加えた。tutorialはLinuxユーザーにKDE GUIを自分用特製にする方法を教える。2月にリリースしたKDE 2.1はLinux用インターネット接続デスクトップが対象。

 

● Linuxブレクファスト

Times N Systems は a technology breakfast series を主催しており、参加者を募っている。彼らの技術はIP-SAN と記憶仮想化が主でLinuxで働く。

 

● Linuxリンク
Trashing your filesystem with dump: 'dump' がLinux用に安全なバックアップツールでない理由。Linus. Duke of URL からの引用を含む Linux Weekly News 短報。
・ Duke of URL はLibranet Linux 1.90の review を投稿した。reviewはいつものように、色々な情報を提供。
・Duke of URL もまた、Linux下でのPromise FastTrak 66, 100 とLite IDE RAID カードの記事 article を投稿した。これらカードの完全な秘訣と共に RAIDの概観と初心者向けその作用を述べている。
NetBSD 1.5.の概観。
・最後に、 Linux Buyer's Guide 10があって廉価システム、中位システム、SMPリグ及び強力ユーザーrig構築のためのハードウエアを推薦する
Slashdotの面白い話:
・マンドレークでのShakeup タイム。
・Linux落書き(graffiti)を真似たIBM の community service
Smart Routers と通信量の欠陥制御の可能性
・同じ論脈で、The Fight for End to End は、端末−端末王国を脅かす政策において onetwo の観点を分かつ(端末−端末王国とは、ネットワークが愚か者で両端からの申し込み者が賢いときのインターネットの働き方を意味する。愚か者は頼まれれば何処にでも接続する。代わりに−賢いネットワークは−営業価値のある者を優先して、幾人かは謝絶する)
・Jessica LitmanによるDigital Copyright は過去、将来、未来の著作権法とデジタル・ミレニアム著作権法 (DMCA)を解説する。Litman は教え子の多い法律学者だ。

Python

PyDoc,、新規 Python ヘルプ・システム。
Pointless Window Manager, Pythonで書いてある、詳細 moreLinuxPlanetで。
Slashdot interview Guido van Rossumによる, Python.の創設者
・Python サーチエンジン・モジュールに関する記事 article

経済悪化はオープンソースには良い good

マイクロソフトがオープンソースを非難 denounces

mamalinux はモントリオールの最大linuxポータルの一つである。

5月 9日は (1996) ペンギンがLinuxのマスコットになった誕生日。誕生祝いに A Complete History of Tux (So Far) を覗いては!

 

▼▼▼ソフトウエア関連ニュース▼▼▼
ssh 2.9

ssh 2.9がリリースされた released. 物語は LWN へ。

 
Aladdin StuffIt: Linux とSolaris をベータで

Aladdin Systems, Inc. がその圧縮技術StuffIt と、圧縮ユティリティStuffIt Expanderのベータ版をLinuxとSunのsolaris用に、発表した。Stuffltは、ウインドウズ又はマックのプラットホームからアーカイブを自動抽出してZip, StuffIt, Binhex, MacBinary, Uuencode, Unix Compressを作るのに使うことが出来る上に、これら全部のに加えてtar files, bzip, gzip, arj, lha, rar, BtoAtext ,Mimeに拡張することが出来る。www.aladdinsys.com/StuffItLinux/、にLinux用公開ベータ、http://www.aladdinsys.com/StuffItSolaris/.にはsolaris用に公開ベータ。

 
XFce

XFce はGnome 又は KDEより軽い(メモリの少ない) GTKベースのデスクトップ環境である。アプリケーションにはパネル(XFce)、ウインドウズ・マネージャ(XFwm)、ファイル・マネージャ、バックアップ・マネージャなどが含まれる。バージョン3.8.1はドラッグアンドドロップとセッション管理をサポートする。

 
HeroixがLinux用Heroix eQ Management Suite を発表

Heroix Corporation は、Windows 2000、Windows NT、UNIX、Linuxシステムを統一するHeroix eQ Management Suiteを発表した。新製品ファミリは各種プラットホーム環境の傍受と管理を統一してeビジネスや重要アプリケーションの性能と利用性を向上する。

 
新製品がWebに競争を持ち込む

Wolfram Research Inc. は、近くwebMathematicaを発表する。これはWebに会話的計算を持ち込むソリューションである。公式にはリリースされていないが、以前のプログラムの下で顧客をえらぶため現在入手することが出来る。

試験期間中 webMathematica に絶大な関心が寄せられた。その結果、Wolfram Research.の選んだ銀行、技術会社その他が既にwebMathematicaを使って提携している。可能な用途については http://library.wolfram.com/explorations を見られたい。

 
LutrisがHewlett Packardとウェブ及びモバイルのアプリケーション開発を急ぐ
有線無線の開発展開用アプリケーション・サーバーのプロバイダLutris Technologies Inc.が Hewlett-Packardと販売提携して、Linuxとウインドウズ2000を走らせるHP Netserver 上の企業規模アプリケーションの開発展開のため、Lutris Enhydra 3.5 をHPの顧客に販売すると発表した。インターネットと無線ウェブアプリケーションの開発を可能にする。
 
Linux用 QuickDNS 3.5

Men & Mice がLinuxシステム用包括的DNS、 QuickDNS 3.5をリリースする。QuickDNSは5年近く主要なマック用DNSマネージメントシステムであった。QuickDNSは、使用が容易なインターフェイスを用いて、異なるプラットホーム上のDNSサーバーを同時管理することが出来る。 BIND 8.2.xの上で働くので設定は容易である。

QuickDNS 3.5は1ライセンス$495、2ライセンスのパックは$790で販売 retails する。ダウンロードも可能available

 

Operaニュース
Opera Software とGoogle サーチエンジン開発者の Google Inc.が戦略的提携をし、OperaがGoogleのサーチ技術をOperaのウェブブラウザに組み込む。OperaユーザーはGoogleのサーチ技術に直接アクセスして、13億のインターネット頁を検索出来る。

Opera Software は Opera for Linux.の新バージョンを立ち上げた。Opera 5(ファイナル)はLinuxプラットホームに楽なインターネット経験を提供する。今日の発表でクロスプラットホーム・ブラウザ開発におけるOpera Softwareの優位が固まった。

速度、大きさ、安定性などのOperaの特性に加え、ユーザー設定を特注に出来るなどウインドウズ版になかった数々の特徴がある。Opera5は無料ダウンロードで available 入手出来る

 
● 新無料Xベース・コンパイラ:Max 2.0

PlugSys は、Max 2.0 無料版が入手出来ると発表した。LinuxとWindows用の32-ビットXベース・コンパイラで世界中の開発者に無料登録を提供する。クラシックXベースコマンドとファンクションを使って、Max開発者は、データをFoxPro, dBASE 及びClippeからアクセスする文字ベースの申し込み書を書く。スケーラビリティ確認のためMaxはすべてのポピュラーなSQLデータベースに接続する。製品はPlugSys.comウェブサイトからダウンロードすることが出来る。

 

● LokiゲームとNokia

NokiaLoki は、デジタルビデオ放送、インターネットアクセス、個人ビデオを結合する技術、新"infotainment" 装置、Linux GameをNokia Media Terminalで配信する Agreement 協定を結んだ。協定の一部として、LokiからのLinuxベースゲームが Media Terminalにプレインストールされる。 Media Terminalの開始はヨーロッパで秋から。


Loki Softwareは, MindRoverヨーロッパ計画が5月23日に出荷されると発表した。CogniToy のMindRoverは 3D戦略/プログラムゲームで、プレーヤは自動ロボットを自分で完成することが出来る。$29.95のSRPがあり新Loki webstoreに予約することが出来る。小売り店一覧も入手出来る available.

 
単一ボックス及びストリームメディア上のVMware/Cisco Mutliple OS
VMware Inc.は、Cisco Systems, Inc.がVMware GSXサーバーを使用して、ストリームメディアソリューションを提供すると発表した。Ciscoは、少ないハードウエアと低コストで、VMware GSXサーバーを、Microsoft Windows やReal Networksのようなストリームメディア・フォーマットを単一のCisco コンテントエンジンに統合する。
 
OSALPのバージョン0.7.1が入手可能

オープンソースAudio Library Projectの0.7.1.ベータ版がリリースされた(Linux, Solaris Sparc及び FreeBSD)。OSALPライブラリはC++クラスライブラリで高レベルオーディオプログラムに必要な機能性を備えている。基本クラスはオーディオ機能性をチェインで作ることが出来、誘導クラスはこれらをエディット、ミックス、タイマー、再生、記録、高率サンプルコンバータをサポートする。0.7.1.で新しいのは FreeBSDのサポート、各種バグフィックス、新メークファイル、新mp3リーダーである。

 

その他のソフトウエア
Workstation Solutionsは、Windows とLinuxの新サポートをそのQuick Restoreバックアップと復旧ソフトウエア用に発表した。拡張プラットホームサポートは、迅速な実行、簡単な操作、Microsoft Windows 2000, UNIX, 及びLinux環境への迅速なQuick Restoreアクセスをサポートする。

IMA からのInternet Exchange Messaging Server 5.0 ベータは、単一マシン又は分散環境で働く完全な、スタンドアローンのオープンアーキテクチャ・ソリューションである。Windows 98, 2000, NT及び主要なLinuxをサポートする。
 
Copyright © 2001, Michael Conry and the Editors of Linux Gazette.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 67 of Linux Gazette, June 2001
 

 

ウイークエンドメカニック

By Thomas Adam

7月号へようこそ

7月号へようこそ!如何お過ごしでしたか?僕は地理の勉強が段々忙しくなりました。余り成功しそうにはありませんが。

DLUG (Dorset Linux Users Group)が「Linuxの日」を設けて、デスクトップにLinuxを搭載する人の手伝いをしました。当日の様子は DLUG siteへ。

学校が忙しくて、記事が「詳しく」ないのをお詫びします。

 

LWM メイルボックス

以下は、頂いたe−メイルです。皆様のご意見を見て下さい。



◇Thomas Nymanさんから


「メカニック」が好きです。二つ申し上げます。




1) windowsを搭載しようとすると色々問題がありますが、モニターやグラフィックインターフェイスには全く問題がありません。Xwindows ではモニター画面を満足に扱えません。サイズ変更がうまく行かないのです。解決法が分かりません。




2) telenet経由でログインしてxwindowsを別のマシンで動かす方法を書いて下さい。


[モニター設定方法の記事を書いています!   -- Thomas Adam ]



◇ nomi さんから


X、主としてXF86Configファイルの設定方法を教えて下さい。


[いくらは述べた積もりですが。X config 詳し過ぎる点もあります。ご意見は覚えておきます。 Thomas Adam]



◇ Don Reid さんから


「シェル環境の特注」の記事はコマンド行初心者の参考になりました。


ただ、既存コマンドに別名を付ける方法は、面倒を起こします。




これらコマンドのうち一つを用いるスクリプトを使うとき、働きが変わります。




新コマンドのタイプに手を慣らす方がよいでしょう。


会話的シェルから別名を引き出す方法もありますが、ソーススクリプトには無効です。


[ 良いご指摘です。私が無視した点です。コマンドとしては絶対に別名を付けてはいけないことをあらためて強調します。プログラムが埋め込みコマンドを呼び出すと変な動作をします。 -- Thomas Adam ]



◇root さんから


.bashrcのショートカットをいじりました。最初はうまく行かなかったのに、




リブートしたらうまく行くようになり、以後は別のショートカットでも大丈夫です。




何故でしょう?


[へえ。変ですね。リプートしなくても、bashは変更を直ちに取り上げる筈です。いずれにせよ、うまく行って良かったですね。 -- Thomas Adam ]





◇ Paul Rowland さんから


お前の言うことは全部 geekdom(間抜け)だ。自分勝手だ!


[信任投票を有り難う!記事を読んで貰ったのを喜んでいます。"geekdom"の言葉にこんな使い方があるとは知りませんでした。 -- Thomas Adam ]
 
Linux インストレーション: Xwindow とモニター

Nymanさんからのe−メイル(上記)で、Xuindowを使うとモニターがうまく働かぬことがあるとのご指摘があった。私自身に問題がなかったので詳しく述べなかった。

Linuxを最初に搭載したとき、直ぐにAnotherLevel (FVWM2)にブートし、画面解像度が 640x480に設定され、ウインドウを開こうとする度にクリックして設定変更するのが良く分からなかった。何故か??800x600画面解像度を要求していたのだ。同様の問題ならば、簡単に直せる。

1.<Ctrl><Alt><Fx> ("Fx" はファンクションキイ)を押して、予備ターミナルに変える。ここでルートとしてログインする。

2.好みのテキストエディタを使ってファイル"/etc/XF86Config"をエディットする。

3.XF86ConfigはLinux毎に異なるので、どのセクションとは言えないがScreenのラベルのついたセクションを探す。次のようになっている筈だ。



Section "Screen"


Driver      "SVGA"


SubSection "Display"


Depth   8


Modes   "800x600"  "640x480"


EndSubSection





SubSection "Display"


Depth   16


Modes   "800x600"  "640x480"


  EndSubSection


  SubSection "Display"


    Depth   24


    Modes   "800x600"  "640x480"


  EndSubSection


  SubSection "Display"


    Depth   32


    Modes   "800x600"  "640x480"


  EndSubSection


  Monitor   "Primary-Monitor"


  Device    "Primary-Card"


  DefaultColorDepth     8


EndSection


4.ここですべきことは、使用する各カラーデプスについて解像度を変えることだ。それには、 "Modes"の次の値を変える。このためのシンタクスは、最初の値が最初にアクチベートされる値で、第一に失敗したときの第二はバックアップで、以下同様だ。

Xに特定のカラーボックスを使うことを告げるには、"DefaultColorDepth" を望みのカラーデプスに変えなければならない。注意:指定は一つだけだ!

したがって、16ビットモード 800x600表示で働かせたいなら、次のように設定する。バックアップとして次の解像度も入れる。



 Modes      "800x600"  "640x480"


続いて、もしそうなっていなければ、 "DefaultColorDepth" を16に変える。

これで終わりだ。ファイルをセーブしてXディスプレイをブートする。

これを行う"Xconfigurator"のようになプログラムもあるが、自分でエディットする方が遙かに早い。

 

Xwindowの設定とカスタマイズ

この記事は、Xでなくコマンド行を使うのが好きだが、方法の分からぬ人に役立つ。Xを満足に働かせたい人にも役立つ。これの話題ははLinux Gazetteの早い号でも取り上げたが直接聞かれたので、書くことにする。

まず、Xディスプレイを走らせる方法を決める。二つ方法がある。異なるrun-levelに入りそれでXDM, GDM, KDMのようなXログインクライアントを走らせる方法と、ログインの後コンソールでコマンド startx & をタイプする方法だ。

第一の方法を使う利点は、殆ど常にXwindowsを使うなら、設定に気を遣う必要がないことだ。

KDMは、ログオン前にWindow Manager を選べる特徴があり、便利だ。そのためのコンフィギュレーションはプログラム"kcontrol" を使ってKDE自体からおこなう。"Applications --> login"をクリックすると、KDM構成方法を示す下の画面が出る。

kdm configuration

代案はXDMを使うことこれはKDMより作業が一つ多いが、簡単なので私が使っているログインクライアントだ。

 

ファイル

使うべきファイルの一覧を示す。これらは"/etc/X11/xdm"ディレクトリにある。

/etc/X11/xdm/Xresources
/etc/X11/xdm/Xservers
/etc/X11/xdm/xdm-config
/etc/X11/xdm/window-managers

 

カスタマイズ

各ファイルを順に取り上げて、最良のカスタマイズ法を述べるy。

Xresources

このファイルは、主ログインウインドウの見掛けと感触をカスタマイズする。一定のキイストークを有効にしたり無効にしたり出来る。多分最も重要なファイルだ。

カスタマイズの必要はないが、出来ることを述べる、行毎には説明しないが、このファイルの情報は、自ずから分かる筈

1.ログインボックスの頭にあるテキストを変えるには、値を変える



xlogin*greeting:    Welcome to this console


"Welcome to this console" を"Welcome to CLIENTHOST"に変えた。ホームネットワークで私の使っているターミナルを知るためだ。"CLIENTHOST"は変数で、ホスト名の最初の部分に相当する。私の場合はGrangedairy だがLinux設置以来ホスト名を変えていない人なら"CLIENTHOST" はLocalHostを返すだろう

余談だが、ホスト名を変えるには、"/etc/hostname"と、もしあれば "/etc/sysconfig/network"ファイルに記憶された値を変える。注記:変更を有効にするには、 run-level 6 (init 6)に切り換えなければならない。

2.この挨拶の色も変えられる。次を見よ。



xlogin*greetColor:      CadetBlue


私は"CadetBlue" の値を "Yellow" に変えた。

3.ログインウインドウの各種フレームの色も変えられる。



xlogin*borderWidth:     2


xlogin*frameWidth:      0


xlogin*innerFramesWidth:    1


最初のものは、ログイン画面の全体borderコマンド幅を変える。

二番目は、borderのフレーム幅を変える。

三番目は、主ログインウインドウの各入力フィールド、つまりログインとパスワード、について内部フレーム幅を設定する。

主画面の背景色のようなものや、エラーメッセージ「不正ログイン」の色も変えられる。



xlogin*failColor:       red


*Foreground:            black


*Background:            #c0c0c0


最初のものは説明を要しまい。この型の値を変えるときは、ファイル名を指定してもよいし、 #RRGGBBフォーマットを書いてもよい。

第二と第三のコマンドは、前景と背景だ。

 

Xservers

このファイルについては、仮想コンソールが変えられること以外に余り言うことはない。設定を変えようとするVT上で mingetty が走っていないと分かっているとき設定を変えるよう助言する。前に変な経験をした。 "/etc/inittab"の中の設定を見る。



:0 local /usr/X11R6/bin/X :0 vt07


だから、この値をカスタマイズするには、"vt"の後の数字を変える。 "/etc/XF86Config" ファイルに設定された以外を使うとき、使用するカラーデプスを規定することも出来る。それには、 "vt07" の後を次のように変える、



:0 local /usr/X11R6/bin/X :0 vt07 -bpp 16


[私は二つのxserverを働かせるxdmを持っている。vt9とvt10だ。vt9が私のものでvt10はルームメイトのものだ。だから彼は私に関わりなく自分のことが出来る。私の /etc/X11/xdm/Xservers は(Debianで)次のようになっている。
xdm running two xservers, one on vt9 and the other on vt10. The first o


:0 local /usr/bin/X11/X :0 vt9  -bpp 24 -deferglyphs 16 dpms


:1 local /usr/bin/X11/X :1 vt10 -bpp 24 -deferglyphs 16 dpms               -Mike.]




 




xdm-config


このファイルはXDMの各種コンフィギュレーションを設定する。カスタマイズしたことはないし、その必要もないと思う。

 

window-manager

このファイルにはXが使うwindow-managerのリストが入っている。幾らでも次々に一行毎に規定出来るが、トップだけが実行される。それがないとき次のものを実行し以下同様に続く。私のコンフィギュレーションは、以下である。



/usr/bin/X11/AnotherLevel


/usr/bin/X11/twm


#file below symlinked from "/usr/openwin/bin/openwin"


/usr/bin/X11/openwin




 




終わりに


これで今月のLinux Weekend Mechanicは終わり。読んで頂いて有り難う。色々なご意見をお待ちします。

 

Copyright © 2001, Thomas Adam.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 67 of Linux Gazette, June 2001
 

 

 

Mailfilter −迷惑メールから守るプログラム

By Matthias Arndt

 

1.Mailfilter とは?

Mailfilter はメイルボックスから迷惑メールを遠ざけるツールである。ダウンロードされた後篩い分けるprocmail と異なり、mailfilterはfetchmailの前にPOP3 アカウントから直接検出してオンラインで不要メイルを篩い分ける。(procmailの使用例はLinux Gazetteの記事 http://www.linuxgazette.com/issue62/okopnik.html.参照)

この利点は、迷惑メイルをダウンロードしないことだ。帯域幅の節約になる。

Mailfilterは良いツールで、搭載と維持が容易だ 。 .fetchmailrc にも追加出来て、ダウンロード前に不要メイルの検出を自動化する。

 

2.Mailfilterの搭載

Mailfilterの搭載は、http://mailfilter.sourceforge.net/ からソース(.tar.gz ファイル) としてダウンロードし、次のステップにしたがう。

1.アーカイブを臨時の場所にアンパックする
2.ソースツリーをアンパックした臨時ディレクトリに変える
3 ./configure とタイプ
4.make とタイプ
5.ルートとして (必要ならsu を使用): make install
ソースパケージ付属の manualを読んで、詳しい情報を得る。

Mailfilterを働かせるにはプロンプトでmailfilter とタイプするだけ。 Mailfilterは有効なコンフィギュレーション・ファイルが働く必要がある。

 

3. Mailfilterコンフィギュレーション・ファイル

3.1ファイルのコンフィギュレーション

このファイルはmailfilter.sourceforge.net,からサンプルコピイ出来るが、ここではスクラッチから作って見る。

mailfilterを使いたいユーザーは .mailfilterrコンフィギュレーションファイルを必要とする。ホームディレクトリに置く。次のステップで作る。

1.好きなシェルプロンプトに行く。 rootでないことを確認(ターミナルウインドウ又はコンソール)
2. cd とタイプしてホームディレクトリのルートに行く
3. touch .mailfilterrcとタイプ
4.chmod 600 .mailfilterrc とタイプして(root以外の)人に読まれるのを防ぐ
5.好みのエディタを起動して .mailfilterrcをエディットする。
mailfilterはPOP3のパスワードを平文で記憶するので、ファイルをchmod する必要がある。

ここでコンフィギュレーションファイルに内容を追加する。Mailfilterはコンフィギュレーション・ファイルがないと働かない。

 

3.2 Mailfilterコンフィギュレーション・ファイル内のコメント

#で始まる行はコメントなのでmailfilterは無視する。空白行も同様。

 

3.3 Mailfilterコンフィギュレーション・ファイルに基本事項を追加

コンフィギュレーション・ファイルの最重要部分にはメイルアカウントが含まれる。 mailfilterrcファイルに次の行を加えると一つ以上のアカウントを規定出来る。

mailfilterrcは今のところPOP3アカウントしかサポートしない。

行の順序を変えないことが重要。

・SERVER=mailserver (ここにメイルサーバーのネットワーク名を入れる)
・USER=username (これは POP3 使用名を規定)
・PASS=password (ここにパスワードを入れる)
・PROTOCOL=pop3 (IMAP はサポートされていないのでこの行は変えない)
・PORT=110 (ここにPOP3サーバーのポートを入れる、規定値は110)
キイワードを大文字にすることに注意、SERVERをServerとすると mailfilteは認識しない。

別の重要なオプションは次の行を使うログファイルの規定である。

・LOGFILE=logfile (ここのファイル名を入れる−このディレクトリとファイルに書込アクセスを持っていなければならない!)
ログファイルを指定しないと、Mailfilter は働かない。ログを保存したくないときはログファイル登録のとき /dev/null を用いる。
これで、基本的コンフィギュレーション・ファイルが出来た。Mailfilterは働くが、メイルには何もしない。
 
3.4 コンフィギュレーション・ファイルに篩い分け規則を追加

これはmailfilterコンフィギュレーションの微妙な部分である。ここでコマンドを追加してメイルに有用なことをさせる。

これはコンフィギュレーション・ファイルに特殊なコマンド行を追加しておこなう。Mailfilterは篩い分けに規則的表現を用いる。

3.4.1 篩い分けの際、Mailfilterがケース・センシティブであるか否かを規定

これを行うにはコンフィギュレーション・ファイルに次の行を追加する。

   ・REG_CASE=no

又はyesとするが、caseは篩い分けを遙かに容易にする。
3.4.2 Mailfilterがテキストを規格化するか否かを規定
・NORMAL=yes
これによりMailfilterは``,L.E-G,A.L; ,C.A-B`L`E, +.B-O`X` ;D`E`S,C;R,A.MB;L,E.R-]'' を ``LEGAL CABLE BOX DESCRAMBLER''として受け取る。
空白は規格化されないので、``v i a g r a'' をviagra とは翻訳しないことに注意。
3.4.3 不要メイルを題名で殺すサポートを加える

コンフィギュレーション・ファイルに次の行を追加する。

・DENY=Subject:.*some text
some text を篩い分けしたいテキスト名で置き換える。
3.4.4 特定発信者からの迷惑メールを殺すサポートを加える

同一アドレスから迷惑メールを受け取るとき便利。次のシンタクスを使う。

・DENY=From:.*spammer@somewhere.org
spammer@somewhere.org を迷惑メールのアドレスで置き換える

ドメイン全部を殺すことも出来る。次のシンタクスを使う。

・DENY=From:.*@domain
domain を迷惑ドメインで置き換える。

お分かりのように、 mailfilter になすべきことを告げるのは簡単だ。 CC, BCC, TOによってもメールを阻止することが出来る。

3.4.5 特定発信者を受け入れる

これは他のフィルタのうち一つが適用されるときでも、特定発信者が送ったメイルについてはmailfilterがそれを無視するようにする

・ALLOW=From:.*my_friend@somewhere.com
規定発信者からのメイルはいずれも保存する。
特定題名にもこれを適用することが出来る。例えば、迷惑メールがmailfilterに関するものであれば、
・ALLOW=Subject:.*mailfilter
 
4. fetchmailを用いる迷惑メール篩い分け自動化の方法は?

Fetchmailはメールを取出す前に篩い分けプログラムを呼び出す特性を有する。次の.fetchmailrcを加えてメールをダウンロードする毎にmailfilterを呼び出す。



preconnect mailfilter


上の行のmailfilterを完全パスとmailfilterバイナリ名、例えば/usr/local/bin/mailfilterで置き換える。

注意!mailfilter が失敗(config file破損、パスワード不一致など)すると、fetchmail はつながらない。. だから 新命令を加える毎に mailfilter コンフィギュレーションだけをテストすること。

5.結び

Mailfilterは良いツールだ。fetchmailにメール本体を篩い分けさせることは出来なかったが、少なくとも、迷惑メールのアドレスが有効な限り、迷惑メール撃退に役立った。

これは大変良く働く。とくにインターネットリンクが低速で迷惑メールが多いときには、mailfilterを試すことを薦める。

 

Copyright © 2001, Matthias Arndt.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 67 of Linux Gazette, June 2001
 

 

Debianの入手:rsyncの例

By Bill Bennet

 

コンピュータ使用のインストラクションには無料OSの入手方法が書いてあるとは限らない。Debian GNU/Linux は無料ネットワークOSである。(".iso" 又は".raw") Debian CDイメージファイルを無料でインターネットからダウンロード出来る。次いで、ブート出来るインストールCDを".iso" ファイルから作ることが出来る。ftp と rsync プログラムを使う必要がある。

Debian CDイメージファイルの入手方法を聞こうとすると、重労働になる。重労働は「迅速な答」を貰っていらいらに変わる。「迅速な答」ではcdimage.debian.orgを読めreadと言われる。だが、オープンソース王国の話とソースコードには夢中になる筈だ。

「迅速な答」の幾つかは「これの方法を知りたいか?」と聞く。行間を読みなさい。手掛かりがある。直接のコマンドが欲しい人が rsyncでDebianを得る方法は、



rsync -rv trumpetti.atm.tut.fi::debian-cd/2.2_rev3/i386/binary-i386-1_NONUS.iso /right/here


trumpettiの帯域幅を節約するには、自国又は近くのミラーを使うと良い。ミラーのリストは http://cdimage.debian.org/rsync-mirrors.html.にある。
早くしたければ

Debian CD作製を早くしたければ costarの pseudo-image kitに行くことが出来る。

1. CD用のリストを*Get
2. fast ftpサーバーのノート又はDebianのミラーを*Make
3.リストを pseudo-imageキットに*Give して pseudo-imageファイルを作る
4. pseudo-imageファイルを(リストに合わせて)公式CDイメージに*Renameする
5.rsyndを使って*Use 、これを正確な公式CDにする
6. md5sumを使ってCDを.*Check
 
1. CD用のリストを*Get


rsync -av trumpetti.atm.tut.fi::debian-cd/2.2_rev3/i386/binary-i386-1_NONUS.list /right/here







http://cdimage.debian.org/cd-images/2.2_rev3/i386/binary-i386-1_NONUS.list


2. fast ftpサーバーのノート又はDebianのミラーを*Make .

家でDebianアーカイブのミラーを作ることが出来るmake a mirror 。pseudo-imageキットを使ってミラーにアクセスしたいとき、パスをミラーに告げ、"debian"ディレクトリをインクルードすると、下に"dists"ディレクトリが待っている、



/mnt/mirror/debian





ftp://ftp.us.debian.org/debian


3.リストを pseudo-imageキットに*Give して pseudo-imageファイルを作る


./make-pseudo-image binary-i386-1_NONUS.list /mnt/mirror/debian


--又は--


sh make-pseudo-image binary-i386-1_NONUS.list ftp://ftp.us.debian.org/debian


**


**dists ディレクトリがミラーディレクトリの真下にある筈。

4. pseudo-imageファイルを(リストに合わせて)公式CDイメージに*Renameする


mv pseudo-image binary-i386-1_NONUS.iso


5. rsyndを使って*Use 、これを正確な公式CDにする


rsync -av trumpetti.atm.tut.fi::debian-cd/2.2_rev3/i386/binary-i386-1_NONUS.iso /right/here


6. md5sumを使ってCDを.*Check

不要になったMD5SUMS が幾つかある。

MD5 (my-fine-new-iso-file.iso) = 9ce8f9fd8f5f1f47efe3eb77d5aae96b

これらはファイル名とsumを持つが、これらのファイルに"md5sum -c"は使えない。以下のように見える。

9ce8f9fd8f5f1f47efe3eb77d5aae96b my-fine-new-iso-file.iso

sumとファイル名との間に一つか二つのスペースがある。三つ以上置くとファイル名の一部になるので置かないこと。



md5sum -c MD5SUMS





これら全部を自分でおこなう理由

早くするためである。

数個のCDイメージサイトのうち一つからデータのリリースに消費する時間:途中で送信が中断される。

多くのDebianパケージミラーサイトのうち一つからデータのリリースに消費する時間:途中で送信が中断される。

CDイメージはローカルミラーから直接でもftp経由で作られる。flp世界をうろつかないでもリストを入手してCD作製に必要なファイルを捕まえられる。スマートだ。

 

既存CDの更新

CDイメージを更新するのに、rsync は両端で同一のファイル名を必要とする。

手持ちCDのddを作ったとする。



dd if=/dev/cdrom of=/here/is/mynewfile.iso


これをそのまま保存しrsyncを用いて更新する。

rsyncサーバー上の同一CDファイル名を知る必要がある。

次いでこの新isoを正しい名に付け替える。

 

ファイル名を見出す

ファイル名を見出すには:

rsync server を見出す



rsync -avn the.server.goes.here::


でそのモジュールが現れる。

例:



rsync -avn ftp.fifi.org::


debian又は debian-cdと言う名のモジュールが見付かるので、そのdebian-cdが欲しいイメージを多分含んでいると推定することが出来る。

そこでそのcdimagesモジュールのリストを入手する。



rsync -avn the.server.goes.here::cdimages/


rsync -avn ftp.fifi.org::debian-cd/


でそのモジュールへの各エントリが示される。CDイメージファイルの名前とディレクトリ位置が明らかになる。

 

暗号化を得る、セキュリティだ

欲しいイメージは非米バージョンだ。それにはセキュリティpgpと暗号化ソフトウエアがついているからだ。米国内から非認証実体に売る訳ではないので、非米イメージを探す必要がある。



rsync -rvn the.server.goes.here::cdimages/ | less


rsync -rvn trumpetti.atm.tut.fi::debian-cd/ | less


でリストが入手出来て小さいpagerにパイプされる。

小さいpagerは巨大なリストの遅いロードを待つ間にブランクになるのでファイルに出力する。



rsync -avn the.server.goes.here::cdimages/ | less -o my-list-file


rsync -avn ftp.fifi.org::debian-cd/ > my-list-file




 


例:

偶にある大きい−大きいリスト:



rsync -avn ftp.fifi.org::debian/ > my-new-list-file


ファイルのDebian ミラーリスト全体を得ようとすると、7メガバイト必要になる。ここにはDebianの全世界がある。

fifiサイトにはDebianと呼ばれるモジュールがあって、ここからファイルのリストを入手しようとすると、全く大きいファイルを入手する。

名称変更をしてCDに合わせる

更新 rsync を選るには、ファイルを同一名にしなければならない。



mv mynewfile.iso /right/here/potato-i386-1_NONUS.iso


例:

コマンド行長さは巻き込むことから始まって、バックラッシュ・ニューライン・キャラクタを用いて短くすることが出来る。



rsync -rv --block-size 8192 the.server.goes.here::cdimages/2.2_rev3/i386/potato-i386-1_NONUS.iso /mnt/here/is/where/it/goes


There is a space between "iso" and "/mnt".



rsync -rv --block-size 8192 \


the.server.goes.here::cdimages/2.2_rev3/i386/pot\


ato-i386-1_NONUS.iso /mnt/here/is/where/it/goes


短く切って、行を短くすることが出来る。



更新するには、rsyncをおこなう




rsync -rv trumpetti.atm.tut.fi::debian-cd/2.2_rev3/i386/binary-i386-1_NONUS.iso /right/here


上のコマンドは、potato-i386-1_NONUS.isoを /right/here/ ディレクトリに引き込む。

二つのファイルの違いのみが送信される。帯域幅が節約出来る。

自分のための更新、チェックリスト

1.君のファイルは好きなものと同じにする
2.そのリモートファイルをrsyncして君のと同期させたい
3.rsync はrsync臨時ディレクトリの中に同じなの影ファイルを作る。次いでそれを君の新ファイル名にする

670 MB ファイルを作るにはf670 MB 自由スペースが必要

CDイメージファイルに加えてその670MBがディスクにあるとする。



rsync -av --timeout 999999 --block-size 8192 the.server.goes.here::cdimages/2.2_rev3/i386/potato-i386-1_NONUS.iso /right/here


rsync -av --timeout 999999 --block-size 8192 \


the.server.goes.here::cdimages/2.2_rev3/i386/po\


tato-i386-1_NONUS.iso /right/here


There is a space between "iso" and "/right".

スペースが足りなくなった、臨時ディレクトリが必要

働くディレクトリに余裕がないときは -T を用いて臨時ディレクトリを割り当てることが出来る。入手するCDと御名に大きさの巨大な影ファイルを必要とする。



type


df


スペースを見るには


rsync -av --timeout 999999 --block-size 8192 -T /my/temp/dir \


the.server.goes.here::cdimages/2.2_rev3/i386/pota\ 


to-i386-1_NONUS.iso /right/here


警告:


自分で治められる危険が少しある。



rsync -av the.server.goes.here::cdimages


はcdimageの内容全部をダンプしようとする!

行の終わりに / を置く.

"-n" オプションは "--dry-run" で、何をしたかを示す



rsync -avn the.server.goes.here::cdimages/


はリストを示すだけである。

実世界の例:



rsync -av trumpetti.atm.tut.fi::debian-cd


で16ギガバイトのCDイメージがあらゆるアーキテクチャで得られる。



rsync -av trumpetti.atm.tut.fi::debian-cd/ | less


は大きいリストを示す。ファイルを探すときは "-n" を使うのが安全だろう。



今直ぐ大きい更新を




rsync -av --timeout 999999 --block-size 8192 -T /my/temp/dir \


trumpetti.atm.tut.fi::debian-cd/2.2_rev3/i386/potato-i386-1_NONUS.iso \


/mnt/here/is/where/it/goes


で新CDイメージファイルが /mnt/here/is/where/it/goes.にダンプされる。

ここで示した例はマニュアルにない。

rsyncプログラムの用意が調った

バックアップが出来る、sshを使える、遠隔でコマンドを実行しファイルリストが出来る、ファイルが実行できる、臨時ディレクトリを移せるなど。これはプログラムの立派なコピイで同一名称のファイルの間の唯一の違いは帯域幅を通じて送信されることだ。

同一名称のファイルをローカルに入手した。このrsyncはミラーの仕事をやり遂げたが、ftpをおこなうとき沢山の新ファイル名がある。

以下は初心者の入門書だ。

1..先ず、試す。指を動かす, plural。そこ小さい実験から始める。console 又はxterm二つの文字dfをタイプしEnterを押す。
2.告げられた自由スペースの大きさを覚える。各ブロックは1024バイトと計算する。dfからの出力356784は(356784 * 1024 バイト)を意味する。357MBだ。
3. 670 MB CDファイルと作業用影ファイル用に余分な670 MBを持っているときは、そのまま進みrsyncを使ってCDファイルを更新する。

多くの人は新CDファイルをつかむためrsyncを使おうとする。元のCDファイルを活用しよう。rsync経由で違いだけを入手して新バージョンに更新することが出来る。

rsyncを使ってサイトの更新とバックアップ

ここで諸君を分析したい。帯域幅を使い過ぎる。常にWebサイトをエディットし少し変更しているか?それならrsyncを使ってWebサイトをミラーし給え。各ペイジのいたる所に50kの文書を加えたいなら、同一ファイル名を保ちrsyncを使ってミラーし給え。新isoファイルをダウンロードして新CDを作っているなら、その名を変えてrsyncを使い最新バージョンで更新し給え。何を得するか?

rsyncは帯域幅を節約する

Debian CDを入手しようとすると、巨大なファイルのリストがメモリにロードされ、大変時間が掛かる。我慢して待て。これら沢山のファイルは、送信の必要があるか否かチェックするため開かれる。

md5sum.txtファイルを入手し給え。rsyncの後これがディレクトリに入ったら、



md5sum -c md5sum.txt


とタイプすると、ファイルは正確にチェックされる。

costarの pseudo-image kit

pseudo-image kitをここで here.入手する。

pseudo-image kit.についてのリストを入手する。



rsync -rv --timeout 999999 --block-size 8192 -T /my/temp/dir \


trumpetti.atm.tut.fi::debian-cd/2.2_rev3/i386/binary-i386-1_NONUS.list \


/mnt/here/is/where/it/goes


でリストファイルが /mnt/here/is/where/it/goesに入る。これは binary-i386-1_NONUS.listと呼ばれる。

このbinary-i386-1_NONUS.list はCDイメージの構築に使用される。Debian のパーシャルミラー(14 ギガバイトあるぞ)を持っていれば、pseudo-image kitがローカルミラーからCDを作る。極めて早い。ディスクドライブの値段が安くなったので、利用出来るドライブをアップすべきだ。引き留める努力 effort は知らないだろうが、公平使用の自由の時代は終わりつつある。

ftpを使わない理由

670MB以上のftpサーバーと数時間の作業をを締め出そう。

J.A. Bezemerから引用すると



"


> 殆どの人はネットワークよりも早くローカルハードディスクからビットを得る




> pseudo-image kit は、殆どの接続上で、数時間でなく数分で終わる。


"


これは物語の一面で、他面では僅かなCDイメージと約250個のパケージミラーをえるので、Kitはミラーの間で公平に使用帯域幅を配分する。 Debianミラーから流れる各ビットは誰かがスポンサーになっていることを想起すると、こんなことをしていてはCDイメージに投資した人達はネット接続から余り返して貰えないことになる。




"




参考書


rsync.samba.org -- rsyncとその Faq-O-Maticの故郷

NSBD -- Bell LabsのNot-So-Bad-Distribution がrsync を使って確実にアップデートする

rsync resources -- rsyncを使った多重システムインストールとアップデート

rsync resources -- 匿名 rsync サーバー設定

Help File for Captives -- 自由を求めるなら

 

Copyright © 2001, Bill Bennet.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 67 of Linux Gazette, June 2001
 

 

オープンソース・マーケットの危機はLinuxサイト崩壊を意味するか?

前Linux Todayフランス語版編集長Cédric Godartとの会見

By Paulo Henrique Caruso
Originally published at OLinux

OLinux: 経歴をお話し下さい

Cédric Godart: 大学卒業後ラジオアナウンサと新聞記者を3年やりました。25歳で住所はブラッセルです。コンピュータ経験は大したものでありません。Linuxとオープンソースに興味を持ちました。私のホームコンピュータは二つのOS、LinuxとMacを使ってい

OLinux: Linux Todayフランス語版廃止の主な理由は何ですか?

Cédric Godart: 年初から広告収入が減りました。今ではInternet.comが唯一の黒字サイトです。そのLinuxとオープンソースの国際版も黒字ではなくなりました。予想はされましたが、Linux Todayフランス語版は9ヶ月しか経っていないので、突然でした。

OLinux: Webサイトには何人いましたか?廃止にどう反応しましたか?

Cédric Godart: 私は LinuxTodayフランスで働く単なるジャーナリストでした。毎日の新聞ニュースと週5回位の記事がサイトの役目でした。私が休暇のとき学生がニュース概要を手伝って呉れました。技術的問題は、米国internet.comのLinux & Open Source Channel で働く二人Scott COURTNEYと Paul FERRIS の手にありました。

OLinux:Linux today 英語版とフランス語版の最も大きい違いは何でしたか?

Cédric Godart: 英語版がニュース概観に時々特徴を出しながら焦点を当てたのに対し、フランス語版はニュース概観と毎日の記事を提供しました。記事は有名なFrance.Internet.Comにも投稿しました。

OLinux: フランスLinux Today が早期に成功すると思いましたか?

Cédric Godart: 1-2ヶ月でサイトが黒字になったのには正直驚きました。会社もLinuxユーザーも酔っていました。フランス人はLinuxとオープンソースに関する専門ニュースサイトを必要としていました。英語版の成功も刺激になりました。"LinuxToday"のブランドが信用保証になっり、有名なLinux Mandrake Frenchも我々のニュースをホームペイジに載せてくれました。

OLinux: 相互作用が生産性と編集方針に影響しましたか?

Cédric Godart: 決して!編集長のREICHARDは私を信頼していました。

OLinux: フランスlinuxtoday.comの消滅について沢山のe-メイルが来ましたが、linuxtoday.com が変わるとおもいましたか?

Cédric Godart: いいえ。Linuxとオープンソースの財産を彼らの公式フランスサイト、フランスinternet.com. に「委譲」する積もりでした。だがこうした国際版には時期が悪かった。Yahooは広告モデルは将来必ず儲かると言い続けましたそうならなかった。

OLinux: オープンソース企業も巻き込んだ経済危機はLinuxとオープンソースニュースサイトに影響するでしょうか?

Cédric Godart: 勿論。Linuxマーケットは未だ成熟していません。今はIT産業全体にとって悪い時期で、Linuxとオープンソースで利益が上げられるのは少数の企業でしょう。

OLinux: LinuxTodayフランス語版には月当たりどの位のらpage views がありましtか?毎日幾つ記事を発行しましたか?

Cédric Godart: Pageviews は秘密です。済みません。毎日、プレスレビューに関して15位と少なくとも一つの記事でした。包括的プレスレビューを作るのに信頼出来る情報源を見出すのに1-2ヶ月掛かりました。

OLinux: internet.com がサイトのアーカイブを保存すると決めて、貴方を招聘したら、仕事を続けますか?何故ですか?

Cédric Godart: 夢は見られますが、そんなことはないでしょう。

OLinux: 世界中でLinuxが「広範に採用」されていることを考えて、Linuxは政府や産業のため経済的進歩に適切なソリューションだと思われますか?

Cédric Godart: 「広範な採用」は信じません。Linuxはデスクトップ市場の5%です。主OSとして使うのは限られた人です。毎回リブートしたくないので、大部分の人はWindowsを使っています。Linuxは専門家のOSに止まるでしょう。MacOS Xだけが真の消費者向けOSだと主張出来るでしょう。政府と企業の予算とソースコード入手可能性が、大衆のLinux採用の鍵でしょう。フランス政府が最近オープンソース技術の支援を決定したと発表したのはご存じでしょう。

OLinux: Linux ニュースサイトは何を持つべきでしょう?フランス語Linux Today編集者の間に学んだヒントを教えてください?

Cédric Godart: 1/ 別のOS (Windows / MacOS X and BeOS)に注目すること; 2/ 文法とシンタクスの間違いをしないこと; 3/ 馬鹿らしいOS戦争に巻き込まれないこと、Linuxフォーラムへの投稿するOutolook Expressを使う太ったアヒルのままにしておくこと ; 4/ どの会社にも依怙贔屓しないこと。

OLinux: OLinux ユーザーへのメッセージは?

Cédric Godart: ポルトガル語で返事しなくて御免なさい。会見の申し込みには驚きました。ヨーロッパにあるフランスサイトが何千マイルも離れた人の興味を引くとは思っていませんでした。私のメッセージ「流行だからでなく好きだからLinuxを使ってください。Outlook Expressを使ってメッセージを送るとき、決して"WindBlows"の言葉を使わないでください」

 

Copyright © 2001, Paulo Henrique Caruso.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 67 of Linux Gazette, June 2001
 

 

秘密兵器

By Paul Evans

  余り知られていないが、日常役立つツールを集めた。殆どの人が知らないと思う。本当は秘密でも何でもなく、ネットで無料で手に入る。少数の人しか知らないだけだ。

  xsnapxclipなどを実行するアプリケーションを探すときでさえ、なかなか見付からない。showbooksplitvt などのユティリティは全くのおとぎ話だ。

xsnap ・xclip ・showbook.pl ・number.pl ・splitvt ・WordNet

 

xsnap

xsnap
カーネギー記念大学の Clauss Strauch 他の作品

'Snap!' を何年も使った後Linuxに移ったとき、置き換えのためハイとローを検索したアプリケーションがこれだ。'Snap!'の一部であった xsnapにOCR能力はないが、とにかく役に立つ。

Xsnap はスクリーンショットを取るアプリケーションだ。同じことをするプログラムは沢山ある。違いは、 xsnap を使うと画面の任意の場所(全画面を含む)を捕捉することが出来て、しかも早いことだ。

xsnapを使うと、マウスカーソルが変わって角形になるので、そのカーソルをドラッグして画面の切り取り範囲を示す矩形を書くだけでよい。出てきたウインドウで'p' 又は'w' を押すと番号付きのスナップショットがホームディレクトリに入る。

画像の一部だけをe-メールしたりWebサイトの一部を取り込んだりするだけで大したことはなさそうだ。実際は、切り抜きは xsnapの最低限の用途で、文書、e−メール、マニュアルの切り抜きが数分で出来るのが xsnapの本領だ。

ここに切り抜きがある:

A picture of pictures...私に言わせれば、xsnapは全く有用だ。'print screen' のようなhot-keyに割り当てたとき、特にそうだ。

世界のhot-keyにxsnapがないのは損失だ。残念ながら、ファイルを'xpm'としてセーブする。

そんな欠点をさけてスクリプトすることが出来る。fly上でファイルを処理するようにスクリプトを作る。hot-key:に付けたスクリプトの例を示す。



#!/bin/bash


# xsnap-jpg. Runs xsnap, converts to jpg and loads electric eyes.


xsnap -stdout | xpmtoppm | cjpeg -quality 75 >~/snap.jpg;ee ~/snap.jpg


タイプするのを節約するにはここhere. をシフトクリックする。次いで、出てきたダウンロード上で 'chmod 755 filename' とタイプして実行可能にする。これで、ファイルがjpegであることを除いてxsnapと同じように働くので、 ee が出来ること全部が出来る−またホームディレクトリが番号付きファイルで荒らされることもない。'-quality 75' はcjpeg規定値である。 '75'を別の数字に変えると好みの大きさ/品質のファイルになる。


xsnapのコンパイルには余分のステップが少しある。作業用mekefile又はconfigureスクリプトと一緒には来ないことに気付く筈だ。Makefileを作るには 'xmkmf' とタイプするだsnapshot of lupeけだ( xが makefileを作る)。続いて普通通りに作る。

xsnapをダウンロードする同じ頁にいる間に、 Lupe は、色と位置に関するエキストラの大変良いmagnifierだ。(それにスマートなHUDディプレイもある)

xclip

xclip
Kim Saunders

Xclip は極めて簡単なアプリケーションで今までLinuxユーザーが手に入れていないのが不思議な位だ。

極めて簡単に、何でもでも望みのものをクリップボードペリオドに置く。

簡単な例は、友達にディレクトリリストを送るとしよう。近くのコンソールで"ls | xclip"とタイプし、中クリックしてe-メールの中にペーストする。実際はどのプログラムのstdoutもxclipにパイプされる。 'whois', 'showbook.pl' 何でもだ。

現在選ばれたテキストを捕捉するスクリプトとの組合せで、更に有用になる。ソートされていないリストをタイプしたがアルファベットでソートしたいとしよう。マウスを使ってリストをハイライトする。例えばalt-shift-S を押し、中クリックすると、新たにソートされたリストがペーストされる!この仕掛けは、カラム数合計、バナー型コメントブロックの作成、など、色々なことに使える。

上記全部をおこなうため wxWindows ライブラリを使うpythonスクリプトがここHere's にある。適切なコマンド行スイッチを用いて、これを各種hotkeysに付着するだけだ。(例えばコメントブロックを作るには'clipmanip.py -c' )

showbook.pl

showbook.pl
Guido Socher

この宝石は、ブックマークが沢山ある時に欠かせない。showbook.plはNetscapeブックマークファイルを覗いて、そこで見出したURLを返す。Netscapeを数ヶ月使わなくとも、ブックマークファイルをKonqueror から輸出する。

showbook.plを使うサンプルサーチを示す:



[paul@oremus paul]$ showbook.pl wxwin


== Misc ==


<A HREF="http://web.ukonline.co.uk/julian.smart/wxwin/">wxWindows</A>


そうだ。wxWindows に必要なURLを捕捉するのに使ったのだ。

number.pl

number.pl
Landon Curt Noll. E-メール: "number-mail at asthe dot com"による。

恐れ入った。この人は山ほどの学位を持っている。Noll氏の傍ではどんな履歴書も価値なく見える。

number.pl は、「数から語」スクリプトを今まで見た中で最も慎重に扱う。小切手でも書かない限り、毎日は使わないだろうが、素晴らしいperlだ。



[paul@oremus paul]$ number.pl 123456789123456789.12


one hundred twenty three quadrillion,


four hundred fifty six trillion,


seven hundred eighty nine billion,


one hundred twenty three million,


four hundred fifty six thousand,


seven hundred eighty nine


point


one


two


未だ間違いそうだ。

splitvt

splitvt
Sam Lantinga 作。

splitvt snapshotSplitvt はコンソールを水平に二つに分けて一つのコンソールを二つにする。サムネイルを左にクリックすると、コマン行構築中にマニュアルを見るため如何に便利か分かるだろう。ウインドウ間を往復ぬるには'Control-W' を用いる。

Splitvt はどこでもうまく働く。実際のコンソールから何でも konsoleのノートに切り取ることが出来る。全く問題がなく、重宝だ。

WordNet

Princetonの WordNet.
E−メール: Wordnet-email

英語を使う人は誰でもWordNetのコピイをマシン上に持つべきだ。WordNetは辞書だが、スペルのチェックでなく、文脈上の意味もついた本当の辞書である。

ダウンロードにほぼ10メガバイトを要するが、十分にその価値があるし、1回で済む。語 'date'を使って、'wn'(WordNetと一緒に来る実行可能プログラム)からのサンプルを示す。



名詞dateのOverview


名詞 date には 8ヶの意味がある (最初の 8 ヶはタグ付きテキストから)


1. date, day of the month -- (the specified day of the month; "what is the date 


today?")


2. date -- (a particular day specified as the time something will happen; "the 


date of the election is set by law")


3. date, appointment, engagement -- (a meeting arranged in advance; "she asked 


how to avoid kissing at the end of a date")


4. date -- (a particular but unspecified point in time; "they hoped to get 


together at an early date")


5. date -- (the present; "they are up to date"; "we haven't heard from them to 


date")


6. date, escort -- (a participant in a date; "his date never stopped talking")


7. date -- (the particular year (usually according to the Gregorian calendar) 


that an event occurred; "he tried to memorize all the dates for his history 


class")


8. date -- (sweet edible fruit of the date palm with a single long woody seed)





動詞dateのOverview 


動詞 date には5ヶの意味がある(最初の 3 ヶはタグ付きテキストから)


1. date -- (go on a date with; "Tonight she is dating a former high school 


sweetheart")


2. date, date stamp -- (stamp with a date, as of a postmark; "The package is 


dated November 24")


3. date -- (assign a date to; determine the (probable) date of; "Scientists 


often cannot date precisely archeological or prehistorical findings")


4. go steady, go out, date, see -- (date regularly; have a steady relationship 


with; "Did you know that she is seeing her psychiatrist?" "He is dating his 


former wife again!")


5. date -- (provide with a dateline; mark with a date; "She wrote the letter on 


Monday but she dated it Saturday so as not to reveal that she procrastinated")





どうだ!完全だろう!それに上の出力は実際には切り詰めてある!

WordNet には、働かせたことはないがtcl/tk front-endがついて来る。 tcl/tkの旧版を使わせるようだ。私は通常、入出力にgdialogを使うこの this 小さいスクリプトの付いたhot-key (control-shift-E) から呼び出している。gdialog は殆どのディストリビューションと一緒に来ると思う。 Xdialog も大変良く、ドロップイン交換である。

同様の線で、容易にスクリプトに取り込めるのは、WORDS for LINUX (i86)で、同じように使えるラテン語辞書である。スクリプトはここhere.showbook.pl.を使うそれのコピイを作るべきだったかも知れない。

これらツールに好奇心をかき立てられたことを望む。WordNet 以外はダウンロードの大きさも小さい。

 

Copyright © 2001, Paul Evans.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 67 of Linux Gazette, June 2001
 

 

セキュリティとLinuxルータープロジェクト

By Mark Fevola

Exploitsにはkernelアップデートと同じ位の実りがある。それほど共通ではないが、プラットホームに関わらずどんなOSにも沢山の弱点がありLinuxも例外ではない。Linuxルータプロジェクトには、PCハードウエアとLinux Kernelの性質のため、Cisco その他私有ルーターにはない、独特のセキュリティ問題がある。例えば、ハードウエアルーターは殆ど影響されないバッファオーバーフローがLinuxには共通である。LRPシステム管理者はこれら弱点を認識して解決すべきである。

そこで他方、あらゆるものについて、それぞれ装置が独特で、ルーティングアプリケーションに特化したISDN、イーサネット、フレームリレーT1、xDCL、PPPなど各種のルーターを持っている。ソースコードやハードウエアも秘密な私有財産である。

他方では、正しいソフトウエアを用いて何でも出来る一般目的 x86プロセッサを持っておりLinuxルーターは完全なアプリケーションである。Linuxを私有ユニシスの代案にした草の根運動と同様にを私有ルーターに代わるオープン代替案を作りつつある。LRPはあらゆる形でのルーティングを可能にしあらゆるネットワーク状態に対応する実際のLinux Kernel である。

・速度と効率:贅肉なし、不要なものなし、ルーティングだけ
・災害/不具合復旧:例えばLRP内に持つ SMC NIC が死んだとき、面倒無しに Netgear に貼り付き代わりにtulip.o モジュールを搭載する。
・セキュリティ: kernel はすべてのハードウエアに、ネットワークシステム、記憶、人とのインターフェイスに接触する。数分でおこなう。

従来、ファイアウォールとルーターは一つのボックスをルーターとし別のボックスをファイアウォールとする個別実体であった。特別設計の独特のハードウエアをそれぞれの機能に合わせて有していた。最近、これら装置が合体し始めた。

結局、これら多目的ルーターはセキュリティに新しい概念を持ち込み−セキュリティは沢山のことを意味するようになった。物理的セキュリティ、コアセキュリティ、ネットワークセキュリティがある。産業が私有ハードウエアを無視するなら、セキュリティを再考しなければならない。ここに計画の一部を示す。

1.物理的セキュリティ

1.方針. 先ずセキュリティと監査方針を書く。計画無しでは世界を取れない。それを強化してネットワークのマップから出発して、リストにする
・どのマシンで、どんなサービスをするか
・誰が、どのアクセスレベルを得るか
・マシンを何処におくか
・その他の規則、例えば、パスワードは八文字非英数字など
...細かいことだが、赤色のパスワードフロッピイを何回位手渡すか。これらすべてのリストは目前に残した計画を何時見るか−どのサービスが何処でおこなわれているかを何時知るか−篩い分け規則を作るのは易しい。
2.バックアップ. LRP フロッピイをバックアップする。 conf filesのバックアップには時間を掛けないで、全ディスクのイメージを吹き消す (a la 'dd')だけ。最速のコピイ方法だ。 LRPディスクのフレーバーには 1.44M以上あって/dev/fd0u1680に搭載(からコピイ)する必要があるものあるので注意のこと。分からなければ、'mknod'を使ってデバイスを作る。バックアップが多すぎることはない。
3.物理的セキュリティと立地. LRPのファクシミリ用非揮発性RAMはフロッピイディスクなので、キイボードのない室内のヘッドレスボックスをロックし、誰も偽物のため真のディスクをはじき出したり、はじき出して壊すことが出来ないようにする必要がある。この計画はクイックボーガスはないけれども Ciscos にも有効である。コンピュータの引退がオプションでないとき、ケースを開けてフロッピイドライブを数センチ引き戻す。LRPディスクを入れてディスクを小さいプラステック面板で覆う。これを「曖昧セキュリティ」と呼ぶ。
4.上に置く. 実際の機械室には(入室制限、ハロン、予備電源、空調、配線管に加えて)装置ラックがある。ラックと上昇床は配線管理のためで、ラックは空気流、余人の侵入、火事、洪水、モップバケツ、コーヒー飛沫に備える。LRPはテーブル上に置く。古いパレットも役立つ。
5.BIOS パスワード. このボックスもまたPCである。BIOSパスワードを用いる。486ボード上のBAIOSが汎用パスワードを持つか否か知らないので注意のこと。
II.コアKernelセキュリティ

Linux kernel とルータールーターとの間の弱さは異なる。最も一般的な攻撃はサービスの否定(DoS)とスキャニングであると、CERT dataは報告する。DoS攻撃はやり易く守り難い。バッファオーバーフローとDoS攻撃は両世界で可能である。ポートスキャニングは外からも内からも来る。スキャニングは本来の攻撃ではないけれども、程度いによりネットワーク偵察として、或いはサービスの否定としてさえも容易に法廷に持ち込むことが出来る。私の知識では未だに告発されている。

これら二つの問題をkernel内で、セキュリティパッチとnmapを用いて解決する。メインLRPディストリビューションに関しては、Oxygen kernelsOpenwall patchを含み、Oxygenは連続的にアップグレードされている。 David Douthittによれば、Oxygenの後ろでKernel自体が「IP揶揄に対して、通常のパケットアドレス(martians)を保護し, ICMP リダイレクトと ICMP エコーリクエストを拒絶する」。それでも標準篩い分け(下記のネットワークセキュリティ)にはこれらの規則を含まなければならない。

nmap:私はこれをSATANの子孫と呼ぶ。これは試金石セキュリティツールである。nmapは何れのIPアドレス上のTCP 又はUDPの組をいずれもスキャンし、ネットワークの弱点を試験して見出す。nnmpはLRPボックス上で働く不要サービスを暴露する。ボックス外LRPディストリビューションには不要サービスが働いているものがある。 SecurityFocus.com 又は Rootshell.com を一寸覗くと探索方法が分かる。

CERTは、ファイルシステムセキュリティや嗅ぎ回りのような、ネットワーク上のユーザーの他の共通弱点は論じない。 fdisk, mke2fs 又はfstabの様なファイルシステム内容はここでの議論を保証しないし、嗅ぎ回りはコンソールからだけLRPにログインするなら問題ではない。

イーサネット嗅ぎ回りは危険だ。共有ケーブルモデモ上の他の論理ネットワークを嗅ぎ回るのは可能だ。君の隣人の別のダイアルアップからのダイナミックPPP接続でもそうだ。ウイルスとスキャンと一万もの"UNICODE バグ"は既に猖獗しているので嗅ぎ回りがもっと頻繁になると思われる。−CERTの範疇に入るだろう。IPアドレスの欠損がクラッキングを促進するのは興味がある。

暗号化と認証(ssh, ssl, smime, PGP)が嗅ぎ回りを包囲する。だが、どんな暗号も何時かは破られるので、最良なのは我々のデータが暗号より早く陳腐化することだ。テレネットセッションのような最重要のウインドウのデータを保護する。一年以内に誰かが解読するのに注意する。多くのルーターがパスワード認証に頼り過ぎ、これがインターフェイスによっては野蛮な攻撃を受ける。ここでLRPが勝つ。これはsshをサポートする。

III.ネットワークと外部ルーティングのセキュリティ

LRP特有特性を通じる物理的セキュリティと、コアセキュリテイは、あらゆる状況で使えるし使わなければならない。以下は、少々普遍的な、つまりLRP特有でない、幅広いセキュリティ規則である。セキュリティ型の完成のため含めたので深入りしない。

典型的ビジネス環境インフラストラクチャについての概要は:

・RFC1918プライベート・ネットワーク・アドレス(192.168.0.0及び同類)の出入を防止する
・任意の宛先に送受する不認証ルーチングプロトコルを阻止する
・TCP/IPポートからのNETBIOS へのアクセスを阻止する
・ソース−ルートされたパケットを阻止する
・内部ネットワークからの揶揄(spoofing )を禁止する
・コネクション・オープン・アテンプトでないTCPパケットはすべて、篩い分け又は拒絶する
・特定IPアドレスへのICMPは許す
・内部マシンの内部マシンへのサービス、特にネームサービスとssh、は許す
・sshをサポートするホストへのsshはすべて許す

短かい答は「全部阻止」である。Webサーバー用ポート80、ssh用ポート22など、サービスが働いているポートへのアクセスを許す。可能なときは何時でもWrap してchroot する(例えばBIND)。インターネットにつながるマシンでXを走らせるのは絶対駄目。

ルーティングに戻る。ルーティングは、初心者には易しい仕事ではない。Circuit City ルーターなどのためHTMLインターフェイスを持っているからだ。Windowsも持っている。他の人のためにはLRPを持っている。テキストベースのLRPメニューインターフェイスは、慣れた注釈付き/etc/conf.filesを提供する−Linux (Unix, Freenix)ユーザー用には簡単だが、他人には暗号コマンド行として誰をも脅威になる。その他のワンディスクルーターアプローチは同じような欠陥のある習熟曲線を有している。しかし、LRPは、他のルーターより愚かなルート決定をすることがある。コマンドは見慣れたものである。Cisco コマンド行'conf term'と異なり、LRPコンフィギュレーションとコマンドは1年触らなくても古く無効にならない。数千ドルのルーターで愚かでなくなるかLRPかはお金と時間の問題である。

だから、ルータールーターを買うか、何でも吸い込むハードウエアをひねって特性を追加しモジュールをLRP kernelにコンパイルして、特注化することである。取引は融通性とセキュリティである。LRPはkernelを用いて非揮発性ラムをフロッピイと埋め込みハードウエアで置き換える。特殊セキュリティ問題を心に留めるだけだ。

 

Copyright © 2001, Mark Fevola.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 67 of Linux Gazette, June 2001
 

 

 

UMLケースツールを用いるオープンソースソフトウエアモデルの改造

By James O. Gilliam

要約

統一モデル言語(UML)を用いるコンピュータ使用ソフトウエア工学(CASE) ツールはオープンソースのソフトウエアモデル支援機構を強化し複合デザイン問題の解決を助けた。得られる生産性レベルは、ソフトウエア技術者に詳細解析と設計の能力を与える生産的 UML CASE ツールの選択を通じて著しく向上させることが出来る。本論文では、ソフトウエア作成過程中にオープンソース・ソフトウエア・モデルと UML CASE ツールを用いる利点を示す。ソフトウエア・モデルを説明して在来の大規模ソフトウエア作成技術と比較する。またモデル開発段階とソフトウエア保守がオープンソースのカスタマベースのための完全対策の定義と如何に絡み合うかを説明する。オープンソース・ソフトウエア開発用に利用出来る主なCASEをソフトウエア技術者に紹介する。

オープンソース・ソフトウエア・モデル

オープンソース・ソフトウエア・モデルは、正確には新技術や新手順ではなく、在来の商業開発モデルに適用されるソフトウエア作成技術(Godfrey & Tu, 2000, p. 2)を別の面から眺めただけである。オープンソース計画は1960年頃からあったが、インターネットの通信及び情報媒体としての利用が増えたため、今日大いに普及する傾向にある。ソフトウエア作成手順には、次が含まれる。

- 要求事項の定義
- システムレベルの設計
- 詳細設計
- 実行
- 統合
- 現場試験
- 支援

オープンソース・ソフトウエア・モデルはこれら手順のすべてをサポートし、技術者に顧客要求を満たす高品質製品を作るため踏むべき方法論を提供する。オープンソース・モデルの決定的な利点は、「研究結果として扱われるコードを有し厳密な審査のため発表される科学的開発モデル」(Bezroukov, 2001, p.10)への拡張と密接な関連性である。したがって、このモデルの強味は、在来のソフトウエア作成モデルより広いユーザーベースを通じてサポートされるとの事実にある。その主たる弱点は「オープンソース・ソフトウエア・モデルは既に成功したソフトウエアで最も良く働くことにある。ユーザーベースを持たないソフトウエアのためには存在しない」との事実にある(O'Brien, 2001, p.20)。

オープンソース製品は単一のマネージャ、開発チーム、及び関連ユーザーベースを持つ傾向にある。それぞれが要求解決策につき独自の見識を有するので、手順は通常システム保守問題につき幅広い試験ベースを備える。方法論の土台は、生産品質、成熟製品に関心のある開発者の大共同社会に支えられた分散モデルに基づくことである。参加者は、殆どのソフトウエア開発者に取って主要な動機であるコードを書く機会、及びこのような共同社会がフトウエア作成手順を改良することを、楽しむ。

モデルは問題とそれを通じる制限を共有するので、分散されたソフトウエア手順自体を巡って回る。開発者の大部分は共同者と同じ場所にいないので、ソフトウエア開発期間中の保守はインターネットを通じてなされる。この事実は、オープンソース・ソフトウエアの民主的傾向と相俟って、製品開発を遅らせる傾向がある(Bezroukov, p.6)。プロジェクトが大きい程、克服すべき障害が大きくなる。同じ場所でのオープンソース・ソフトウエア製品は、集中して作業をし開発サイクルを通じて動きを確認出来るので、この現象を受けない。Linux Gnome, KDE, 及びEazel プロジェクトは、このような組織化オープンソース作成作業を採用しており、これがモデルを今日の開発の第一線に置いた。

オープンソースのソフトウエア・モデルは、既存ソフトウエア作成モデルに伴う強度の洗練と定義することが出来る。他のモデルと同様、現在使われているソフトウエア作成モデルの弱点を除いてからの強度を伸ばそうと試みる。これはオープンソース運動主要開発者間のオープン通信とアイデア共有により達成された。モデル構造は、プロジェクト保守者、開発チーム及びユーザー又はデバッガとの間に周期的通信パスを作ることにより、インクレメンタル、ビルトアンドフィックス及び迅速プロトタイプのモデル上で改良される。図1を参照。例えば、統一モデル言語(UML)ツールコンセプトが開発され、オープンソース。プロジェクトのためのインターネット・レポジトリ、オープンソース開発ネットワークSurgeForce (http://www.surgeforce.com/)に登録された。プロジェクトが開発チームを引き付けた後、保守者が、試験と特性追加のため、初期リリースを彼らに提供する。開発者はプロジェクトマネージャに強化につき通知し、アプリケーションにコードすると製品試験のためユーザーベースが同定される。ユーザーベースもまた設計瑕疵修正を申し出て、保守者が製品に織り込むことを望む新規特性を提案するる機会を有るる。改良製品は、次いで開発チームに戻され、この循環はプロジェクトが安定なリリース出来る製品に成熟するまで繰り返される。

 

比較モデル

オープンソース・ソフトウエア・モデルは、お互いの各種方法論を組み込むことにより在来のソフトウエア作成モデルとの絆を保つ。

同期・安定化モデル:このモデルの強味はOSとソフトウエア産業におけるマイクロソフトの支配により明らかである。このモデルはプロジェクト端でなく開発プロセスの各部分の間に、プログラマが開発した事項を同期し定期的に安定化する。これとオープンソース・モデルとの違いは、マイクロソフトモデルが単一顧客でなく市場又は問題領域に焦点を絞ることにある。この相違のため、オープンソース・ソフトウエア・モデルは一般的に市場調査要求が不完全で文書は少なくシステムレベルの詳細設計はほとんどない (Malik & Palencia, 1999)。焦点の欠如は多重プロジェクト活動を停止する。幸いに、その後にはソフトウエア作成技術は確立し、有用なニーズを満たし、製品が成功が続く。

ウォーターフォール(滝)モデル:このモデルは、何れのソフトウエア開発手順の間にも適用出来る古典的システム開発仕様を作成する。このモデルは、他のすべてのモデルの背景となっておりオープンソース・モデルも例外ではない。試験はウォーターフォール方法の各段階で完了し、オープンソース・ソフトウエア・モデルのを用いてプロジェクトの成功に導く。これは全プロセスの間点検と平衡を必要とするのでオープンソース・モデルは、機能性改善のためのユーザー相互作用を増やすことで、この考えを拡張する。

ビルトアンドフィックス・モデル:Schach (p.64) は「多くの製品がビルトアンドフィックス・モデルを使って開発されるのは不幸である」と言う。オープンソース・プロジェクトの大多数は、プログラマ又はシステムエンジニアの経験した特定問題解決のため設計されるので、このモデルの下で開発を開始する。製品が成熟すると、結局はこのモデルから、ユーザーニーズに合致し設計要求を満たす製品に開花する。プロジェクトが確立されたライフサイクル方法論をモデル自体に適用するので、計画によりオープンソース・ソフトウエア・モデルの限界を克服することが出来る。Apacheプロジェクトは、NCSAウエブサーバーへのつぎはぎを分担して、webmastersから出発しインターネットに接続される今日では最も有名なサーバーに発達したた(Behlendorf, 1999)。

急速プロトタイプ・モデル:急速開発モデルは、突き止めたシステム設計問題のための典型的な解決策である。ユーザーに最も仕事のし易い製品を提供し設計改良への協力を奨励するので、オープンソース・プロジェクトの幾つかがこのモデルに基づいて開発している。初期リリースの間に急速プロトタイプとして出発したオープンソース・プロジェクトは、普通このモデルの下での進行に失敗する。開発的リリースが増えるにつれ、膨大な試験解析が必要となるか又はプロジェクト開発参加者が欠乏するからである。

スパイラル・モデル:スパイラル・モデルは、大規模ソフトウエア・アプリケーションに関するソフトウエア開発全期間を通じる広範なリスク解析である。多重プロトタイプシステムは、完成製品の運営リリースの準備が整うまで、適合検証とリスク解析によって、開発される。他のモデルと同様、オープンソース・ソフトウエア・モデルは、プロジェクト規模とユーザー数によって、通常スパイラル・モデルとの関連で使用される。オープンソース・リレーショナル・データベースは、ビジネスユーザーのためのデータベース不具合に結合するリスが著しく壮大するので、スパイラル・モデルの検証とリスク解析機能をその開発段階に組み込む。

オープンソース・ソフトウエア・モデルが備える保守機能性は、このモデルがサービスと発展への生産性に依存するので、その最強の証拠である。製品ユーザーがソフトウエア保守をおこない強化は通常アプリケーションにコードされて後刻開発者に提供される。コードベースは、ユーザーが製品限界を発見し開発者に解決策を提出するので、通常定常安定状態に止まる。、

オープンソースの最弱点は、製品市場受容、及び主流組織のための実際のビジネスニーズ発見に関連する。ほとんどのオープンソース・プロジェクトは、プログラマの「日常業務」関連で経験した問題に関する解決策としての基礎はほとんどなくて発足する。Perlプログラム言語は、 Larry Walが1986年にWebペイジをプログラムで書く方法としてこの言語を書いて以来著しく成長した製品であった。「会社がこの製品の実行に熱心であったら、オープンソース戦略を成功させるためこの製品が必要とすることを正確に判定する研究をする必要があった」(Behlendorf, paragraph 38)。この見通しがオープンソース・ソフトウエア・モデルを強化する。

オープンソースとUML

オープンソース・プロジェクトは、私有財産プロジェクトと同様、一定レベルの要求解析と解決策実行を成功させるモデル化を必要とする。UMLは、健全な手順と頑丈なアーキテクチャを組み込んだ、モデル駆動開発の構築に決定的な方法である。仕様は、開発者がモデルシステム成分、作用及びユーザーに標準命名法を使うのが便利になっている。UML用オブジェクト・モデリング・グループは次のように言う:

「統一モデル言語 (UML) は、ソフトウエア相互作用システムの作品を視覚化、規定、構築及び文書化するためのグラフィック言語である。UMLは、ビジネス過程及びシステム機能のような概念的なものと同時にプログラム言語、ステートメント、データベース計画、及び再使用可能ソフトウエア成分のような創造的なものとを含むシステムの青写真を書く標準方法を提供する」(OMG, 2001)。

OMGのUMLに関する主要点は、システムが達成すると思われることを明確にするための「言語」であって、特定の課題を達成する方法でも手順でもないことである。この言葉は、各種の方法で開発全期間にソフトウエアをサポートするため使用することができるが、システム青写真として役立つために作られたものである。要求解析が、ソフトウエア又はシステム問題に関して実行され、次いでUMLを経由してモデル化され概念的解決策として提出される。UML明細書は、問題解決のため使用すべき方法論も手順も規定しないで、問題に関し解析者が理解したことを設計チームに解り易く概説する。

UMLは、以下の型の問題解決策について記号法とセマンチックを定義する(Erriksson & Penker, 1998):

- User Interaction or Use Case Model ・ユーザーとシステムの間の境界と相互作用を記述
- Interaction or Collaboration Model ・システム内オブジェクトが課題達成にどう相互作用するかを記述
- Dynamic Model ・クラスが常に推定する状態を記述する状態チャート。アクティビティグラフはシステムが達成する作業の流れを記述
- Logic or Class Model ・システムのクラスとオブジェクトを記述
- Physical Component Model ・システムのソフトウエア、時にはハードウエアを記述
- Physical Deployment Model - システムの物理的アーキテクチャとシステムハードウエア上の部品展開を記述

UMLはオープンソース・ソフトウエア・モデルに、個人用の簡単なソリューションアプリケーションを産業規模システム要求を解決する大規模ソリューションに発達させる能力を与える。開発者には、国際OMG規格に合致するモデル要素、記号法及び指針を与える。UMLが開発組織に与えるプロセスは、その開発作業をこれら複雑な問題の容易な理解に向けて結集することが出来るようにすることである。

UMLが「私有財産でなくオープンである」(OMG, 1997, paragraph 24)との事実により、標準記号法オープンソース開発に使用する各種のツール及び言語に組み込むことが可能になる。UMLはApacheグループhttp://www.apache.org/、及びCommon ObjectRequest Broker Architecture (CORBA), http://www.corba.org/ に関連するオープン開発作業を成功に導き、多重OS上の開発者が使用するためベンダー中立の仕様を提供する。

オープンソース・コンピュータエイデッド・ソフトウエア作成(CASE)ツールの大多数は、三つの主要方法論Grady Booch, James Rumbaugh, 及びIvar Jacobson の機能を結合した方法論、UMLのみをサポートする。他のオブジェクト指向方法論と異なり、UMLは、何年も掛けて発展した他の多くの方法論の強味を結合した、オープンモデリング規格になることを目標としている。多くのツールがUMLバージョン1.2をサポートするので、

古い方法に慣れた開発者をUMLに移らせるため、ユーザーがBooch, OMT (オブジェクト指向モデリング言語)及びUML の視覚表示の間で変わることが出来る、

オープンソース・ツール

システム設計用にオープンソース・ツールを選ぶのは、それ程易しいことではない。利用出来るほとんどのツールは、開発段階が異なり複雑な問題を解くのに必要な設計レベルを備えるものは少ないからである。進歩的ツールは一つの言語だけを目標にしているので、C, C++ 及び Java のためのオープンソース・ソリューションを設計することはは問題を複雑にするだけである。予算措置無しではツール開発は通常長い過程になるので、ほとんどの設計ツール開発者が受ける予算制限が、ツール選択機能性とともに明るみに出る。

現在、linuxOSを目標とするSurgeForce (UML, 2001)がホストになって、色々な開発段階の28ヶの異なるUMLツールがある。一方、大学又は総合開発企業(IDE)会社がそのIDEを促進するため幾つかのWindowsUML を提供している。オープンソース社会は、UMLサポートを単一開発者利用から大規模組織化作業までの範囲のプロジェクトに統合するため幾つかのツールを維持している。問題は特定の言語又はライブラリのためのツールを見出すことでなく、完全な往復ソフトウエア作成サポートを実際に提供することの出来るアプリケーションを見出すことである。

オープンソース・ソフトウエア・モデルは、UMLモデリングツールに関して開発者サポートを享受している。「UMLは、互いに近いけれども、ツールインターフェイス、記憶、又はランタイムモデルでなく、セマンチック・メタモデルを定義する」(OMG, 1997, paragraph 13)からである。オープンソース・ツールの実際は、ツールがなさねばならないことに関するアイデアを持つことだけに欠け、不完全開発又は貧弱な保守の状態に止まることが極めて多いことである。プラットホームに無関係に設計されたツールもあるので、展開の容易さがツールのプログラム言語をJavaに制限する。残りのツールは、特定OSを目標にしているので、ソフトウエア開発期間中の広範な設計サポートを提供するものは少ない。

Dia とUML

Diaは、UML 1.2仕様に基づくUMLモデリングの用プラットホーム無関係のアプリケーションである。このアプリケーションは元々Microsoft Visioに対するLinux代替案として開発され、システム設計過程全体に広範なサポートを提供する。このツールはしかし公式アプリケーションではなく、システム活動、使用事案、協力及び構成部品ダイアグラムに使用することが出来るのみである。

ErikssonとPenker (1998, p.35-36)によれば、Diaは、図面作成用機能を備え、レポジトリとして働き、モデルナビゲーションをサポートし、あらゆる抽出レベルのモデルをカバーするので、近代的CASEツールである。これはしかし、コード作成、逆エンジニアリング、二次CASE統合の機能を備えておらず、互換性のあるCASEツールモデルを含むので、進歩的ツールの仕様には合致しない。このツールは、使用が用意でナビゲーションが簡単なのでオープンソース・システム・モデリングには貴重である。

DiaはUniversity Library System Use Case シナリオ、図2参照、及び同じシステムの部分的クラスダイアグラム、図3参照、のモデル作成に使用された、UML仕様の何れの公式バージョンも、ユーザーがその特殊仕様の制限内に止まる限り、Diaを通じてモデル化することが出来る。Diaの機能性はいずれの公式コンポーネント仕様のサポートをも含む、図4参照。


     図2.Diaライブラリシステム Use-Case ダイアグラム


図3. Diaクラスダイアグラム
 
            


 

図4.Dia コンポーネントダイアグラム

kUML

kUML は、 Linux SuSe 6.2 OS 用に特に設計されたオープンソースUMLソリューションである。kUMLはUML 1.3 仕様をサポートするため開発されたのでUse-Caseとクラスダイアグラムの記述のみに限定されている。多くのオープンソース製品のように、搭載はユーザーの正しく働かせる能力に依存するので、コンフィギュレーションが克服すべき最大課題である。このツールはSuSe 6.2上で開発されたので、その上で働くよう最適化されているが、kUMLは、適切なKDEとQTライブラリを有するか又はRedHatのパケージマネージメント(RPM)スキムを用いるものなら二つの追加SuSe 専用RPM (libcms.so.1 and libmng.so.0)もまた搭載されている限り、どのLinuxにも搭載することが出来る。このツールの弱点は、免疫性、開発者の不足、及び機能性にある。このツールはkOfficeプロジェクト関連の1200クラス以上をうまく組み込むと開発者が教えられても、アプリケーション完全性は機能性強調試験に際して「ひっくり返る」。

kUMLの強味は、UML仕様をサポートしていることである。このツールは仕様の一部を占め、その部分の開発に重点を置く。クラスダイアグラムが簡単に作成され、図5参照、取扱えて、図6参照、設計すべきシステムを反映する。ファンクション、アトリビュート、及びアブストラクション設計仕様に合うよう図形化される。このツールは、余り有用でないが、kUMLが成熟するとオープンソース開発者の効率的ソフトウエア作成ツールになるであろう。


図5. kUML クラス図形化機能.


図6. kUML クラスアトリビュート編集機能
ArgoUML

オープンソース・ソフトウエア・モデルは、TigrisのArgoUML CASE によりUML1.3仕様の満足度を大きくした。このツールは、UML (Tigris, 2001)用OMG規格への合致を残しながら全部がJava 1.2 とJava 基礎クラスで書かれておりプラットホーム無関係である。ArgoUMLは、扱い易いユーザーインターフェイスを通じてあらゆるプロジェクトの完全な室テムとコンポーネントモデル化を提供する。クラス図形化、図7参照、は直観的で依存性の関連クラスへのマップが容易である。オープンソース社会はTigrisから全面的UMLサポートを受けており、小型プログラムから大型プログラムへの移植が容易である。


図 7. ArgoUML クラス図形化

図形化初期化は、ツールの見易いサポート特性により容易におこなわれる。これは設計プロセスの間ダイナミック"To Do"リストを維持し、完成図形化に基づいて可能な改良を示唆する。ArgoUMLは、設計者にプロジェクトの完全な概観を示す多重、重畳ダイアグラムを提供することと出来るその能力により、利用出来る最強のオープンソース・ソフトウエア・モデリング環境を有している。設計過程全体を通じて、設計過程を完了してときはいつでもスケルトンJavaコードが維持される。オープンソース・ソフトウエア・モデリング環境には、ソフトウエア技術者に生産的モデリング環境の与える前に進むべき幾つかの開発サイクルがあるが、ArgoUML は、開発プロジェクトに関する完全なCASEツールサポートのため必要なインターフェイスを与える。

xFig

xFigisは、利用出来る最弱のオープンソースUMLツールである。これはシステム設計者がそのプロジェクトに組み込むインターフェイスを殆ど与えないしまた、扱い難い。Use-Case, Activity及びクラス図形化のサポートのためツールに含まれるUML記号は限られている。xFigは、どのオープンソースパケージもこの機能を持たないためUML記号から継承した旧式のX11ベクトル描画パケージである。 xFig,を用いて基本的システム設計は完成出来るが、xFigがソフトウエア技術者に提供出来るものを超えた重要な改良を備えた既存アプリケーションには駄目である。xFigの機能不足に関する不具合は、ツールや設計者のものではなく、多くのオープンソース開発プロジェクトに、嘗て製品にUML記号を書いたユーザーがいてUML図形化の必要があったためである。だがUMLサポートに関するその機能は、Dia やArgoUMLのようなツールが成熟して広い範囲のシステム設計要求をみたすので、必要なくなった。

OpenTool 3.1

OpenTool 3.1は、UMLバージョン1.3に基づく強力なプラットホーム無関係UMLモデリングツールであって、これもまた完全なシステム開発ソリューションパケージを提供する。このツールの強味は、C++, Smalltalk, 又はJavaのソースコードの作成、ドキュメンテーション作成、及びJavaアプリケーションの逆作成の能力にある。UML図形化サポートにはパケージ、クラス、シーケンス、ステート、 Use-Case及び協力ダイアグラムが含まれる。オープンソース・モデルをサポートするこのツールの能力は低コストで完全なパケージ統合にある。ツール自体は、私有財産製品なので、オープンソース基準に反する方向に進むが、Linux, Solaris, 及びWindows マシン上での開発が出来る。

まとめ

オープンソース社会の躓きの石は、多くの開発者が壮大な絵を想像して着手すると信じることである。ツール宣伝みを通じてUMLは容易にプロジェクトに組み込まれ、開発時間を短縮しプロジェクト展開時間を短くする。

Martin Fowlerの設計の性質は染めることだとの提案(Fowler, 2001, p.43-46)には、プログラミング技術が、ソフトウエア開発を計画的設計過程ではなく発展的設計をバックに展開されるExtreme Programming (XP)に向かって発展しているので、根拠がなくなった。XPは、設計パターンの知識を保ち、次いでこの知識を必要な場合にのみ使いながら、コードを常に出来るだけ明確に簡単に保つの能力である。

オープンソースUMLサポートに伴う重大問題は、多くの私有ベンダーがUML1.4をサポートするか又はUML2.0仕様をサポートするツールを準備しているとき、UML 1.2仕様をサポートするとの選択にある。「UML 1.3 は、最初の成熟したモデル化言語使用のリリースであった」 (Kobryn, 1999, p.36) ので、UML 1.2 に導いた仕様が未熟であっても、開発者は可能な最も成熟した仕様をサポートするツール使わなければならない。最新UML設計基準に合致し損ねたことにより、オープンソースプロジェクトは、別のOMGモデリング規格を有する改良アーキテクチャ・アライメントをサポートすることはなく、理解し難くてEntity Java Beans 又はCOM+のような主流コンポーネント・アーキテクチャをサポートすることはないであろう。

オープンソース・ソフトウエア・モデルは、ソフトウエア技術社会に取って生き生きとした代案である。30年以上も存在し、依存する技術的変化に許容範囲を作りながら、UML

 

参考文献

 Behlendorf, B. (1999, January) Open Sources: Voices from the Open Source Revolution. www.oreilly.com/catalog/opensources/book/brian.html から2001年2月10日回収。

 Bezrouov, N. (2001). Open Source Software: Development as a Special Type of Academic Research (Critique of Vulgar Raymondism). www.firstmonday.dk/issues/issue4_10/bezroukov/から2001年2月11日回収。

 Erriksson, H., & Penker, M. (1998). UML Toolkit. New York. John Wiley & Sons.

 Fowler, M. (2001, April). Is Design Dead?. Software Development Vol. 9, No. 4, 43-46.

 Godfrey, M.W. & Tu, Q. (2000). Evolution in Open Source Software: A Case Study. Proceedings of the International Conference on Software Maintenance (ICSM-00), IEEE, 3. 1063-6773.

 Kobryn, C. (1999, October). UML 2001: A Standardization Odyssey. Communications of the ACM, Vol.42, No.10, 29-37.

 LinuxCare. (2000, February). Demystifying Open Source: How Open Source Software Development Works. http://www.linuxcare.com/ から2001年2月15日回収。

  Malik, S. & Palencia, J.R. (1999, December 6). Synchronize and Stabilize vs. Open-Source. (Computer Science 95.314A Research Report). Ottawa, Ontario, Canada: Carleton University, Computer Science.

  O'Brien, M. (2001, January). Linux, the Big $, and Mr. Protocol. Server/Workstation Expert. 20.

  Object Modeling Group. (2001). http://www.omg.org/から2001年2月15日回収。

  Object Modeling Group. (1997). Press Release. www.omg.org/news/pr97/umlprimer.html 2001年2月15日回収。

  Schach, S.R. (1998). Classical and Object-Oriented Software Engineering: With UML and C++. 4th ed. WCB/McGraw-Hill.

  Tigris.org. (2001). ArgoUML Features. http://argouml.tigris.org/features.html 2001年2月19日回収。

  UML. (2001). UML Notes. www.lut.ti/~hevi/uml/projects 2001年3月11日回収。

 
Copyright © 2001, James O. Gilliam.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 67 of Linux Gazette, June 2001
 

 

awk の紹介

By Jose Nazario

要約

awk言語はもっと強力なPerlの前で見過ごされて来たが、Perlより普及しており、Perlより早く習熟出来、効率が重要なシステムモニタスクリプトでは至る所で使うことが出来る。この簡単な指導書はawkプログラミングの開始を助けるため書いた。

基本

awk言語は、規則的にフォーマットされたテキストの処理用に設計された小型のC型言語である。これは、通常データベースダンプとシステムログファイルを含む。これは規則的表現とパターン取扱を巡って構築され、Perlと似ている。事実、Perlはawk言語の孫の見られている。

awkと言う変な名前は、作者の名前 Alfred V. Aho, Brian W. Kernighan, とPeter J. Weinberger.に由来する。KernighanはC言語の父でUNIX世界の有力者だ。

awk を一行で使う

これは私が、特定のフィールドを出力にプリントするため、qwkを使い始めた方法である。これは驚くほどよく働くが、完成に数分要する大きいスクリプトを書くとき効率は最低になる。

しかし、これで成功する、時には有用である。



ls -l /tmp/foobar | awk '{print $1"\t"$9}'


これがおこなうことは、次のような入力から、



-rw-rw-rw-   1 root     root            1 Jul 14  1997 tmpmsg


次のような出力を出すことである。



-rw-rw-rw-      tmpmsg


おこなったことは極めて分かり易い、一番目と九番目のフィールドだけプリントした。行データ抽出が普及する理由が分かるだろう。だが、awkプログラムに巣立ちしよう。

awk プログラム構造

awkについて私が好きなのは、Perl 又はPythonに比べた力に関わらない読み易さにある。どのawkプログラムにも三つの部分がある。何らかの入力を読む前に一度は実行するBEGINブロック 、入力各行に付き実行する主ループ、及び入力全部を読んだ後実行するENDブロックである。この通り、極めて分かり易い。

これは言語のある特性を強調極めて簡単なawkプログラムである。解説の前に、していることを拾い出して見てほしい。



#!/usr/bin/awk -f


#


# check the sulog for failures..


# copyright 2001 (c) jose nazario


#


# works for Solaris, IRIX and HPUX 10.20


BEGIN {


  print "--- checking sulog"


  failed=0


  }


{


  if ($4 == "-") {


    print "failed su:\t"$6"\tat\t"$2"\t"$3


    failed=failed+1


    }


}


END {


  print "---------------------------------------"


  printf("\ttotal number of records:\t%d\n", NR)


  printf("\ttotal number of failed su's:\t%d\n",failed)


}


分かっただろうか?入力ファイルの一般行のフォーマット(sulog, from, say, IRIX)の理解に役立つだろう。行の典型的なペアを示す。



        SU 01/30 13:15 - ttyq1 jose-root


        SU 01/30 13:15 + ttyq1 jose-root


スクリプトの意味が分かるだろう。BEGIN ブロックはすべてを設定し、ヘッダをプリントし、変数(この場合はフィールド)をゼロに初期化する。次いで主ループが(su attemptsのログ、sulog fileである)入力各行を読んで、第4フィールドをminuサインに対して比較する。整合したら、試みが失敗したからなので、カウンタを一つ増やしてどの試みが何時失敗したかを記録する。最後に入力行の数をレコード数(NR、awk内部変数)及び記録したフィールドsu attemptの数として示して最終結果を与える。出力は次のようになる。




 




failed su:      jose-root       at      01/30   13:15


        ---------------------------------------


        total number of records:        272


        total number of failed su's:    73


Cでおこなうのと殆ど同じ、printfの働き方が分かった筈だ。短く言うと、awkはむしろ直覚的な言語だ。




規定値ではフィールドセパレータは空白だが、ひねることも出来る。パスワード・フィールドではコロンに設定したが、これは0のIDとみなされ(同等ではない)るのでパスワードはない。




#!/usr/bin/awk -f


BEGIN { FS=":" }


{


  if ($3 == 0) print $1


  if ($2 == "") print $1


}


awkからの別の中身はレコードセパレータ用のRS(規定値は新ライン、又は\n)、出力フィールドセパレータ用のOFS(規定値はなし、と思う)及び出力レコードセパレータ用のORSを知って使うことだ。これら全部は勿論スクリプト内で設定することが出来る。

規則的表現

awk言語は、今まで知った述べる規則的表現にgrepより良く合う。例えば、私はインテルLinuxシステム上で類似exploitの存在を探すため次のawkサーチパターンを用いる。



#!/usr/bin/awk -f


{ if ($0 ~ /\x90/) print "exploit at line " NR }


grepでは8進数値 0x90を探すことは出来ないが、0x90はインテルexploitでは、シェルコード部分でパディングとして使われるNOP呼出で、広く使われる。

ddを数値として\xddで8進数を、十進数値を使った\dddで十進数(つまりASCII)値値を探せるし、勿論通常表現のテキストに基づいてもよい。

乱数 awk ビット

awkの乱数は容易に発生されるが、面白いことがある。rand()