Hurd の中央サーバの1つとして認証サーバがある。このサーバのポートはそれぞれ がユーザを認識し、id ブロックを使ってこのサーバとの関連付けを行なう。 各 id ブロックにはユーザとグループ id の集合を含む。どちらも空になる場合が ある。このサーバは、前述のパスワード・サーバと同じではない。
認証サーバは 3 つのサービスを外部に提供している。最初は、認証ポートに対する 簡単な論理演算である。2つの認証ポートが与えられると、このサーバは uid と gid の 2 組の結合を表す 3 番目のポートを用意する。2 つ目のサービスは、この サーバが uid が 0 のユーザが任意の認証ポートを作成できるというものである。3 つ目のサービスは、このサーバが複数の RPC (異なるプログラムの遠隔手続き呼び 出し、Remote Procedure Call) を提供するものである。これにより、信頼し合えな いクライアントとサーバが互いに認識し、最初に互いの情報をやり取りすることが 可能となる。ファイル・システムや入出力プロトコルのセキュリティ上、これは極 めて重要である。
どのようなユーザでも、認証プロトコルを実装するプログラムを書くことは可能で ある。それによってシステムのセキュリティを侵害することはない。ユーザを認証 するサービスが必要になると、信頼に足る認証サーバと通信する。ユーザが異なる 認証サーバを用いていると、そのトランザクションは失敗し、サーバはそれ以降の 通信を拒否する。実際には、これは全てのシステムのプログラムが同じ認証サーバ を使うように強制することになるので、できるだけ安全な操作を行ない、外部から の操作を取り込まないようなインタフェースを設計してきた。(これが、パスワード・ サーバを別にした理由である。)
プロセス・サーバは、分類された情報のリポジトリとして振る舞う。このサーバで サポートされている主要なサービスが 4 つある。1つ目として、プロセス・サーバ は、Mach カーネルで取り扱えない汎用的なホスト・レベルの情報を記録する。例え ば、hostname や hostid、システムのバージョンはプロセス・サーバが保守する。2 つ目は、このサーバは Posix のセッションとプロセス・グループの表記法を保守す る。
3つ目として、サーバは Mach タスクと Hurd プロセスの 1 対 1 のマッピングの面
倒を見る。タスクごとに pid が割り当てられる。プロセスはメッセージ・ポートを
このサーバに登録する。そのあとでサーバは、要求のあるどんなプログラムへも配
布することが可能となる。サーバはこれらのメッセージ・ポートを私的なもののま
まにしようとはしないので、ユーザ・プログラムは、必要とするセキュリティはど
のようなものであっても実現されているものとみなされる。(C ライブラリでは、こ
のために便利な関数は全て提供している。) プロセスは、プロセス・サーバに現在
のargv と envpの各値を伝えることが可能である。サーバはその後、
要求に応じて引数と環境のベクトルを用意する。これは、psのようなプログ
ラムを作成する場合に便利で、この情報を隠したり変更するのが容易にもなる。こ
れらの機能は決して必須ではない。プログラムは自由に無視し、プロセス・サーバ
に全く登録しなくてもよい。しかし、そのようにしても、pid は割り当てられる。
最後に、プロセス・サーバは プロセスの集合 を実装する。これは、同時に 多くのプロセスのメッセージを集める場合に用いる。管理されているポートのセキュ リティを保証すると当時に、pid とプロセス・サーバのポート、Mach のタスク・ポー トを変換するための機能が用意されている。
プロセス・サーバはオプションであることを強調しておくことは重要である。Mach の制限により、システムの全てのタスクを認識するためにルートの権限でプログラ ムを実行しなければならない。しかし、これが与えられると、複数のプロセス・サー バが同時に存在することが可能になるだろう。それぞれは固有のクライアントを抱 え、固有の世界観のモデルを提供することが可能となる。実装にあたっては、ルー トの特権を要求しないというプロセス・サーバの特徴により、ユーザごとにサーバ を用意することも可能になるだろう。ユーザは何も拘束されていない。
透過的な FTP は非常に興味のあるアイデアであり、その時期が到来した。GNU
Emacs 用に配布されている人気のある ange-ftp パッケージは、FTP のファ
イルを、Emacs のファイル操作のすべての機能で仮想的に透過なアクセスにするも
のである。透過的なファイル・システムも同様だが、システム全体にわたって対処
している。このサーバはまだ作成されていない。詳細な点では、余分な部分をそぎ
落とす必要のある個所が残っている。たぶん経験に基づいた変更があるだろう。
BSD カーネルでは、透過な FTP ファイル・システムは Hurd よりも実現が難しくな
いだろう。しかし、BSDカーネル・ハッカーにこのアイデアを提示すると、「そのよ
うなことは本来カーネル内の作業にはふさわしくない」という返答が返ってくる。
ある意味ではこれは正しい。それをカーネルに置くと、そのようなシステムの根底
にある原則を完全に侵害するからである。しかし、不運にも副作用ががある。設計
手法 (気に入らない点をユーザが変更できないことに至った原因のの手法) は、シ
ステムの設計者自身が気に入らない点に手を入れられないといった事態が発生する。
(最新のBSD カーネルでは、透過的な FTP を提供するユーザ・プログラムを作成す
ることが可能になった。alexがその例であるが、完全なルートの権限で実行
する必要がある。)
Hurd では、透過的な FTP を行なうのに何ら障害はない。トランスレータはノード
`/ftp'に対して提供される予定である。サブディレクトリがそこにあっても、
`/ftp' の下のディレクトリ内容を直接リスト表示することはできないだろう。
様々な形式が考えられる。例えば、uunet上のファイルをアクセスするには、
cd /ftp/ftp.uu.net:anonymous:mib@gnu のように指定することができるだ
ろう。このコマンドの各要素は省略可能で、透過的な FTP プログラムはユーザの
`.netrc' ファイルからのその情報を読み取る。この最後の例では、必要なデー
タの残りが `.netrc' 中に既に入っている場合には、単にcd
/ftp/gnu.ai.mit.edu となるだろう。
cd を最初に行なう必要はない。どのようなファイル操作コマンドでも使う
ことができる。RFC 1097 (Telnet Subliminal Message Option) を見つけ出すには、
単に more /ftp/ftp.uu.net/inet/rfc/rfc1097 と入力すればよい。RFC を
頻繁に読む必要があるのであれば、ローカル・ディスクに対してコピーすることも
可能である。
普通のファイル・システムも実装中である。Hurd の最初のリリースには、BSD 4.4 Fast File System と上位互換のファイル・システムを採用する予定である。通常の 意味論に加えて、トランスレータを記録するという手段を提供する。さらに 32 ビッ トのユーザ id とグループ id を提案する。所有者による任意の設定が可能なファ イルの author と呼ばれる、ファイルごとの新しい id を提供する。さらに、 Hurd 上のユーザは複数の uid (なくても構わない) を持つことができるので、 追 加の1組の許可ビットがある。これは 「名前のないユーザ」 (uid がない) と「名 前があるが任意のユーザ」(いくつかが uid であり、既存のファイルの「ワールド」 の許可ビット) とを区別するためである。
NFS (ネットワーク・ファイル・システム) プロトコルは、最初としては、4.4 BSD を使いながら実装する予定である。ログベース (ログ構造の)・ファイル・システム も、Sprite にあるものと同じアイデアを用いて実装する予定であるが、おそらく同 じ形式にはならないだろう。GNU ネットワーク・ファイル・プロトコルはそのうち 設計されるかもしれないし、あるいは NFS そのものを使って、欠陥を削除するため の拡張を施すかもしれない。また、GNU とその他の OS との間でファイルのやり取 りをする人を支援するために、MS-DOS ファイル・システムなどの様々な「小さな」 ファイル・システムも出てくるだろう。
入出力サーバでは、Posix の端末意味論を提供する予定である。C ライブラリでは、 次のような機能も備えている。キーボード・シグナルやハングアップ・シグナルに 従うといった機能だけではなく、端末の制御に絶えず注意し、適当なタイミングで 適切なジョブ・コントロール・シグナルを送信するために調整する機能である。
プログラムは通信チャネルに様々な方法で端末ドライバを挿入することが可能とな
るだろう。rlogind のようなサーバは、端末プロトコルをサーバのネットワー
ク通信ポート上に挿入することが可能になる。
ユーザに強制させるような端末ドライバは全くない。端末ドライバにより、ユーザ には次のようなことが容易になる基本的な通信チャネルを得ることができる。必要 に応じてバイバスさせたり、まとめたり、端末ドライバに似たプログラムと差し換 えることである。この最後の場合には、必要なインタフェースを別のプログラムが 実現している場合に限り、完璧に元の端末であったかのような端末ドライバに似た プログラムは、 C ライブラリから利用されることになるだろう。
こういった融通性ゆえに、元々の端末ドライバでは、Posix や BSD に見受けられる
振る舞い自体に制限されないようにするために、複雑な行編集を行なうような機能
を提供していない。やがて、readline をベースにした端末ドライバが提供
されるだろう。これには、希望しているユーザのために、複雑な行編集機能がある。
端末ドライバでは、UUCP や SLIP で要求されるような非常に大量で高速なデータ転 送の優れたサポートはおそらく提供されないだろう。これらのプログラムにはどの ような機能をも必要としていない。その代わりに、端末向けの基本的な Mach デバ イス・ポートを採用して、大量のデータを効率良く転送するようになるだろう。
execve 呼び出しの実装は3つのプログラムで行なわれる。ライブラリは引数
と環境のベクトルの整列を行う。そのあとで、実行すべきファイルを所有している
ファイル・サーバにメッセージを送る。ファイル・サーバは実行許可を調べて、
exec を呼び出す時に求められるあらゆる変更を施す。例えば、ファイルに setuid
が付いており、ファイル・サーバにその権限があれば、新しいイメージのユーザの
id が変更される。ファイル・サーバは、古いタスクをアクセスしているプログラム
が新しいタスクのアクセスを継続するべきかどうかを決定する。ファイル・サーバ
が許可の拡大を行なったり、読み取れないイメージを実行している場合には、セキュ
リティを維持するために、exec は新しい Mach のタスクを発生させる必要がある。
新しいイメージに関連した方針を決定したあとは、ファイル・システムはタスクを
ロードするために exec サーバを呼び出す。このサーバは、BFD (Binary File
Descriptor、バイナリ・ファイル記述子) ライブラリを使って、イメージをロー
ドする。BFD は多くのオブジェクト・ファイル形式をサポートしている。サポートされ
る形式はそのほとんどが実行形式である。このサーバは、#! で開始するス
クリプトをも取り扱い、指定されたプログラムのもとで実行する。
標準の exec サーバも、新しいイメージの環境を調べ、変数 EXECSERVERSを
含む場合は、システム標準の代わりに exec サーバとして指定されたプログラムを
使う。(つまり、当然のことながら、セキュリティを保つようにファイル・サーバが
要求している exec では処理を行なわない。)
新しいイメージは、C ライブラリ内で起動が開始され、C ライブラリは、 引数や、 環境、umask、現在のディレクトリなどを得るために exec サーバへメッセージを送 る。ファイル・サーバや exec サーバについては、これ以上特筆すべき点はない。 プログラムが望むのであれば、ライブラリではなく別の方法でそれを利用すること が可能である。
fork 呼び出しは、C ライブラリ内でほどんどすべてが実装されている。新
しいタスクは、Mach カーネルの呼び出しによって生成される。C ライブラリは、そ
のイメージを適切に継承させるように調整する。新しいタスクはプロセスサーバに
記録される (これは必須ではないが)。C ライブラリは fork する際に呼び出すべき
関数のベクトルを用意する。
一つのベクトルは fork する前に呼び出されるものであり、もう一つは
fork の後で親プロセスから呼ばれるもの、最後のものは fork の後で子プロセ
スから呼び出されるものである。
(こ
れらの機能は一般の fork の呼び出し列を差し換えるために用いるべきではない。
ポートをクローズする時や、fork が発生する前に、きれいに処理するライブラリが
必要となったので、これを意図している。) C ライブラリは Posix.4a のドラフト
(スレッドの拡張とリアルタイムの拡張を扱う提案中の規格)で定義された2つの
fork 呼び出しを実現する予定である。
この方法は、ユーザが新しいタスクを生成するように強制するものではない。プロ グラムが一般の fork をほとんど使っていても、特別なの性質がある場合には、利 用することが可能である。C ライブラリにはホック (訳注: あるタイミングで自動 的に起動される機構) も用意する予定であり、これでさえ機能を完全に差し換える ことが可能である。旧来の Unix システムにおいてはこれらのいずれもが不可能で あった。
前述のように、プロセス・サーバは登録された各タスクのために「メッセージ・ポー ト」を保守している。ポートは公になっており、タスクへ非同期メッセージを送る ために使用する。例えば、シグナルはメッセージ・ポートへ送られる。そのシグナ ルのメッセージも、送り手がシグナルを送るために信頼すべきものを表示している という意味で、そのポートを用意している。C ライブラリは様々なポートを表形式 でのせており、各ポートはシグナルの集合を区別している。そのポートを処理して いるあらゆる場所からシグナルを送ることが可能である。例えば、ユーザがタスク のカーネル・ポートを処理している場合に、どのようなシグナルでも送ることがき る。ユーザが特別な 「端末」 id ポートを処理している場合には、キーボート・シ グナルとハングアップ・シグナルを送ることができる。ユーザは C ライブラリのシ グナル許可表に、任意の新しいエントリを追加することが可能である。
プロセスのプロセス・グループが変更になると、プロセス・サーバは新しいプロセ ス・グループを示すメッセージを送ることになるだろう。この場合に、プロセス・ サーバはタスクのカーネル・ポートを提供することで、その権限を立証する。
C ライブラリも、プロセスが現在用いている uid を追加したり削除するためのメッ
セージを用意している。新しい uid がプログラムへ送られると、ライブラリは現在
のセットへそれを追加すしてから、それを知っているすべての入出力サーバとメッ
セージを交換して新しい認証を確立する。同様に、メッセージを用いて uid を消去
することも可能である。後者の場合では、呼び出し側はプロセス・タスク・ポート
を用意しておかなければならない。(追加の許可を与えることにより、プロセスに害
を与えることはできないが、許可を破壊して害を与えることは可能である。) Hurd
は、ユーザ・プログラムが複数のメッセージを複数のプロセスへ送ることを可能す
る。例えば、su コマンドは、現在のログイン・セッション内のすべてのプ
ログラムに対して、サブシェルを生成しないで、新しい uid を与えるられるように
なるだろう。
標準のセットの承認を拒否するのと同じように、C ライブラリは、プログラムが承 認したい非同期メッセージの追加も可能にするだろう。
C ライブラリは、BSD や Posix への拡張はもとより、BSD と Posixからの呼び出し の全てを実装する。他に可能となる選択子は全くなく、Unix での呼び出しは「その まま」使わざるを得ないのに対し、これは、これらの呼び出しをユーザの希望に応 じて差し換えたり、完全にバイパスすることを可能にする。
いくつかの環境では、バイナリ互換もサポートする予定である。これは、プロセス のアドレス空間のどこかにロードされる特別なバージョンのライブラリを作成する ことにより動作する。(例えば、VAX ではスタックの上部にロードすることになるだ ろう。)その場合に、Mach の特徴であるシステム・コール・リダイレクションが、 次の目的で使用される。Unix のシステム・コールをトラップし、ライブラリの特別 なバージョンへジャンプするように変更させる。(大抵のマシンでは、そういったリ ダイレクションのコストは極めて小さい。これは高度に最適化された Mach の経路 を見ると、386 マシンでは約 24 個の命令になる。単純な手続き呼び出しとほぼ同 じである。)
シグナル・マスクやベクトルといった Unix の多くの特徴は、ライブラリで完全に
処理する。これにより、そのような機能を Unix よりもはるかに低コストで行なう。
きわどい領域を保護するために、他の方法を探すのでなく、sigblock を広
範囲にわたって利用する方法は、これからコストを低く押さえられるため適切であ
る。
Hurd には、4.4 BSD プロトコル・スタックの Hurd への移植を非常に容易にするラ イブラリがある。これは、BSD がサポートしている全てのプロトコルを、仮想的に 自由に操作することが可能にしている。現在対象としているプロトコルには、 CCITT プロトコルや TCP/IP プロトコル、Xerox NS プロトコル、ISO プロトコルが ある。
究めて高速な入出力を提供するという Hurd の機能上の利点を採り入れるためには、性能の最適化に関して何らかの作業が 必要になるだろう。ほとんどのプロトコルに対しては、この点において考慮が必要になるだ ろうが、それほどの時間は要しないだろう。Hurd では TCP/IP プロトコルを可能な 限り効率良く実行させたい。
Hurd の設計上の融通性に関する興味深い例として、IP トレーラの例を考えてみよ う。性能面からBSD では広くよく使われている。Hurd はトレーラの送信と受信を処 理しようとしている限り、それを行なう上での利点はほとんどないだろう。という のはデータのコピーの要請がなく、ページ境界の整合性を持つデータのコピーを避 けることは不適切であるからである。
FSF と後援の Wingnutは、第2回 GNU テクニカル・セミナーを 1993 年12月1日と2 日に日本で開催した。Richard Stallman は GNU プロジェクトと FSF について、 次に Jim Blandy は GNU Emacs 19 について、 東田 学 は Demacs (「マイクロコンピュータ用のフリー・ソフトウェア」参照) について講演した。 Bob Myers と David Littleboy は英語による講演の逐次通訳を行なった。 SRA と SRA/Wingnut プロジェクトとそのスタッフは、 日本に滞在中の移動とセミナーをあらゆる手段で支援した。 このセミナーには約 70 名が参加した。 いくつかの出版社が Richard Stallman を取材した。 FSF もソース・コードの入った最新版の CD-ROM を披露した。
12月6日の仙台セミナーでは Richard Stallman が、12月7日の会津大学セミナー では Richard Stallman とJim Blandyが、12 月 13 日の大阪セミナー ではRichard Stallman と東田 学がそれぞれ講演した。これらのセミナー を実現するために、主催者や主催団体、通訳を含む多くの人々や組織に感謝する。
日本Unixユーザ会は、横浜での Unix Fair '93 で FSF にブースを提供してくれた。 この FSF のブースの運営を支援してくれた全てのボランティアや主催者に感 謝する。
各地でのセミナーやショウにおける成功は、我々の期待を越えるものであった。個
人の支援者やユーザ・グループからは多くの自発的な寄付金をいただき、我々を支
援してくださった多くの熱心なボランティアに感謝している。今後は、日本他各地
での Unix のイベントにもっと出現したいと思う。セミナーを主催したい方やコン
ファレンスの講師を必要とする方は、gnu@prep.ai.mit.eduまでご連絡いた
だきたい。
引地美恵子 (h-mieko@sra.co.jp) と引地信之
(hikichi@sra.co.jp) は、日本で GNU プロジェクトのためにボランティア
を続けている。彼らは、GNU's Bulletinを日本語に翻訳し、GNU General Public
License Version 2 (GNU 一般公有使用許諾書 バージョン2) の日本語版を付けて幅
広く配布している。この日本語版はFSFが承認したもので、
srawgw.sra.co.jp [133.137.4.3] マシンの
`/pub/gnu/local-fix/GPL2-j' から anonymous FTPで入手可能である。GNU
Library General Public License (GNU ライブラリ一般公有使用許諾書) の正式な
日本語化を行なっている。また、寄付の呼びかけや GNU ソフトウェアについて人々
の相談にも答えている。
Epoch の日本語版 (nepoch) と、MULE が現在日本で入手可能である。MULE
(MULtilingual Enhancement of GNU Emacs) は、同時に多くの文字コードを扱うこ
とができる。Mule で提供される機能は、最終的には FSF バージョンの Emacs に組
み込まれる予定である。FSF では neopchを配布していないが、MULEはソー
ス・コードの入った CD-ROM を注文したり、
sh.wide.ad.jp マシンの `/JAPAN/mule' または
etlport.etl.go.jp マシンの `/pub/mule' を
anonymous FTP で入手することができる。
(株)ビレッジ・センターでは、GNU Emacs Lisp Reference Manual の日本語 訳を印刷し、さらに Texinfo 形式のソース・ファイルを各種の電子掲示板にアップ ロードしている。また、最近では、copyleftで保護された引地信之・引地美恵子編 著のThink GNUという本を出版した。これは、FSF以外の発行のものとしては 日本初のcopyleftされた出版である。売上の一部は、FSFに寄付されている。
連絡先住所は「〒 182 東京都調布市富士見町 2-2-12 (株)ビレッジセンター」であ る。
連絡先住所は「〒 182 東京都調布市富士見町 2-2-12 (株)ビレッジセンター」で ある。
アディソン・ウェスレイ・パブリッシャーズ・ジャパンは、GNU Make Manual と GAWK Manual の日本語訳を出版した。
連絡先住所は「〒 101 東京都千代田区猿楽町1-2-2 (日貿ビル 2F) アディソン・ウェ スレイ・パブリッシャーズ・ジャパン」である。
連絡先住所は「〒 101 東京都千代田区猿楽町1-2-2 (日貿ビル 2F) アディソン・ウェ スレイ・パブリッシャーズ・ジャパン」である。
ICOT(Institute for Next Generation Computer Technology、新世代コンピュータ
開発機構) は、研究成果として得られた第五世代ソフトウェアをフリー・ソフトウェ
アとして配布している。これには、記号処理、知識表現、問題の解法と推論、自然
言語処理向けのプログラムが 70M バイト以上も入っている。詳細は、
irpr@icot.or.jp へ問い合わせのこと。
日本の多くのグループが GNU ソフトウェアを配布している。JUG (PC ユーザ・グルー
プ)、アスキー (定期刊行物と書籍の出版社)、富士通の FM Towns ユーザ・グルー
プ、Wingnut (SRA の特別 GNU サポート・グループで、日本で初めてデラックス・
パッケージも購入した) などである。(Wingnutによる購入以後、日本のその他の匿
名希望数社がデラックス・パッケージを購入している。) anonymous UUCP による配
布も日本で行なわれており、その UUCP についての詳細は toku@dit.co.jp
へ問い合わせのこと。
日本から直接 FSF へ発注することも容易になり、新しいコードのための助成資金に
もなっている。日本向けに、日本語のFSF注文票があるので、注文票の写し
(3)
を欲しい方はjapan-fsf-orders@prep.ai.mit.eduへ請求していただきたい。
また、受信払いの無料ファクシミリも日本向けに2本用意している(表紙参照)。我々
は、テープを購入するように促している。150 本のテープの注文で 1 人のプログラ
マを 1 年間雇うことができ、より多くのフリー・ソフトウェアを作成することがで
きるからである。
ソフトウェアだけでなく 「フリーに再配布可能」 な情報がある。様々な本や歴史 的な文献などを提供しているグループをいくつか次に示す。
jgoodwin@adcalc.fnal.gov へ問い合わ
せのこと。
obi.std.com マシンから anonymous FTP でアクセスすることができ
る。
mrcnext.cso.uiuc.edu マシンの
`/etext'ファイルや oes.orst.edu マシンの
`/pub/almanac/etext'ファイルなど、数多くの FTP サイトから入手可能であ
る。Bitnet からのテキストの入手方法は「HELP」 という単語をメッセージ本文に
記述して BITFTP@PUCC (Internet上では
BITFTP%PUCC.BITNET@mitvma.mit.edu) へ問い合わせれば、入手方法が
電子メイルで送られてくる。あるいは、USENET グループ
bit.listserv.gutnberg を参照のこと。
mach@cs.cmu.edu 気付で問い合わせのこと。GNU Hurd と GNU
C ライブラリの移植は、Mach が既存のハードウェアにさえ移植されていれば (GNU
Emacs の移植よりも容易で、とりわけ GCC の移植よりは) 容易である。
重要な移植に現在とりかかっている。ファイル・システムは完了間近であり、その
他の数種類のサーバは作業中である。Hurd 関連でボランティアを必要とする重要な
プロジェクトがある。興味のある経験豊富なシステム・プログラマは
gnu@gnu.ai.mit.edu まで電子メイルを送っていただきたい。
recover-file でもそのバッファの取消履歴を読み込むことになる)。
可変幅のフォントのサポート。
世界の全ての主要言語のワイド文字セットのサポート。
X ツールキットを使った表示のサポート。
g77)
GNU Fortran は、内輪の @Alpha{} テスト(専門家の小グループがテスト) 中で、ま
だ公にはリリースされていない。 g77 を完全に公表するまで、 gcc
(GNU C コンパイラ) と f2c(Fortran から C への変換プログラム) を使っ
ていただきたい。g77 は、これらの 2 つのツール ( f2c ライブラ
リと gcc バックエンド) を頻繁にアクセスしているので、これを使って発
生した問題点を報告していくことにより、g77のリリースが早まることをご
理解いただきたい。「言語テープの内容」を参照のこと。
@Alpha{} テストでは、大部分が新しいコードなのでg77 のフロントエンド
のテストが第1目的になっている。2番目の目的は、フロントエンドとバックエンド
間の統合テストである。現在、ここには多くのバグが潜んでいるようである。3番目
は、GNU バックエンドで生成されるコードの品質である。
g77 は、通常のコンパイラの配布の一部として 1994年の初春に @Beta{}リ
リースを行ないたいと思う。
g77 に興味がある人のためにメイリング・リストが用意されている。登録は、
その旨を info-gnu-fortran-request@prep.ai.mit.edu へ宛てればよい。
g77 の作成者や現在の保守担当者へ連絡するには、
fortran@gnu.ai.mit.edu へ宛てる。
cs.nyu.edu マシンの `ftp/pub/gnat'ファイルから anonymous
FTP で入手可能である。また、ボランティアが Pascal のフロントエンドを作成し
ている。
GCCの詳細は「現在配布可能なGNUソフトウェア」を参照のこと。
gnu@prep.ai.mit.edu まで問い合わせていただきたい。
malloc の高速なバージョンを作成し、GNU 正規表現関数(regex) は
現在、POSIX 1003.2 の規格をほとんど満たしている。
GNU stdio では、2〜3個 の C 関数を新たに記述すれば自分の新しいストリー
ムを定義することができる。fmemopen 関数は、文字列に対してストリーム
をオープンするためにこの方法を採用しており、必要に応じて拡張が可能である。
自分の書いた C 言語の関数を使って自分用のprintf 形式を定義することも
可能である。例えば、ユーザからの入力に対してフォーマット文字を用いて安全に
処理することもできる。例えば、printf のような関数を他の言語向けに用
意する、等である。拡張 getopt 関数は、長いオプション名のオプションの
解析のために、多くの GNU ユーティリティ内で既に用いられている。
GNU C ライブラリのバージョンは 1.06 をリリースしたばかりで、1.07は作業中で
ある。バージョン 1.06 には、Emacs 19 に用いられているメモリの再配置を行なう
割り当てプログラムだけでなく、Sequent Symmetryマシンの Dynix、i386マシンの
SCOと SVR4、SPARCマシンの Solaris 2 への各新規移植部分が入っている。
GNU C Library Reference Manual の Texinfo 形式のテキスト・ソース・
ファイルも入っている。詳細は、「現在配布可能な GNU ソフトウェア」を参照のこ
と。
indent は現在、GNU コーディング規則に従った C ソース・コードをサポー
トする。以前よりも強化され、最もよく使われる形式の組み合わせをオプションで
指定することができる。
C ソース・ファイルを調べたり、その中で使われる字下げのパラメータを探すため
に動作させるプログラムはほぼリリースできる状態にあるが、完成させてくれる人
が必要である。そのようなボランティア希望者は gnu@prep.ai.mit.edu ま
で問い合わせていただきたい。
make
GNU make バージョン 3.70 がリリースされている。エラー報告が改良され、
多くのバグが修正された。GNU make は、POSIX.2 の規格を完全に準拠して
いる。また、コマンドの並列実行、柔軟な暗黙的なパターン規則、条件実行、強力
なテキスト操作関数もサポートする。バージョン 3.64 で追加された機能として、
変数定義に文字列を追加する一般的な構文 `+=' をサポートしている。ベンダー
から提供されているmake が全くない人のために、make プログラム
を使う前に最初に make を作成する`build.sh' というシェル・スクリ
プトが GNU make に付いている。
gnuplot 用と Embedded Postscript の生成機能を追加した。
Texinfo 形式の Oleo マニュアルを書くことに興味のある方は Tom Lord lord+@andrew.cmu.edu) へ連絡のこと。Oleo 関連のバグの報告先は、bug-oleo@prep.ai.mit.edu。「現在配布可能な GNU ソフトウェア」を参照
のこと。
enscriptのような) テキスト・ファイル
の印刷や、Postscript形式の文書からテキストを抽出するユーテイリティ、
Microsoft Windowsの信頼性のかなりの向上と高速化、Microsoft C/C++ 7.0 向
けのサポート、SPARCprinterを含む多くの新機種プリンタ用と TIFF/F (ファクシミ
リ) ファイル形式のドライバ、色空間機能 (パターンではない) を含むさらに多く
の Postscript Level 2 機能、Level 1 と Level 2 との動的な切り替え機能が改善
された。
Ghostscript は、Postscript のコマンドを受け付けてプリンタへ直接出力したり、
X ウィンドウ上での描画や、プリンタ出力可能なファイルを作成する。(あるいは、
他のグラフィック・プログラムで操作できるようなビットマップ・ファイルを生成
することも可能である。) Tim Theisen (ghostview@cs.wisc.edu)
は、Ghostscriptの最上位で動作する Ghostview (複数ページのファイルを扱うプリ
ビュー) を作成した。Russell Lang
(rjl@monu1.cc.monash.edu.au) は、Microsoft Windows 上で動作する
Windows 版 Ghostview を作成した。
(Postscript 言語を扱いたくないクライアントのために) C 言語の呼び出し可能な
グラフィック・ライブラリも入っており 、IBM PC や EGA、VGA、SuperVGA グラフィッ
クを扱う IBM PC とその互換製品もサポートしている。(但し、これについては FSF
のスタッフに尋ねないでほしい。我々は PC を使っていないし、PC マシンを習得す
る時間もないからである。)
Ghostscriptの次期リリースは 3.0 で、1994年初頭に配布できるようにしたい。ソ
フトウェア特許のためにフリーに実現することのできないLZW 圧縮以外は、完全な
Postscript Level 2 言語を実現するつもりである。こういったプログラム作成に関
わる禁止事項は、プログラミング自由連盟 (League for Programming Freedom) で
戦っている問題である。
groff
James Clark は groff (GNU troff とその関連プログラム) を完成
させた。groff は C++ で記述されており、GNU C++ バージョン
2.3以降を使ってコンパイルする。
groff で発見されたバグは修正するが、重要で新しい開発は現在予定し
ていない。しかし、groff ユーザには拡張コードを寄与するように奨励
している。最も必要とされる作業は、Texinfo 形式のドキュメント、
grap エミュレーション (グラフを組版するための pic プリプロ
セッサ)、pm のようなページ記述ポストプロセッサ (「Computing
Systems」 Vol. 2、No. 2 参照)、pic 用の ASCII 出力クラスであ
る。これを用いればpic を Texinfo に統合することが可能になる。
バグを報告してくれた全ての人々に感謝する。
makeinfoとInfoリー
ダの infoが入っている。どちらも C 言語で記述されており、GNU Emacs に
依存しないで単体で動作する。
GNU システムはまだ完成していないが、既に移植が開始可能である。これは、未完 成ながらも基本的に Hurd の移植性が高いためである。本当に移植すべきシステム は Mach と GNU C ライブラリであり、両方とも移植と利用のために既に配布されて いる。
GNU は、品質の向上と、使いやすいオンライン兼プリンタ出力用のドキュメント作 成に時間を割いている。 GNU マニュアルでは基礎的な概念について説明し、各プログラムの全ての機能の使 い方やコマンドの使い方例を示している。GNU マニュアルは、Texinfoソース・ファ イルとして配布されており、ハードコピー用とメニュー指向の Info システムによ るオンライン・ハイパーテキスト風の表示用の両方を生成することができる。これ らは我々のソフトウェアと共に提供され、製本されたマニュアルとしても入手可能 である。「FSF 注文票」を参照のこと。
いくつかの GNU マニュアルには、ソフトカバーの本のように、本を開いたままにし ておける綴じ方を採用した。これにより、綴目にしわが寄らずに机の上に平らに置 くことができる。それぞれの本には、背表紙の内部に布を使い、外側には厚紙の表 紙を付けて、もともとの紙表紙の本が破れたり、しわが寄らないようになっている。 それ以外の GNU マニュアルも、別の技術で平らに開いて置けるような綴じ方になっ ている。
各マニュアルの名前に後ろに付いているマニュアルの版やプログラムのバージョン 番号は、この小冊子が発行された時点のものである。
Emacs Manual (バージョン 19、第9版)は、GNU Emacsを使った編集方法につ
いて説明したものである。マニュアルには、アウトライン・モードや正規表現の検
索などの高度な使い方や、C++やTeXのような言語を使ったプログラム作成の
ための特殊モードの使い方、tagsユーティリティの使い方、コードのコンパ
イルや修正方法、キーの独自の割り当て方、その他の初歩的なカスタマイズ方法も
載っている。
Emacs Lisp Reference Manual (バージョン 19、第2.1版) は、プログラミ ング言語 (GNU Emacs Lisp) について詳説したものである。データ・タイプ、制御 構造、関数、マクロ、構文表、検索と一致、モード、ウィンドウ、キーマップ、マー カー、バイト・コンパイル、オペレーティング・システム・インタフェース、等が 載っている。
Texinfo Manual (バージョン 3、第2.19版) は、オンラインの Info ドキュ メンテーションと版組みされたハードコピーの両方の生成に用いられる記述式言語 について説明したものである。表や箇条書、章、ノード、索引、相互参照の作り方 だけでなく、GNU EmacsによるTexinfoモードの使い方や誤りの見つけ方も載ってい る。
GAWK Manual (バージョン 2.16、第0.16版) は、GNU 版 awk の使い
方について説明したものである。awkを使ったことのない人を対象としてい
る。この強力な文字列操作言語の特徴は全て網羅されている。
Make Manual (バージョン 3.68、第0.43版) は、他のプログラムを部分的に
再コンパイルして使う GNU make プログラムについて説明したものであ。マ
ニュアルには、makefile の書き方、プログラムのコンパイル方法、プログラ
ムの個々の部分の依存関係を作る方法が載っている。初心者のための入門の章や自
動生成される依存関係に関する新しい節が設けられている。
Debugging with GDBマニュアル (バージョン 4.9、第4.09版) は、GNUデバッ ガの使い方について説明したもので、デバッガの制御下におけるプログラムの実行 方法、プログラムの実行中のデータの表示や変更の方法、制御の流れの変更方法、 GNU Emacs 上でのGDBの使い方が載っている。
Bison Manual (バージョン 1.23、1993年12月版) は、C 言語のプログラム に変換する Bison プログラム向けの自由文脈文法の書き方について説明したもので ある。構文解析について予備知識のないユーザを対象としている。
Flex Manual (バージョン 2.3.7、第1.03版) は、指定されたパターンを認
識する C 言語のプログラムを生成するflexプログラム用の字句解析定義の
書き方について説明したものである。字句解析について予備知識のないユーザを対
象とする。
Using and Porting GNU CC は (バージョン 2.4、1993年6月版)、GNU C コ ンパイラの実行、インストール、移植の方法について説明したマニュアルである。
Termcap Manual (バージョン1.2、第2版) には「Termcapについてユーザが 知りたかったことの2倍」のことが書いてあるとよく言われる。これには、termcap のデータベースの形式、端末の性能についての定義、端末の仕様の探し方について の説明が載っている。このマニュアルは主にプログラマを対象とする。
Emacs Calc Manual (バージョン 2.02、第2.02版) は、Calc の入門編と詳 細編の両方が載っている。一般演算子の使い方、Calc による代数や計算、その他の 数式の使い方、Calc の拡張方法について説明したものである。
C Library Reference Manual (バージョン1.07、1993年6月版 ) は、GNU C
ライブラリのほとんど全ての機能について説明したもので、Unixの呼び出しであ
る「ライブラリ関数」と「システム・コール」の両方が載っている。内容がしっか
りするまで、このマニュアルの印刷部数を抑えている。これはまだリリースしたば
かりで、正誤情報の反映や改良が必要なので、そのような情報は
bug-glibc-manual@prep.ai.mit.edu まで送っていただきたい。
次のものを提供している。
また、次に示す媒体に入れて tar 形式の Unix ソフトウェアの
ソース・ファイルも提供している。
Unix システム用の各種9トラック・テープとカートリッジ・テープの内容は (Emacs 用の実行形式も入っているRS/6000 Emacs テープ用の場合を除き) 同じで、媒体の 種類だけが異なる。Texinfo 形式のマニュアル・ソース・ファイルを含む。 バグ報 告はいずれも適切な電子メイルのメイリング・リストへ宛てていただきたい(「フリー・ ソフトウェアのサポート」参照)。
各種テープに入っているファイルによっては、テープにおさめるためにgzip
を使って圧縮されている場合がある。それらの復元方法は各テープの冒頭に入って
いる最上位のファイル `README' を参照のこと。uncompress と
unpack では機能しない !
各媒体の内容を記述している欄の、プログラム名の後ろに付くバージョン番号は、 この小冊子の発行時点のものである。配布テープを注文する際には、プログラムが 更新されている可能性があるのでバージョンが上がっていることがある。
相互参照の略語を次に示す。
現在配布可能なGNU ソフトウェアを次に示す。
acm @hfill (SrcCD、 UtilT)
acmは、X Window System下で動作する LAN指向の複数プレーヤーに対応しており、
空中戦のシミュレーション・プログラムである。プレーヤーは、熱探査ミサイルや
機関銃を使って、もう1人のプレーヤーと空対空で交戦する。最終的には、これをさ
らに汎用目的で使えるようなフライト・シミュレータにしたい。
m4 のマクロ呼び出し形式で列挙されている。ほとんどの
GNU プログラムが、現在この Autoconf で生成された構築スクリプトを使っている。
shと互換性があり、
csh と ksh の両方に拡張を施したものである。ジョブ制御機能や、
csh スタイル・コマンド履歴、readline ライブラリを介した(Emacs や
vi モードが組み込まれており、キーの再割り当てが可能である) コマンド
行編集機能が備わっている。
bc @hfill (SrcCD、UtilT)
bc は会話型の任意精度の計算言語である。GNU bc は POSIX 1003.2
規格のドラフトに基づいて作られたものであるが、拡張が施されている。変数名に2
文字以上の指定が可能で、else 文があり、論理式を全て網羅している。
ld や GDB など) から異な
る形式のオブジェクト・ファイルを透過的に扱えるようになる。BFD では移植性の
高いインタフェースを提供しているので、BFD に個々の形式の詳細を実際に与える
だけでよい。このような設計により、BFD を使っている全てのプログラムが COFF
や ELF、ROSE といった形式のサポートが可能になる。BFD には Texinfo 形式のド
キュメントも含まれている。
完全に安定していないので、目下のところ、BFDは個々に配布していないが、それぞ
れを使っているパッケージには入れている。
ar、
c++filt、
demangle、
gprof、
ld、
nlmconv、
nm、
objcopy、
objdump、
ranlib、
size、
strings、
strip が入っている。
Binutils のバージョン 2 は、BFD ライブラリを採用するために完全に書き換えら
れた。GNU リンカ ld は、多重定義のシンボルや未定義の参照に対してソー
スの行番号を含むエラー・メッセージを表示するという GNU リンカならではの特徴
を備えている。nlmconv は、オブジェクト・ファイルを Novel NetWare で
ロード可能なモジュールに変換する。 objdump プログラムは、a29k、ALPHA、
H8/300やH8/500、HP-PA、i386、i960、m68k、m88k、MIPS、SH、SPARC、Z8000プロセッ
サ用のコードを逆アセンブルしたり、BFDで解釈可能なあらゆるファイルの形式のシ
ンボルや再配置のデータを表示することが可能である。
yacc と上位互換性がある構文解析を生成する代替ソフトウェアで、
数々の特徴が備わっている。Bison Manual とリファレンス・カードのテキ
スト・ソース・ファイルも入っている。
configure スクリプトを採用しており、
SunOS 4.1 の動作する Sun-3 (SunOS 4.1) と Sun-4 (SunOS 4.1と Solaris 2)、
4.3 BSD の動作する HP 9000/300 (4.3 BSD) と SONY News 800 (NewsOS 3 または
4)、MIPS DECstation (Ultrix 4)、DEC Alpha (OSF/1)、i386/i486 (System V、
SVR4、BSD、386BSD、NetBSD、SCO 3.2、SCO ODT 2.0)、Sequent Symmetry i386
(Dynix 3) 上で動作する。新しいGNU C Library Reference Manual の
Texinfo形式のテキスト・ソース・ファイルが入っている。
gnuplot へ出力する。
Stuart Cracraft
P.O. Box 2841
Laguna Hills, CA
USA
電話番号: (714) 770--8532
電子メイル: cracraft@ai.mit.edu
cpio @hfill (UtilT、SrcCD)
cpio は、SVR4 cpioの全ての機能を備えた代替のアーカイブ・プ
ログラムであり、POSIX 1003.1 ustar 規格に準拠している。
dc @hfill (UtilT、SrcCD)
dc は RPN 電卓である。GNU bc は、実行のために別個の dc
プログラムを必要としない。dcのこのバージョンは、最終的には bc
パッケージとマージされる予定である。
expect と Tcl が付いてくる。
diff は、数種類の柔軟性のある形式で、行ごとの変更点を表示しなが
らファイルを比較する。昔からある Unix のそれらと比較するとかなり高速に動作
する。この「diffutils」 の配布には、diff、diff3、sdiff、
cmpが入っている。
flex、GAS、Bison へ移植したものが入っている。完全なソース・コードが
提供される。
DJGPP では、SVGA (1024x768 迄)や、
XMS と VDISK のメモリ割り当て、
himem.sys、
VCPI (QEMM、DESQview、386MAXなど)、
DPMI (Windows 3.x、OS/2、QEMM、QDPMIなど)をサポートする。
DJGPP は、ftp.clarkson.edu サイトの`/pub/msdos/djgpp' ディレク
トリから FTP にて入手可能である。
djgpp-request@sun.soe.clarkson.edu に自分の電子メイル・アドレス
を知らせると DJGPP のメイリング・リストに加入できる。
詳細は、この節の中の GCC の記述を参照のこと。
dld @hfill (LangT、SrcCD)
dld は、W. Wilson Ho が作成したダンナミック・リンカである。
dldライブラリを使うプログラムは、そのバイナリの実行中に、動的にオブ
ジェクト・ファイルをロードできるようになる。現在サポートされているマシンは、
VAX (Ultrix)、Sun 3 (SunOS 3.4 and 4.0)、SPARC (SunOS 4.0)、Sequent
Symmetry (Dynix)、Atari STである。
doschk @hfill (UtilT、SrcCD)
このプログラムの意図は、ソフトウェア開発者を助けるユーティリティに提供する
ことである。14 文字までのファイル名を扱うSystem V のプラットフォーム上と、11
文字までのファイル名を扱う MS-DOS 上とのソース・ファイル名を確実に区別でき
るものを生成する。
ecc @hfill (UtilT、SrcCD)
eccは、Reed-Solomonアルゴリズムを用いたエラー訂正チェック・プログラ
ムである。255バイトのブロック単位で3バイト・エラーを訂正し、より厳密なエラー
を検出することができる。
elvis @hfill (UtilT、SrcCD)
elvis は Unix のエディタ vi/ex のクーロンである。
vi/ex の表示と行モードの両方のほとんど全てのコマンドをサ
ポートする。elvis は BSD、System V、Xenix、Minix、MS-DOS、Atari
TOS 上で動作しているが、他のプラットフォームへの移植は容易であろう。
es @hfill (UtilT、SrcCD)
これは rc を基にした拡張性に富んだシェルであるが、1階関数、構文スコー
プ、割り込みシステム、豊富な戻り値 (つまり、関数が数値以外の値を返すことが
できる) を含む多くの特徴が備わっている。rc (訳注: Bell研の Plan 9 に
採用されている標準のシェル) のように、特に、引用規則がC言語や Bourne シェル
よりもずっと簡素なので、会話型での利用やスクリプトの作成の両方に非常に便利
である。
expect @hfill (LangT、SrcCD)
expect はスクリプトを実行して、プログラムとの対話を管理する。Tclと
DejaGnuに付いて配布される。
f2c @hfill (LangT、SrcCD)
f2c は、Fortran--77のソース・
ファイルを C 言語または C++ 言語へ変換する。そうすれば、GCCでコンパ
イルすることができる。
chgrp、
chmod、
chown、
cp、
dd、
df、
dir、
du、
install、
ln、
ls、
mkdir、
mkfifo、
mknod、
mv、
mvdir、
rm、
rmdir、
touch、
vdir。
find @hfill (UtilT、SrcCD)
find は、会話時にあるいはシェル・スクリプト内で頻繁に用いられるコ
マンドである。ある基準に一致したファイルを検索し、任意の操作を行なうよう
な場合である。このパッケージにはxargs や locate も入ってい
る。
finger @hfill (UtilT、SrcCD)
昔のネットワークが整備されたサイトでは、
コンピュータを使っている人が30人以上いた場合でも、コンピュータは
1〜2台しかなかった。
サイトAにいるあるユーザ
がサイトBにログインしているユーザについて知りたい場合は、簡単なプログラムを
実行して誰がログインしているかをサイトBのホスト・マシンに問い合わせる。
小さめのワークステーションを使う場合の最近のサイトでは、1台につき数人のユー
ザ(おそらく1人だけ)が複数のホスト・マシンで構成される。これでは、あるログイ
ン・ユーザを探すのに各ホスト・マシン全てに問い合わせなければならないので、
別のサイトのログイン・ユーザをも探そうとしてしまう。
既存の finger プログラムの完全な代替である GNU Finger は、この問題を解決し
ている。多くのホスト・マシンをかかえるサイトでは、ホスト・マシンのうちの 1
つを finger サーバ・ホストに指定することが可能である。そうすれば、そのホス
ト・マシンで、そのサイトの他のホスト・マシンへログインしているユーザに関す
る情報を集めることが可能となる。サイト A のユーザがサイト B にログインして
いるユーザの情報を得たいのであれば、そのサイトのどこかのマシンに問い合わせ
るだけで完全な情報が返ってくる。
flex @hfill (LangT、SrcCD)
flex は、Unix の lex (字句解析生成プログラム)とほぼ互換性があ
る。Lawrence Berkeley 研究所の Vern Paxson が作成した。flex は、
lex と比べて非常に効率の良い字句解析プログラムを生成する。Flex
Manual とリファレンス・カードのテキスト・ソース・ファイルも入っている。
awk と上位互換である。GAWK
Manual のテキスト・ソース・ファイルも入っている。
long long
型)。拡張浮動小数点(long double 型)は、68k マシン上ではサポートされ
ており、その他のマシンも今後サポートしていく予定である。
GCC は フルセットANSI C 、古い C、GNU C 拡張言語をサポートしている。GNU C
は関数の入れ子や、関数をまたがる goto、ラベルのアドレスの取得をサポートして
いる。
GCC は、適切なアセンブラがあれば a.out、COFF、ELF、OSF-Roseファイルを生成す
ることができる。デバッグ情報は、BSD スタブ、COFF、ECOFF、スタブ付きの ECOFF、
DWARF などの形式で生成可能である。
GCCで生成するコードを次に示す。
a29k、Alpha、ARM、Convex cN、Clipper、Elxsi,
H8300、HP-PA (1.0と1.1) i370、i386、i486、i860、i960、m68k、m68020、m88k、
MIPS、ns32k、Pyramid、ROMP、RS6000、SH、SPARC、SPARClite、VAX、we32k。
オペレーティング・システム別に示す。
AIX、 ACIS、 AOS、 BSD、 Clix、 Ctix、DG/UX、 Dynix、 Genix、 HP-UX、 ISC、
Irix、 Linux、 Luna、 LynxOS、 Mach、 Minix、NeWSOS、 OSF、 OSF-Rose、
RISCOS、 SCO、 Solaris 2、 SunOS 4、 SystemV、 Ultrix、 Unos、VMS。
(Tron 向けの新しい移植と同様、) Alliant や Tahoe、Spur 用の古い(バージョン1
での)マシン記述は動作しない。しかし、その作業を行ないたい人のために配布の中
にそれらをまだ入れてある。
GCCの構築方法を使うと、クロスコンパイラを作成する場合は、ホスト・マシンと同
じ機種のターゲット・マシン用のコンパイラを作成する場合と同様の手間で容易に
行なうことができる。バージョン2 では、より一般的な関数呼び出し形式もサポー
トしている。引数を「参照渡し」にし、スタック上に引数の場所を予め確保してお
くことができる。SPARC マシン上の GCC 2 では、構造体の引数や戻り値にSPARCの
慣習を採用している。
バージョン 2 のコンパイラは、3 つの言語 (C、C++、Objective C) をサポー
トする。ソース・ファイル名の拡張子から、あるいはコンパイラ・オプションから
言語を選択するようになっている。Objective C のフロントエンドは NeXT 社から
寄付された。Objective C プログラムの実行に必要な実行時ルーチンは現在、GCC
と共に配布される (これには object の派生物である Objective C クラス
は一切含まない)。 cfront (AT&T コンパイラ) は ANSI 規格とは異なって
きているので、G++ では、cfront (AT&T コンパイラ) ではなく、発展
しつつある ASNI 規格にできる限りあわせている。
GCC のマニュアル (Using and Porting GNU CC) のテキスト・ソース・ファ
イルはコンパイラと共に提供されている。このマニュアルは、GNU C コンパイラの
起動方法、インストール方法、新しい CPU への移植方法が載っている。コンパイラ
の新しい機能や非互換機能について説明しているが、C 言語に馴染みのない人は C
言語に関する良書も必要になるだろう。
a.out)、富士通 SPARClite、日
立 H8/300、m68k と m68332。
gdbm @hfill (LangT、SrcCD)
gdbm ライブラリは、伝統的な dbm と ndbm ライブラリの
GNU 版代替品である。ハッシングを用いて高速検索が可能なデータベースを実現す
る。gdbm は両方の関数形式をサポートしているが、(Unix とは違って) デー
タベースのファイルの中に無駄な空間を作らない。
gmp @hfill (LangT、SrcCD)
GNU MP は、任意精度の符号付き整数に関する有理数演算を行なうライブラリである。
豊富な関数が用意されており、全て統一されたインタフェースを有している。
gnuplot @hfill (UtilT、SrcCD)
gnuplot は、数式やデータをプロットするための対話型プログラムである。
曲線(2次元)と面(3次元)の両方を扱う。念のために、gnuplot プログラムは GNU プ
ロジェクトで作成したものではなく、名付けたものでもない。単なる偶然である。
gperf @hfill (LangT、SrcCD)
gperf は、「完全 (perfect)」ハッシュ関数の表生成ユーティリティである。
実際には 2 つのバージョンの gperf があり、1つは C言語で書かれ、もう1
つは C++ 言語で書かれている。いずれも Cまたは C++ でハッシュ関数
を生成する。
spline プログラムの代替え、
graph や plot を用いたシェル・スクリプトの例、統計ツールキッ
トの追加、インストール用 configure の採用といった特徴があり、ln03や
TekniCAT TDBファイル形式での出力もサポートする。
既存の移植部分に関して再テストが必要である。SPARCtation 以外の移植やテス
トの支援が可能な人は、Rich Murphey (Rich@rice.edu) まで連絡
していただきたい。
grep/egrep/fgrep @hfill (UtilT、SrcCD)
[ef]grep プログラムは、Unix の同名プログラムの GNU 版である。これ
らは従来の Unix 版よりもかなり高速に動作する。
groff and mgm @hfill (UtilT、SrcCD)
groff は文書処理システムで、 troffやpic、eqn、
tbl、 refer、マクロの -man、-ms、-mm
だけでなく、 Postscript、TeX dvi 形式、タイプライタのような文字を出力
するデバイスなどの各種ドライバがある。また、Berkeley版の me マク
ロの修正版やX11用の xditview というプリビュアの拡張版も入っている。
mgmは、groff用のマクロ・パッケージである。DWB mm マ
クロとほぼ互換で、幾つかの拡張を施してある。
gzip @hfill (DjgppD、EmcsT、LangT、SrcCD、UtilT)
我々の配布内容には、圧縮されているものがある。そのようなファイルを復元でき
るように、テープと FTP サイトにそのソフトウェアを収めている。それらのファイ
ルを復元するために、テープと FTP サイト上に、gzipソフトウェアを入れ
ている。compress に関わる特許問題のために、我々は別の圧縮プログラム
として gzip に切り替えつつある。gzip は LZW 圧縮ファイルを復
元することができるが、圧縮には別なアルゴリズムを採用し、一般に良い結果が得
られている。また、System Vの pack プログラムを使って圧縮されたファイ
ルも復元することができる。
hello @hfill (UtilT、SrcCD)
GNU hello プログラムは、親しみやすく友好的な挨拶文を生成する。使
えないだろうと思っていた古典的なコンピュータ科学のツールを、プログラマ以
外の人でも使いこなせる。なぜならば、これ自体は GNU 一般公的使用許諾で保
護されており、誰もが自由に共有し、変更が可能だからである。
本当に有用なプログラムによくあるように、hello は組み込みのメイル・リー
ダを提供している。
hp2xx @hfill (UtilT、SrcCD)
GNU hp2xx は HP-GL ファイルを読み取り、全ての描画コマンドを基本ベクタに再
構成したあと様々なベクタやラスタ出力形式に変換する。また、HP-GLプリビュアも
入っている。現在、サポートされているベクタ形式には、Encapsulated Postscript
や Uniplex RGIP、メタフォント、各種の TeX関連の特殊ファイル、取り込み用
の簡素化された HP-GL (線描画のみ) がある。ラスタ形式には、IMG、PBM、PCX、
HP-PCL (Deskjet と DJ5xxC サポートを含む) があり、サポートされている。プリ
ビュアは、X11 (Unix)やOS/2 (PM とフルスクリーン)、MS-DOS (SVGA、VGA、HGC)上
で動作する。
indent @hfill (UtilT、SrcCD)
GNU indent は、フリーに再配布可能な BSD プログラムを GNU 版に修正し
た同じ名前のものである。既定値では、 GNU コーディング規則に従った C ソース・
コードへフォーマットする。しかし、オプションで指定すれば、もともとのバージョ
ンの既定値の形式や別の形式も可能である。
ispell @hfill (UtilT、SrcCD)
ispell は、認識されない単語を発見し、代替候補として「あたりをつけて」推測す
る会話型の綴り字チェックプログラムである。システム辞書とユーザ辞書を用いる
ことができる。単体で使う場合のインタフェースとGNU Emacs用のインタフェースの
両方が配布されている。
nexus.yorku.ca マシ
ンの `/pub/scheme/new' ファイルやaltdorf.ai.mit.edu マシンの
`/archive/scm' ファイル、prep.ai.mit.edu マシンの
`/pub/gnu/jacal' ファイルから、anonymous FTP で 入手可能である。
FSF では、どのような媒体ででも JACAL を配布していない。IBM PC 用のフロッピー・
ディスクでソース・ファイルと実行ファイルを希望する場合は、次の所へ $99.00
を送ればよい (訳注: これは米国内対象の料金である)。
less @hfill (UtilT、SrcCD)
less は more や pg に似ており、ページごとに読む表示フィ
ルタであるが、ほとんどの類似品にはない様々な特徴を備えている(例えば、逆にス
クロールする機能)。
m4 @hfill (UtilT、SrcCD)
GNU m4 は、昔からある Unix のマクロプロセッサの GNU 版で、SVR4 とほ
ぼ完全な互換性を持ち、さらに幾つかの拡張(例えば、マクロに対して位置に関する
引数を 9 個以上の取り扱いが可能) が施されている。また、m4 にはファイ
ルのインクルードやシェル・コマンドの実行、演算機能、等を行なう組み込み関数
もある。
make @hfill (BinCD、EmcsT、LangT、UtilT、SrcCD)
GNU make は POSIX 1003.2をサポートし、その全てを網羅する。さらに独自
の改良に加えて、BSD make、System V make のほとんど全ての機能が備わっている。
長い名前のオプション、並列処理や条件実行、テキスト処理向けの機能といった
GNU 版独自の拡張も施されている。Make Manual のソース・テキスト・ファ
イルは、プログラムと共に提供されている。
GNU make を各種配布テープに入れて配布している。システム固有の
make プログラムには、GNU 構築システムの拡張で使っている基本的な機能
VPATH が欠けているためである。そのようなシステムで GNU make
を作成するために、スクリプトが入っている。
p2c @hfill (LangT、SrcCD)
p2c は、Dave Gillespieが作成した Pascal から C 言語への変換プログラ
ムである。16 ビット・マシン上で動作するようにコードを書き換えて移植すること
も可能であろうが、主に、32ビット点マシン上で用いられることを想定している。
patch @hfill (UtilT、SrcCD)
patch は Larry Wall の作成したプログラムの GNU 版で、diff
の出力結果を取り込んで元のファイルに差分情報を反映させ、パッチをあてたバー
ジョンを作成する。
perl @hfill (LangT、SrcCD)
Larry Wall は perl と呼ばれる高速なプログラムを作成した。これは、
sedやawk、sh、C 言語の特徴を組み合わせただけでなく、各
種システム・コールのためのインタフェース、C ライブラリ・ルーチンが備わって
いる。perl の編集用に Perl モード・コードが GNU Emacs 19に付いている。
ptx @hfill (UtilT、SrcCD)
ptx は ptx の GNU 版で、交互参照表生成プログラムである。数あ
る機能のうちでもとりわけ nroff を使わなくても読みやすい 「KWIC」
(KeyWords In Context) を生成し、TeX コードを出力するオプションもある。
rc @hfill (UtilT、SrcCD)
rc はシェルである。C 言語に似た構文 (Cシェルよりも豊富である) を備え
ており、C シェルやB シェルよりもきれいな引用規則を備えているという特徴があ
る。会話的に用いられることを想定しているが、スクリプトの作成にも非常に便利
である。
diff を使えば、RCS はバイ
ナリ・ファイル (実行形式、オブジェクト・ファイル、8 ビット・データ・ファイ
ルなど) を取り扱うことが可能となる。
recode @hfill (UtilT、SrcCD)
recode は、文字セットとその用法に関して変換する。正しい音訳が不可能
な場合 (訳注: 例えば、ロシア語をローマ字で綴るような場合のこと) は変な文字
を取り除いたり、近い文字まで後退する。このプログラムは、約 150 種類の文字セッ
トを認識したり作成し、他のどのような文字へもほとんど変換することもできる。
ほとんどの RFC 1345 の文字セットがサポートされている。
screen @hfill (UtilT、SrcCD)
screen は端末エミュレータで、 1 台の端末上で複数の論理的なスクリーン
(ttys) を実行する。生成された仮想端末ごとに、ANSI X3.64 と ISO 2022 の機能
を幾つか加えた DEC VT100 をエミュレートする。screen セッションから抜
け、あとから別の端末で再開することが可能である。
sed @hfill (UtilT、SrcCD)
sedは、ed の文字列指向のバージョンである。シェル・スクリプト
ではよく用いられる。GNU sed には、regexの高速版のrxライブラリが付いてくる。
basename、
date、
dirname、
echo、
env、
expr、
false、
groups、
id、
nice、
nohup、
printenv、 printf、
sleep、
stty、
su、
tee、
test、
true、
tty、
uname、
who、
whoami、
yes。
Matthias Mutz
Universitaet Passau, FMI
94030 Passau
Germany
E-mail: mutz@kirk.fmi.uni-passau.de
tar @hfill (UtilT、SrcCD)
GNU tar は、マルチボリュームをサポートしており、疎なファイルをアーカ
イブする機能やリモート・アーカイブ、アーカイブの自動圧縮/復元などをサポート
する。特に、tarを使ってファイル・システムの差分や全体のバックアップ
をとることができる点が特徴である。残念ながら、GNU tar は、POSIX
1003.1 ustar 規格の初期のドラフトを基にしているので、最終バージョン
には従っていない。古いバージョンとの互換のための変更を要すること明記するま
でもない。
libtermcap.a の差し替えであり、どのようなシ
ステムでも利用することができる。通常の termcap とは異なり、Termcap の記述項
目の大きさの制限を外した。Texinfo 形式の Termcap Manual のテキス
ト・ソース・ファイルも入っている。
tar で記述され、1/4インチ 4 トラック QIC-24 のカートリッジまたはDAT
カートリッジに入った完全配布版を注文するには210ドルを次の所へ送る。
Northwest Computing Support Center
DR-10, Thomson Hall 35
University of Washington
Seattle, WA 98195
電子メイル: unixtex@u.washington.edu
電話番号: (206) 543-6259
支払いは、ワシントン大学へ小切手を送る。小切手は米ドルで、米国にある銀行で
引き落とし可能なものでなければならない。
cat、
cksum、
comm、
csplit、
cut、
expand、
fold、
head、
join、
nl、
od、
paste、
pr、
sort、
split、
sum、
tac、
tail、
tr、
unexpand、
uniq、
wc。
expect と DejaGnuは、
Tclを用いて動作する。
time @hfill (UtilT、SrcCD)
time という関数は、(通常はシェルから) time コマンドの実現に用いら
れ、1 つのプロセスのユーザ・タイムやシステム・タイム、実経過時間の統計情
報を出力する。
tput @hfill (UtilT、SrcCD)
tput は、特殊な端末機能をシェル・スクリプトで扱えるようにするため
に、移植性の良い方法を提供する。通常の terminfo ではなく、termcap データ
ベースを利用している。
f、 g (全てのウィンドウとパ
ケット・サイズで)、G、Zmodemプロトコルと2つの新しい 双方向性のあるプ
ロトコルとしてtプロトコルとeプロトコルである。Berkeley ソケッ
ト・ライブラリがあれば、TCP接続が可能である。TLIライブラリの場合は、TLI接続
が可能である。
uuencode @hfill (UtilT、SrcCD)
uuencode と uudecode は、単純な ASCII データ以外はサポートしない転送媒体を
経由したバイナリ・ファイルの転送に用いられる。
wdiff @hfill (UtilT、SrcCD)
wdiff は2つのファイルを比較して、どの単語が削除されたか、最初に指定
したファイルからどの単語を追加すれば 2番目に指定したファイルを得られるかを
示す。最終的には、spiff と呼ばれる類似のプログラムから幾つかのアイデ
アを統合し、GNU diff の将来のリリースに組み入れたい。
オランダのDelft工科大学は、OCEANという包括的なIC設計パッケージを開発してい る。これには、セミカスタムのシーオブゲート型ゲートアレイ・チップの論理合成 および検証のための強力なツール・セットが含まれている。OCEANは、チップ設計工 程のバックエンド (回路レベルから、レイアウトして実際のチップにするまでの工 程) も網羅している。
OCEANは、配置や配線、シミュレーション、回路抽出を全自動または半手動で行なう ことのできる会話型ツールを提供している。完全なソース・コードをフリー・ソフ トウェアとして入手可能であり、LinuxやHP、X Window Systemの動作する各種の Sun ワークステーション上で動作することが確認されている。データの外部とのや り取りは、EDIF、BLIF、SLS、GDSII、CIF、SPICE、LDMの各形式で可能である。
OCEANは、donau.et.tudelft.nlマシンから anonymous FTPにて入手可能であ
る。詳細はInternet上のpatrick@donau.et.tudelft.nlへ問い合わせのこと。
このテープには、Common Lispの実装、GNU Emacs、GNU Emacsを使って動作する各種 の拡張版、その他2〜3の重要なユーティリティが入っている。
gzip 1.2.4
make 3.70
このテープには、コンパイラやインタープリタ、(構文解析生成コマンド、変換プロ グラム、デバッガ、他)関連プログラムなどのプログラム開発ツールが入っている。
dld 3.2.3
expect 4.7.6
f2c 1993.04.28
flex 2.4.5
gdbm 1.7.1
gmp 1.3.2
gperf 2.1a
gzip 1.2.4
indent 1.8
make 3.70
p2c 1.20
perl 4.036
このテープには、他のGNUテープでは配布されていない小さなユーティリティや種々 のアプリケーションのほとんどが入っている。
bc 1.02
cpio 2.3
dc 0.2
doschk 1.1
elvis 1.7
es 0.84
find 3.8
finger 1.37
gnuplot 3.5
grep/egrep/fgrep 2.0
gzip 1.2.4
hello 1.3
ispell 4.0
less 177
m4 1.1
make 3.70
patch 2.1
ptx 0.3
rc 1.4
recode 3.3
screen 3.5.2
sed 2.03
tar 1.11.2
time 1.6
tput 1.0
uuencode 1.0
wdiff 0.4
Scheme は Lisp の方言の1つで、簡素化し構文的なスコープ・ルールを導入したも のである。これは、学生にプログラムの作成技術を教えるためと、新しい並列プロ グラムの構成やコンパイルの技法を研究するためにMIT を始めとする幾つかの大学 によって設計された。
このテープには、MIT Scheme 7.1が入っており、資料 「Revised^4 Report On the Algorithmic Language Scheme」 (MIT AI Lab Memo 848b) に従っている。資料自体の TeX ソース・テキスト・ ファイルがテープに入っている。Schemeは、C言語で一部記述されているが、現在、 ブートストラップするのが困難である。Scheme をブートストラップするために使わ れるバイナリは、次に示すシステムに対応している。
あなたのシステムがこのリストに載っておらず、ブートストラップへの挑戦に興味 がなければ、「プロジェクトGNUの進捗報告」の「JACAL」を参照のこと。
X11 テープには 2 種類あり、いずれも MIT の X Window System のバージョン 11 リリース 5 が入っている。1 番目の FSF テープには、コアのソフトウェアやドキュ メント、寄与されたクライアントが入っている。 FSF では、X の起動やX 上での GNU Emacs の実行に必要なので、これを「必須 (required)」X テープと呼んでいる。 2 番目の「オプションの」FSF テープには、寄付されたライブラリやその他のツー ルキット、Andrew ソフトウェア、ゲーム、その他のプログラムが入っている。
X11 必須テープにも、リリースされた最新の修正とパッチが全て入っている。新し い修正情報とパッチがリリースされたので、我々はこのテープを更新した。
Berkeley 「Net2」リリースには 4.3 BSD の配布の第 2 回目が含まれており、 4.3BSD-Tahoe や 4.3BSD-Reno よりも新しい。ほとんど全ての BSD を含むが、カー ネルのモジュールやライブラリの一部が欠けている。今使っているあなたの C ライ ブラリでは用意されているかもしれない。このリリースには、以前のリリースより もさらに多くのソフトウェアを含み、サードパーティのソフトウェアも入っている。 例えば、Kerberos や GNU ソフトウェア (BSD の標準コンパイラとして採用してい る GCC など) 等である。カーネル以外で欠けているソフトウェアはたくさんあるが、 その代替品はこのテープとは別個に、GNU 配布テープとして GNU プロジェクトから 提供されている。
FSF では 2 種類の VMS 用テープを提供している。1つは GNU Emacsエディタだけで
ある。もう1つのテープには GNU C コンパイラや Bison (GCCのコンパイルに必要)、
gas (GCCの出力のアセンブルに必要)、ライブラリ、インクルード・ファイ
ルが入っている。VMS に GDB を移植したという話は聞いていない。DEC VMS C コン
パイラにはいくつかのバグがあって GNU C をコンパイルすることができないので、
いずれの VMS 用テープにも、ブートストラップすることができるように実行形式ファ
イルを入れてある。
Hundred Acre Consulting では、GNU CC と C++コンパイラのサポートを専門と するサポートと開発のサービスを引き続き提供している。利益の 1% を FSF へ寄付 する方針を継続している。新住所を下に示す。
Free Software Foundation は、CD-ROM 第3版を制作した。その内容を次に示す。
bc 1.02
cperf 2.1a
cpio 2.3
dc 0.2
dld 3.2.3
doschk 1.1
elvis 1.7
es 0.84
f2c 1993.04.28
find 3.8
finger 1.37
flex 2.3.8
gdbm 1.7.1
gmp 1.3.2
gnuplot 3.5
grep 2.0
gzip 1.2.4
hello 1.3
hp2xx 3.1.3a
indent 1.8
ispell 4.0
less 177
libg++ 2.5.1
m4 1.1
make 3.69.1
p2c 1.20
patch 2.1
perl 4.036
ptx 0.3
rc 1.4
recode 3.2.4
screen 3.5.2
sed 1.18 と 2.03
tar 1.11.2
time 1.6
tput 1.0
uuencode 1.0
wdiff 0.04
CD-ROMには、GNU Emacs Lisp Reference Manual(バージョン19、第2.02版)
の Texinfo ソース・テキスト・ファイルとオハイオ州立大学での Emacs Lisp
アーカイブのスナップショットも入っている。
(ここアーカイブにあるライブラリは、UUCPにて入手可能である。
(UUCPについての方法は staff@cis.ohio-state.edu へ
問い合わせるか、あるいは)
archive.cis.ohio-state.eduマシンの
`/pub/gnu/emacs/elisp-archive' ファイルをanonymous FTP で
入手することができる。)
MIT Scheme、VMS、Net2の各テープの内容はCD-ROMには入っていない。
CD-ROMは ISO 9660形式で記録されており、ほとんどのオペレーティング・システム 上で読み込み専用のファイル・システムとしてマウントすることができる。あなた のドライバが「Rock Ridge」をサポートしており、それを使ってCD-ROMをマウント できるのであれば、ファイル名も切り詰められないので通常の Unix ファイル・シ ステムでアクセスできるだろう。サポートしていない場合には、通常の ISO 9660仕 様に合った短い名前になるだろう。
ソース・コードを CD からコピーせずに、CD の大部分をシステ ムに組み込むことが可能である。 注意すべき点は、希望のものを作成するためにオ ブジェクト・ファイルや中間ファイルのためのディスク容量だけは十分に確保しな ければならないことである。この CD には、MS-DOS 向けの MIT Scheme バイナリ用 とWindows実行形式用の Ghostview 以外には、コンパイルされたプログラムが入っ ていない。従って、C コンパイラが必要になるだろう (その他のインタープリタや コンパイラが必要なプログラムの場合に備えて通常、ブートストラップ・プログラ ム用の C ソース・プログラムを入れており、そのプログラムと共に GNU から提供 されている)。
CD-ROM は、業務や組織で購入する場合は 49,000 円、個人で購入する場合は 15,000 円である。
現在、コンパイラのないシステムのために GNU コンパイラ・ツール用の実行形式を 入れた CD-ROM を提供している。これにより、システムによってはそのユーザは独 占的なコンパイラを買う必要がなく、GNU とその他のフリー・ソフトウェアをコン パイルすることができる。
このCD-ROMを更新するたびに、より多くのシステムを入れていきたいと思っている。 新しいシステムの組み込みバイナリを支援できる方や候補に入れたいシステムをお 持ちの方は、表紙の住所や電子メイル・アドレスのいずれかへご連絡いただきたい。
これらのプログラムには次のものが入っている。
対応するプラットフォームを次に示す。
i386-msdos
hppa1.1-hp-hpux9
sparc-sun-solaris2
sparc-sun-sunos4.1
ネットワークへのアクセス手段のない方は、最新の FSF 予約サービスを利用するこ とにより、最新の状態に保つことができる。1 回の料金はテープ 3 本分に相当する。 指定されたテープやソース・コード CD-ROMの最新版を 4 回送る予定である。テー プは四半期ごとに、ソース・コードCD-ROMはその作成ごとに送付される。(ソース・ コードCD-ROMは現在、年に2回出版されているが、今後はもっと間隔を短くするかも しれない。)
定期的に、Emacsテープ、言語テープ、ユーティリティ・テープ、MIT X Window System 必須テープ、あるいはソース・コードCD-ROM のいずれか新バージョンのう ち1本を送付する。BSD Net-2テープ、MIT Scheme テープ、MIT X Window System オ プション・テープは四半期の更新を保証しない程度の変更頻度である。コンパイラ・ ツール・バイナリ CD-ROMは新規リリースなので、どの程度の頻度で配布していくの かまだ見当がつかない。
Emacs 19は現在、Emacsテープとソース・コードCD-ROMに入っている。予約配布サー ビスは、Emacs 19が @Beta{} テストから更新された場合など、最新のものを入手す るのに便利である。
予約配布サービスにより、MIT X Window Systemに対する正規のバグ修正を入手して いくこともお容易になる。ソース・コードCD-ROMの版の改訂ごとにWindow System用 の修正部分とパッチをあて、X11 必須テープのソースも更新される。
Free Software Foundation から配布するソフトウェアと出版物には、コピーと 配布の許可を付けて配布している。GNU ソフトウェアを入手する最も簡単な方法 は、誰か他の人からコピーさせてもらうことである。 配布テープや CD-ROM ならば、FSF へ注文すれば直接 GNU ソフトウェアを入手 することができる。FSF スタッフのための資金源はそのような注文で支えられて いるので、なるべく FSF へ発注して我々をサポートしていただきたい。「FSF 注文票」を参照のこと。
我々のソフトウェアを配布している第三者のグループもある。我々とは一緒に作 業していないが、別のフォーマットでソフトウェアを用意している。読者のため に、そのグループのリストを示す (「マイクロコンピュータ用のフリー・ソフト ウェア」も参照)。 ここで注意してほしいことは、Free Software Foundation とは密接な関係では 『ない』 ので、彼らの扱う現在のバージョンや問い合わせ に対して迅速に回答する責任は負わない。
こういった配布業者と一緒にビジネスを行なう方は、フリー・ソフトウェア開発を どの程度支援するかをその業者に尋ねていただきたい。例えば、フリー・ソフトウェ ア開発プロジェクトへ資金を援助するのか、一般利用のためにフリー・ソフトウェ ア自体を改良するか、等を。この要因を少しでも理解していただくことによって、 フリー・ソフトウェアで利益を得る人々を奨励する一助となり、結果としてフリー・ ソフトウェアの成長へも貢献することができる。
Internetにアクセス可能で、以下に示すホスト・マシンのどれをもアクセスするこ
とができない場合は、GNU ソフトウェアを prep.ai.mit.edu (IP アドレス
は 18.71.0.38) マシンから anonymous FTPで入手することができる。詳細
は、
`/pub/gnu/GETTING.GNU.SOFTWARE' ファイルを参照のこと。prepマシ
ンは非常に混んでいるので、常時FTPログインできる数が制限されている。可能
であれば、他のマシンを使っていただきたい。
次に示すTCP/IP Internetの複数のサイトでは、GNU ソフトウェアを anonymous FTP
で入手可能にしている。(ftp プログラムを使って、user: には
anonymousを 、passwd: にはあなたの電子メイル・アドレスを、mode: には
binary を入力する。) prep.ai.mit.edu をアクセスする前に試みて
ほしい。
ftp.sun.ac.za
archie.oz.au (ACSnetでは archie.oz)、
cair.kaist.ac.kr、 utsun.s.u-tokyo.ac.jp、
ftp.cs.titech.ac.jp
ftp.cs.ubc.ca
ftp.technion.ac.il
ugle.unit.no、
ftp.stacken.kth.se、
isy.liu.se、
ftp.luth.se、
unix.hensa.ac.uk、 ftp.mcc.ac.uk、
ftp.informatik.tu-muenchen.de、
ftp.informatik.rwth-aachen.de、
ftp.denet.dk、
ftp.eunet.ch、 nic.switch.ch、
nic.funet.fi、 ftp.win.tue.nl、
irisa.irisa.fr
ftp.univ-lyon1.fr、
archive.eu.net
labrea.stanford.edu、
ftp.kpc.com、
ftp.digex.net
ftp.cs.widener.edu、
ftp.cs.columbia.edu、
uxc.cso.uiuc.edu、
wuarchive.wustl.edu、
gatekeeper.dec.com、
ftp.hawaii.edu、
cc.utah.edu (VMS GNU Emacs)、
mango.rsmas.miami.edu (VMS GCC)、
ftp.uu.net
JANET ネットワーク・ユーザは src.doc.ic.ac.uk マシンの`/gnu'の
下を参照のこと。
UUCP で入手可能な GNU プログラムがある。オハイオ州立大学では、UUCP による
方法を定期的に USENET の comp.sources.d に投稿している。また、次
の人々に問い合わせると電子メイルで UUCP の使い方を送ってくれる。
hao!scicom!qetzal!upba!ugn!nepa!denny、 uunet!hutch!barber、 src@contrib.de (ヨーロッパ)、 james@bigtex.cactus.org、 acornrc!bob、toku@dit.co.jp (日本)、 staff@cis.ohio-state.edu、 info@uunet.uu.net
Internet でアクセスできない人は、電子メイルとファイル転送に関する情報を UUCP で入手可能である。詳細は「フリー・ソフトウェアのサポート」を参照のこと。
Free Software Foundation は、そのソフトウェアの全ての実行ファイルをおさ めたパッケージを制作するよう再三求められていた。通常、我々はソース・ファ イルしか提供しない。このデラックス・パッケージには、ソース・ファイルにバ イナリを付けるだけでなく、我々が印刷したマニュアルの全てが入っている。
デラックス・パッケージ (FSF Deluxe Distribution) には、GNU Emacs、GNU C コンパイラ、GNU デバッガ、MIT X Window System のフルセット、GNU ユーティ リティを含む数百のありとあらゆるプログラムのバイナリ・ファイルとソース・ ファイルが入っている。
このパッケージでは、次に示すマシンとオペレーティング・システムから1つを選ぶ
ことができる。4.3 BSD かHP-UX の動作する HP 9000シリーズ300/700/800、4.3
BSD か NewsOS 4 の動作する SONY News 68k、SunOS 4 か Solaris の動作する
Sun-3、Sun-4、または SPARC。あなたが使っているマシンやシステムがここで記述
されていなかったり、特定のプログラムがマシンに移植されていない場合は、FSF事
務局へ電話(以下参照)をするか、あるいはgnu@prep.ai.mit.eduへ電子メイ
ルをあてていただきたい。
Unix の tar 形式でソフトウェアを次の媒体のうちの 1 つにおさめて提供する予定 である。1600bpiまたは6250bpiの1/2インチ・オープン・リール・テープ、QIC-24の Sun DC300XP 1/4インチ・カートリッジ・テープ、HP 16 トラックの DC600HC 1/4 インチ・カートリッジ、QIC-150の IBM RS/6000 1/4 インチ・カートリッジ・テー プ、Exabyte の 8mm テープ。あなたが使っているマシンではこれらのいずれもが読 めない場合は、我々にご相談いただきたい。
その他にも、Bison、Calc、Gawk、GNU C コンパイラ、GNU C ライブラリ、GNU デバッ ガ、Flex、GNU Emacs Lisp Reference、Make、Texinfo、Termcapのマニュアルが 1 冊ずつ、GNU Emacs Manual が6冊、GNU Emacs、Calc、GNU デバッガ、Bison の各リ ファレンス・カードも一束ずつ入っている。
印刷されたマニュアルやオンライン・マニュアルに加えて、システム限定のコンパ イラ・ツール・バイナリの入った CD-ROM と GNU ソフトウェアのソース・ファイル の入った CD-ROM (ISO 9660形式で、Rock Ridge拡張を用いている) がどのデラック ス・パッケージにも付いている。
デラックス・パッケージは 100 万円である。これは、コンパイルされた全てを欲 しい人々や、一般的な方法で FSF を援助するために購入したい人々のためにある。 パッケージを注文するには、「FSF注文票」の「デラックス・パッケージ」に (箇所によっては英文表記の楷書で)漏れなく記入の上、以下の所へ送っていただき たい。
FSFは、MS-DOSに移植された GNU ソフトウェアの一部を 3.5 インチの1.44M バイト・ フォーマットでフロッピー・ディスクに入れて配布している。これにはソース・ファ イルと実行形式の両方を含む。
Demacs は Emacs 18.55 をベースにして MS-DOS 移植されたもので、Emacs 18.57 への変更点も反映されている。これには 2 つのバージョンがある。8 ビットの文字 セットを扱うものと、MULEの初期バージョンを基にして漢字を含む 16 ビットの文 字セットを扱うものである。FSF では、両方のバージョンを 5 枚の 3.5 インチの フロッピー・ディスクに入れて配布している。
Demacs は、MS-DOS が動作する Intel 80386 と 80486 マシン上で実行する。XMSメ モリ・マネージャと VCPI と互換であるが、Microsoft Windows の拡張モードや他 の DPMI マネージャとの互換性はまだない。
DJGPP は、MS-DOS や Windows 3、QDPMI、OS/2が動作する i386 マシンと i486 マ シンのために、GCCやライブラリ、開発ユーティリティ、シンボリック・デバッガを 完全に移植したものである。FSF では、ソース・ファイルと実行ファイルの両方を、 22 枚の 3.5 インチのフロッピー・ディスクに入れて配布している。
DJGPP のインストールには、ハードディスクの空き容量として最低 5M バイト、使 うためには RAM が 512K バイト必要である。XMS メモリ・マネージャと VCPIや DPMIと互換である。
GNUish MS-DOS プロジェクトは、PC互換機に移植した GNU ソフトウェアをリリース
している。通常、このソフトウェアは 8086 と 80286 搭載のマシン上で動作する。
80386 マシンは必須ではない。これらのユーティリティによっては、必然的に機能
が削られているものもある。入っている内容は、
RCS、flex、MAWK、cpio、diff、MicroEmacs、
find、some file utilities、gdbm、grep、ptx、
indent、less、m4、make、sed、
shar、sort、Texinfo である。
GNU Chess と gnuplot の Microsoft Windows バージョンを、1枚のフロッ
ピー・ディスクに入れて配布している。
FSF ではマイクロコンピュータ用の GNU ソフトウェアをサポートしない。GNU プロ ジェクトの目標ではないからである。しかし、我々は幾つかのプログラムをテープ や CD-ROM、フロッピー・ディスクに入れて配布している。それを行なっているグルー プの情報を快く提供する。何か関連情報があれば、郵送先の住所、アーカイブ・サ イトとメイリング・リストを含む詳細を表紙の郵便住所または電子メイル・アドレ スのどちらかへ教えてほしい。
FSF から入手可能なマイクロコンピュータ・ソフトウェアの詳細は「MS-DOSの配布」 を参照のこと。その他のソフトウェアについては我々に尋ねないでいただきたい。 FSF はここに記載した以外の情報は『持っていない』し『保守もしていない』から である。
Boston Computer Society 1 Kendall Square, Bldg 1400 Cambridge, MA 02139 USA. 電話番号: (617) 252-0600
ftp.funet.fi マシンの /pub/amiga/gnu から anonymous FTP
にて入手可能である。
GCC の移植や関連プロジェクトの援助の申し出は Leonard Norrgard vinsci@nic.funet.fi) へ、GNU Emacs の移植はDavid Gay dgay@di.epfl.ch か Mark D. Henning (henning@stolaf.edu)
へ問い合わせていただきたい。詳細は、anonymous FTP を使って
prep.ai.mit.edu マシンの `/pub/gnu/MicrosPorts/Amiga' から得る
ことができる。
atari.archive.umich.edu マシンから anonymous FTP にて入手可能であ
る。そこは Howard Chu hyc@hanauma.jpl.nasa.gov) が管理を担当している。この移植に関する討
論の USENET ニュース・グループは、 comp.sys.atari.st.techや comp.sys.atari.st である。
hobbes.nmsu.edu マシンのディレクトリ os2gcc-request@charon.mit.edu へその旨を申
し込む。
tsx-11.mit.edu:/pub/linux (米国) と
nic.funet.fi:/pub/OS/Linux (ヨーロッパ) からanonymous FTP で入手
可能である。これのメイリング・リストに関する問い合わせは
linux-activists-request@niksula.hut.fi へ。Linux に関する討論は
ニュース・グループ comp.os.linux を参照のこと。
++ コンパイラ)
DJ Delorie は、GCC/G++ 2.5.7 を 386 MS-DOS プラットフォームに移植し
た。コンパイラと一連のプログラムは、仮想記憶をサポートし、32 ビット・モード
で動作するコードを生成する。DJGPP は、barnacle.erc.clarkson.edu サイ
トの`/pub/msdos/djgpp' ディレクトリから FTP にて入手可能である。
djgpp-request@sun.soe.clarkson.edu に自分の電子メイル・アドレス
を知らせると DJGPP のメイリング・リストに加入できる。
FSF では、DJGPP を数枚のフロッピー・ディスクや CD に入れて配布している
(「MS-DOSの配布」と「コンパイラ・ツール・バイナリCD-ROM」参照)。
Demacs をリリースした。これは GNU
Emacs を 386/486 MS-DOS マシンに移植したもので、最新で最初にリリー
スしたバージョンは 1.2.0 である。
Demacs は DOS 特有の機能をサポートする。例えば、バイナリやテキスト・ファ
イルの変換、8 bit クリーン表示モード、80x86 ソフトウェアの割り込み
を Lisp 関数 int86 で起動する機能、ファンクション・キー
のようなマシン特有の機能、ドライブ名を含むファイル名の補完、子プロセ
ス (suspend-emacs とcall-process) などである。
`ls.exe' がなくても Dired モードは動作する。
anonymous FTP で、
wuarchive.wustl.edu の /mirrors/msdos/demacs (米国)、
rana.cc.deakin.oz.au の /pub/PC/oak/demacs (太平
洋圏)、ftp.funet.fi の /pub/gnu/emacs/demacs (ヨーロッ
パ) から入手可能である。
FSF では、Demacsをフロッピー・ディスクに入れて配布している(「MS-DOSの配布」
と「MS-DOSの配布」参照)。
GNU プログラムの MS-DOS への移植情報や関連のメイリング・リストについては、
info-gnu-msdos-request@sun.soe.clarkson.edu へ問い合わせるか、ある
いは、prep.ai.mit.edu マシンから anonymous FTP で
`/pub/gnu/MicrosPorts/MSDOS*' ファイルを入手していただきたい。
FSF では、MS-DOSへ移植された多くの GNU プログラムをフロッピー・ディスクや
CD に入れて配布している(「MS-DOSの配布」と「ソース・コードCD-ROM」参照)。
Free Software Foundation オリジナルのTシャツをまだ配布可能している。これは、 地元ケンブリッジの芸術家の Jamal Hannah によるデザインである。 Tシャツの前は、上に「GNU's Not Unix」という文字が、下には「Free Software Foundation」という文字が書かれており、ワークステーションの前で GNU ハッキン グしている図案である。 Tシャツの前は、上に「GNU's Not Unix」という文字が、下には「Free Software Foundation」という文字が書かれており、ワークステーションの前で GNU ハッキン グしている図案である。 色は生成りと黒の 2 種類である。生成りというのは、オフホワイトで脱色していな い無染料のもので、環境に優しい綿製、文字の色は黒である。着てよし、飾っても よし、というものである。黒は、文字が白で、深夜のハッキングにはもってこいで ある。全ての T シャツは糸目の太い綿100パーセントで、それぞれ M/L/XL/XXL の 各サイズが揃っている。
Tシャツの前は、上に「GNU's Not Unix」という文字が、下には「Free Software Foundation」という文字が書かれており、ワークステーションの前で GNU ハッキン グしている図案である。 Tシャツの前には次のような柄がある。 Tシャツの背中には今まで何もなかったが、新しく「GNU General Public License」 という文字を入れた。
注文の際は「FSF注文票」を使っていただきたい。さらに、あなたの贔屓のハッカー へのプレゼントとしてもう 1 枚の購入を検討してほしい。
『本当に成功の見込みがあるからではなく、それ自体が良いものであるからそ のために働け。』
-Vaclav Havel
「非公式なGCCコンソシアム」や「GNU 速報」、「プロジェクト GNU の進捗報告」、 「 日本における第2回 GNUセミナー」、「日本での GNU とその他のフリー・ソフト ウェア」、「現在配布可能な GNU ソフトウェア」で触れた全ての人々に感謝する。
各種の貴重な援助をしてくれた MIT の 人工知能研究所やコンピュー タ科学研究所、プロジェクト Athenaに感謝する。
デラックス・パッケージを購入してくれた多くの企業と組織に感謝する。
日本で助力してくれている次の人々に感謝する。 引地信之、 引地美恵子、 半田剣一、 Bob Myers、 David Littleboy、 井田昌之教授、 日本Unixユーザ会、 (財)千里国際情報事業財団、 (財)東北産業活性化センター、 会津大学、 日本サン・ユーザ・グループ、 Paul Abramsonに対して。
コンファレンスでブースを貸してくれたSun Users Group、PCI、USENIX Association に対して。宣伝場所をそれぞれ提供してくれたトロント大学書店 のWired Magazineや Barry Meikle に対して。
引き続き支援してくれた Open Software Foundation と、プロジェク ト GNU をあらゆる方法でもって支援してくれた Cygnus Support に改めて 感謝する。 寄付と支援を行なってくれたWarren A. Hunt, Jr.とComputational Logic, Inc.に感謝する。 パートタイムのプログラマを1人提供してくれている Aolborg 大学に感謝する。 Emacs 19 の X 関連の機能をいくつか実装してくれたJamie Zawinskiに感謝す る。
我々にマシンを貸与または寄付してくれた次の人々や企業、そして4mm の DAT カー トリッジ・ドライブを寄付してくれた匿名希望の方に感謝する。 Cygnus Supportは1台の Sun SPARCstation を、 Hewlett-Packardは2台の80486マシンに6台の68030ワークステーション と4台のSpectrumワークステーションを、 Thinking Machines Corp. の Brewster Kahle は 1 台のSun-4/110を、 CMUのMach プロジェクトは1台のSun 3/60を、 Intel Corp. は自社の386マシンを、 NeXTはNeXTワークステーションを、 MITのメディア研究所は1台のHewlett-Packard 68020マシンを、 ソニー株式会社 (東京) と株式会社SRA (東京) は3台のSONY News ワークステーションを、 IBM Corp. は1台のRS/6000マシンを、 MITのコンピュータ・サイエンス研究所はDEC MicroVAXを、 Open Software FoundationはCompaq 386を、 Delta Microsystemsは1台の Exabyte テープ・ドライブを、 Liant Software Corp. は 5 台の VT100を、 Jerry Peek は 1 台の 386 マシンを、 NCD Corporation は 1 台の X 端末を、 Interleaf, Inc. と Veronika Caslavsky、Paul English、 Cindy Woolworth、Lisa Bergen は 1 台のスキャナの貸与を。
移植や拡張部分に貢献してくれた人々に、ソース・コードやドキュメンテーショ ン、良いバグ報告に貢献してくれた人々に感謝する。
寄付金を送ってくれたり、その他の種類の援助を申し出てくれた人々に感謝する。
また、マニュアルや配布テープ、フロッピー・ディスク、CD-ROMを注文することで 支援してくれた人々にも感謝する。 (4)
本小冊子の作成でもって、我々の行なっていることに関心を示してくれた全ての 人々に対して感謝の意を表したい。
Go to the first, previous, next, last section, table of contents.