我々のソフトウェア全てが anonymous FTPで入手可能である。 section GNUソフトウェアの入手方法。 様々な媒体に入ったソフトウェアや、製本されたマニュアルも提供している。
各媒体の内容を記述している欄の、プログラム名の後ろに付くバージョン番号は、 本小冊子 (訳注: 英文版) の発行時点のものである。配布テープ、フロッピー・ディ スク、より新しい CD-ROMを注文する際には、プログラムが更新されている可能性が あるのでバージョンが上がっていることがある。注文情報は、 see section Free Software Foundation注文票(日本専用) を参照のこと。
テープや anonymous FTP で配布しているものの一部は、圧縮されている。そのよう
なファイルを復元できるように、テープと FTP サイトにそのソフトウェアを収めて
いる。それらのファイルを復元するために、テープと FTP サイト上に、
gzipソフトウェアを入れている。compress に関わる特許問題のため
に、我々は別の圧縮プログラムとして gzip に切り替えつつある。(ソフト
ウェア開発に関するそのような禁止事項は、プログラミング自由連盟が奮闘してお
り、詳細は see section LPFとは何か。)
GNU make を各種の配布テープに入れて配布している。あるベンダーでは、
makeを配布していなかったり、あってもシステム固有の make がGNU
構築システムの拡張で使用している基本的な機能 VPATH をサポートしてい
ないものもある。GNU make ソース・ファイルには、そのようなシステムで
make自体を作成するためにシェル・スクリプトが入っている。
すべてのバグ報告と拡張部分を適切な電子メイリング・リストへ積極的に発信した いと考えている(see section フリー・ソフトウェアのサポート)。
GNUソフトウェアの構築方法
GNU ソフトウェア・パッケージをコンパイルする際に、統一した構築形式を用いて いる。以下に示すようなAutoconfプログラムを使用する。全ての GNU ソフトウェア に、マシン・タイプとシステム・タイプに対して同じ命名方法で構築させることを 目的としている。GNUシステムが完成すれば、各々のパッケージを1つ1つ別個に構築 する必要をなくすので、1回でシステム全体を構築して組み立てることが可能になる だろう。この構築機構により、ホストとターゲットを別々に指定することも可能に なり、クロスコンパイラ・ツールの作成が容易になる。現在、ほとんどのGNUプログ ラムでAutoconf対応の構築スクリプトを採用している。
現在配布可能なGNUソフトウェア
(新しい機能や近い将来計画されているプログラムについては、section GNUプロジェクトの今後の展開。)
相互参照の略語を次に示す。
[FSFman]は、販売している該当パッケージのマニュアルを示す。 [FSFrc]は、販売している該当パッケージのリファレンス・カードを示す。 注文は、 see section Free Software Foundation注文票(日本専用) を参照のこと。マニュアルの詳細は、See section GNUマニュアルについて。マニュアル やリファレンス・カードのソース・コードは、該当するソフトウェア・パッケージ に入っている。
acm (SrcCD、UtilT)
acm は空中戦のシミュレーション・プログラムであり、 X Window System 下で動作
する LAN 指向の複数プレーヤーに対応している。プレーヤーは、熱探査ミサイルや
機関銃を使って、もう 1 人のプレーヤーと空対空で交戦する。本物の戦闘機の特徴
をさらに精密にシミュレートするよう作業している。
m4 のマクロ呼び出し形式で列挙されている。Autoconf は作業
中に GNU m4 を必要とするが、Autoconf で生成された構築スクリプトには
GNU m4 は必要ない。
shと互換性があり、
csh や ksh の多くの拡張を取り入れたものである。ジョブ制御機能
や、csh スタイルのコマンド履歴、readline ライブラリを介した
(Emacs や vi モードが組み込まれており、キーの再割り当てが可能である)
コマンド行編集機能が備わっている。BASH は、POSIX 1003.2 のシェル仕様に従っ
ている。
bc (DjgpD、DosBC、SrcCD、UtilT)
bc は会話型の多倍長精度整数を備えた計算言語である。GNU bc は
POSIX 1003.2 規格のドラフトに基づいて作られたものだが、変数名に 2 文字以上
の指定が可能で、else 文があり、論理式を全て網羅している、等の拡張が
施されている。RPN電卓のdcは現在、同パッケージの一部として配布されて
いるが、GNU bc は dcプリプロセッサとして実装されてはいない。
ld や GDB など)
から異なる形式のオブジェクト・ファイルを透過的に扱えるようになる。BFD では
移植性の高いインタフェースを提供しているので、BFD に個々の形式の詳細を実際
に与えるだけでよい。このような設計により、BFD を使っている全てのプログラム
が COFF や ELF といった形式のサポートが可能になる。BFD には Texinfo 形式の
ドキュメントも含まれている(製本されたものはまだ出版していない)。現在、BFDは、
独立したパッケージとして配布しておらず、それを使用しているパッケージに含ま
れている。
ar、
c++filt、
demangle、
gas、
gprof、
ld、
nlmconv、
nm、
objcopy、
objdump、
ranlib、
size、
strings、
stripが入っている。
Binutils のバージョン 2 は、BFD ライブラリを使っている。GNU リンカ
ld は、多重定義のシンボルや未定義の参照に対してソースの行番号を含む
エラー・メッセージを表示する、という特徴を備えている。AT&T のリンカ・コマン
ド言語のスーパーサブセットを解釈し、メモリに配置されるセグメントの場所を全
体にわたって制御する。nlmconv は、オブジェクト・ファイルを Novel
NetWare でロード可能なモジュールに変換する。 objdump プログラムは、
a29k、ALPHA、H8/300、H8/500、HP-PA、i386、i960、m68k、m88k、MIPS、SH、SPARC、
Z8000 CPU用のコードを逆アセンブルしたり、BFDで読み取ったあらゆるファイルの
形式から他のデータ(シンボルや再配置)を表示することが可能である。
yacc と上位互換性がある構文解析部を生成する代替ソフトウェア
である。Bison Manual とリファレンス・カードの Texinfo ソース・テキス
ト・ファイルも入っている。See section GNUマニュアルについて。フリーでないプログ
ラムでもBison対応の構文解析ツールを使ってもよい、というふうに最近方針を変更
した。See section GNU速報。
malloc の高速なバージョンを作成し、GNU 正規表現関数(regexと
rx)は現在、POSIX 1003.2 の規格をほとんど満たしている。
GNU stdio では、2〜3個 の C 関数を新たに記述すれば自分の新しいストリー
ムを定義することができる。fmemopen 関数は、文字列に対してストリーム
をオープンするためにこの方法を採用しており、必要に応じて拡張が可能である。
自分の書いた C 言語の関数を使うために、自分用のprintf のフォーマット
文字列を定義することも可能である。例えば、他のプログラミング言語向けに、
printfのような関数を実装する場合に、ユーザからの入力に対するフォーマッ
ト文字列を安全に処理することが可能である。拡張 getopt 関数は、長いオ
プション名のオプションの解析のために、多くの GNU ユーティリティ内で既に用い
られている。
Cライブラリの動作するマシンは、Sun-3 (SunOS 4.1)、Sun-4 (SunOS 4.1 または
Solaris 2)、HP 9000/300 (4.3BSD)、SONY News 800 (NEWS OS 3 または 4)、MIPS
DECstation (Ultrix 4)、DEC Alpha (OSF/1)、i386/i486 (System V、SVR4、BSD、
SCO 3.2、SCO ODT 2.0)、Sequent Symmetry i386 (Dynix 3)、SGI (Irix 4) である。
GNU C Library Reference Manual の Texinfo 形式のテキスト・ソース・ファ
イルも入っている(see section GNUマニュアルについて)が、その内容はまだ更新中であ
る。
gnuplot への出力が可能で、Calc Manual とリファレンス・カード
の各ソース・コードが付いている。See section GNUマニュアルについて。
cfengine (SrcCD、UtilT)
cfengineは、単純な高級言語を使っている様々な種類の Unix ワークステー
ションをサイトをまたがって構築する場合の保守に用いられる。機能的には
rdist に似ているが、さらに多くの命令を使って自動的に操作することがで
きる。
xboardプログラムを基にしている)を
備えている。
GNU Chessには多くの特徴があり、 無駄な手に関するヒューリスティックや、時間
と共に成熟していくハッシュ表、ヒストリ・ヒューリスティック(初期の殺し手のヒュー
リスティックを別の形式にしたもの)、静的評価のキャッシュ、プログラムの序盤で
数手にわたって早く着手することのできる洗練されたデータベースなどがある。
最近の改良点は、ヒューリスティックの改善、盤面評価の高速化、相手の考慮時間
の勘案、完全なキングおよびポーン対キングの終盤戦ルーチン、スウェーデン語と
ドイツ語のサポート、より多くの本形式のサポート、基本的な Bobby Fischer 時計、
バグ修正である。
GNU Chess はFSFに代わって主に、Stuart Cracraft、Chua Kong Sian、Tim Mannが
サポートしている。
cpio (DjgpD、DosBC、SrcCD、UtilD、UtilT)
cpio は、SVR4 cpioの全ての機能を備えたもう1つのアーカイブ・プ
ログラムであり、POSIX 1003.1 ustar 規格に準拠している。mt は、
磁気テープをの位置決めを行なうプログラムであり、cpio と共に配布され
ている。
office@usenix.org へ問い合わせ
のこと。
expect が付いてくる。
diff は、数種類の柔軟性のある形式で、行ごとの変更点を表示してファ
イルを比較するものである。昔からある Unix のそれらと比較するとかなり高速に
動作する。この「Diffutils」 パッケージには、diff、diff3、
sdiff、cmpが入っている。最近のDiffutilsの改良として、さらに一
貫性の増した文字セットの取り扱い、すべての入出力をバイナリで行う新しい
diff オプションを作った。これはPosix以外のホスト上では便利である。今
後はDiffutilsパッケージを、国際語化(中国語でのエラー・メッセージなど)やUnix
以外のPC環境に対応していく予定である。
flex、GAS、GNUバイナリ・ユーティリテイ)を移植したものも付いている。
完全なソース・コードが提供されている。DJGPP のインストールには、ハードディ
スクの空き容量として最低 5M バイト、利用するには512K バイトのメインメモリが
必要である。SVGA (1024x768 迄)/XMS/ VDISKのメモリ割り当て、himem.sys、
VCPI (QEMM、DESQview、386MAXなど)、DPMI (Windows 3.x、OS/2、QEMM、QDPMIなど)
をサポートする。DJGPP ユーザのためのメイリング・リストに参加するには、
djgpp-request@sun.soe.clarkson.edu へ問い合わせのこと。
dld (LangT、SrcCD)
dld は、W. Wilson Ho が作成したダンナミック・リンカである。
dld ライブラリを使うプログラムは、そのバイナリの実行中に、動的に
オブジェクト・ファイルをロードできるようになる。現在サポートされているマ
シンは、VAX (Ultrix)、Sun 3 (SunOS 3.4 と 4.0)、SPARC (SunOS 4.0)、
Sequent Symmetry (Dynix)、Atari STである。
doschk (DjgpD、DosBC、SrcCD、UtilT)
14文字までのファイル名しか作れないSystem Vのプラットフォームや、8+3文字まで
のファイル名しか作れない MS-DOS でソフトウェア開発者がソース・ファイル名が
重複しないことを確認したい場合に、このユーティリティ・プログラムが役立つ。
ecc (LangT、SrcCD)
eccは、Reed-Solomon アルゴリズムを用いたエラー訂正チェック・プログラ
ムである。255バイトのブロック単位で3バイト・エラーを訂正し、さらに深刻なエ
ラーを検出することができる。詳細は、paulf@Stanford.EDU へ問い合わせ
のこと。
ed (SrcCD、UtilT)
ed は標準のテキスト・エディタである。
es (SrcCD、UtilT)
esは rc を基にした拡張性に富んだシェルであるが、1階関数、構文
上の有効範囲の導入、割り込みシステム、豊富な戻り値 (つまり、関数が数値以外
の値を返すことができる) を含む多くの特徴が備わっている。esの拡張能力
は、パス検索やリダイレクションといったシェルの組み込みサービスを修正および
拡張するための能力が基になっている。rc (訳注: Bell研の Plan 9 に採用
されている標準のシェル) のように、特に、引用規則がC言語や Bourne シェルより
もずっと簡素化されているので、会話型での利用やスクリプトの作成の両方に非常
に便利である。
f2c (LangT、SrcCD)
f2c は、Fortran-77 のソース・ファイルを C 言語または C++ 言語
へ変換する。そうすれば、GCCでコンパイルすることができる。バグ修正情報は、
netlib.att.com マシンの `/netlib/f2c/changes.Z' ファイルをFTP
で、あるいは netlib@research.att.com へメイルを出すと、入手すること
ができる。要約情報は`/netlib/f2c/changes.Z'を参照のこと。
GNU Fortranについては情報は、see section GNUプロジェクトの今後の展開。
chgrp、
chmod、
chown、
cp、
dd、
df、
dir、
du、
install、
ln、
ls、
mkdir、
mkfifo、
mknod、
mv、
mvdir、
rm、
rmdir、
sync、
touch、
vdir。
find は、会話時にあるいはシェル・スクリプト内で頻繁に用いられるコマ
ンドである。ある基準に一致したファイルを検索し、任意の操作を行なうような場
合に使用される。また、このパッケージには、コマンドをファイルのリストに適用
する xargs や、パターンに一致するファイル名のためのデータベースをス
キャンする locate も入っている。
flex (BinCD、DjgpD、DosBC、LangT、SrcCD、UtilD) [FSFman、FSFrc]
flex は、Unix の lex (字句解析生成プログラム) の代替である。
flex は、Lawrence Berkeley 研究所の Vern Paxson が作成し、lex
と比べて非常に効率の良い字句解析プログラムを生成する。Flex Manual と
リファレンス・カードのテキスト・ソース・ファイルも入っている。
See section GNUマニュアルについて。
g77) See section GNUプロジェクトの今後の展開 (LangT、SrcCD)
Craig Burley が開発した GNU Fortran (g77)は、公開用の @Beta{} テスト
としてInternetから入手可能である。当分の間、g77 は、f2cとほぼ
オブジェクト互換になるコードを生成し、同じランタイム・ライブラリ
(libf2c)を使う。
bpltobzr、
bzrto、
charspace、
fontconvert、
gsrenderfont、
imageto、
imgrotate、
limn、
xbfe)
を使用すると、Ghostscript または TeX が扱うフォントを作成(まず、スキャン
されたイメージを読み取り、ビットマップをアウトラインに変換する)することがで
き、フォント形式などの変換が可能だる。
awkと上位互換である。また、他の awk
の実装には見られない便利な拡張がいくつか施されている。Texinfo形式の
GAWK Manual のテキスト・ソース・ファイルは、ソフトウェアと共に付いて
くる。See section GNUマニュアルについて。
object 以外の Objective-C クラスは含まれていない)。cfront
(AT&T コンパイラ) は ANSI 規格とは異なってきているので、G++ では、
cfront ではなく、発展しつつある ASNI 規格にできる限りあわせている。
GNU C コンパイラはかなり移植性の良い最適化プログラムで、次の機能を備えて
いる。
レジスタの自動割り当て、
共通部分式の削除、
ループ内の不変式のループ外への移動、
誘導変数の最適化、
数の伝搬や複製の伝搬、
スタックに積んだ関数引数の遅延復帰、
末尾再帰関数の削除、
インライン関数の展開とフレーム・ポインタの削除の統合、
命令スケジューリング、
ループの展開、
遅延スロットの活用、
末端関数の最適化、
定数との乗算最適化、
基本ブロック間での多少の共通部分式の削除 (CSE)(命令スケジューリングや遅
延スロットの活用は全てのマシン記述に用意されているわけではないが)、
命令に対する属性の割り当て機能、
ターゲット・マシンの仕様を記述したファイルから自動的に生成される様々な局
所最適化コード、
等である。
位置独立なコードは、68k、i386、i486、Pentium、Hitachi Slt、Hitachi H8/300、
Clipper、88k、SPARC、SPARClite に対応している。
GCC 2 では、64 ビット演算のコードも生成可能になっている (long
long 型)。拡張浮動小数点(long double 型)は、68k マシン上ではサポー
トされており、その他のマシンも今後サポートしていく予定である。
GCC は フルセットの ANSI C 、古い C、GNU C 拡張言語( C は、関数の入れ子や、
関数をまたがる goto、ラベルのアドレスの取得を含む)をサポートしている。
GCC は、適切なアセンブラがあれば a.out や COFF、ELF、OSF-Roseファイルを生成
することができる。デバッグ情報は BSD スタブやCOFF、ECOFF、スタブ付きの
ECOFF、DWARF などの形式で生成可能である。
GCCで生成するコードを次に示す。a29k、Alpha、ARM、AT&T DSP1610、Convex cN、
Clipper、Elxsi、Fujitsu Gmicro、H8/300、HP--PA (1.0 と1.1)、i370、i386、
i486、Pentium、i860、i960、m68k、m68020、m68030、m68040, m88k、
MIL-STD-1750a、MIPS、ns32k、PDP-11、Pyramid、ROMP、RS6000、SH、SPARC、
SPARClite、VAX、we32k。
オペレーティング・システム別に示す。GNU/Linux、 AIX、 ACIS、 AOS、 BSD、
Clix、 Ctix、 DG/UX、 Dynix、 Genix、 GNU、 HP-UX、 ISC、 Irix、 Luna、
LynxOS、 Mach、 Minix、 NetBSD、 NewsOS、 OSF、 OSF-Rose、 RISCOS、 SCO、
Solaris 2、 SunOS 4、 SysV、 Ultrix、 Unos、 VMS、 Windows/NT。
GCC の構築方法を使うと、クロスコンパイラを作成する場合に、ホスト・マシン
と同じ機種のターゲット・マシン用のコンパイラを作成する場合と同様の手間で
容易に行なうことができる。
既にバージョン 1 の GCC や G++、libg++ は配布していない。
Using and Porting GNU CC マニュアルのTexinfo形式のソース・ファイルは
コンパイラと共に提供されている。GCCの将来のリリースについては、
See section GNUプロジェクトの今後の展開。
xxgdb では X のインタフェースを提供している (が、FSFによる配布や
保守は行われていない)。ftp.x.org マシンの `/contrib/utilities'
ディレクトリから anonymous FTP で入手可能である)。
BFD (訳注: バイナリ・ファイル記述子) に従って、実効形式のファイルとオブジェ
クト・ファイルと記号表を読み込む。これにより、GDB のコピーが1つあれば、複数
のオブジェクト・ファイル形式 (例えば a.out や COFF) のオブジェクトをデバッ
グすることが可能となっている。その他の新しい機能として、豊富なコマンド言語、
シリアル回線や TCP/IP 上のリモート・デバッグ、ウォッチ・ポイント (式の値が
変更されたらブレークする) がある。
GDBは、シミュレータ・ライブラリに対する標準のリモート・インタフェースを使っ
ている。(これまでのところ) ライブラリには、Zilog Z8001/2 や Hitachi H8/300、
H8/500、Super-H 用のシミュレータが入っている。
GDB はクロスデバッグも可能である。GDB が、あるプラットフォームを「ターゲッ
ト」にしているといった場合は、そのプラットフォームでネイティブ・デバッグや
クロスデバッグができる、という意味である。GDB で指定されたプラットフォーム
を「ホスト」にすることができるということは、そこで GDB を作成することが可能
ではあるが、必ずしもデバッグ対象プログラムをデバッグできるとは限らないこと
を意味する。GDB は次に示すマシンをサポートしている。
gdbm (LangT, SrcCD, UtilD)
gdbm ライブラリは、伝統的な dbm と ndbm ライブラリの
GNU 版代替品である。ハッシュを用いて高速検索が可能なデータベースを実現して
いる。(Unix や BSDのそれとは違って) 通常、データベースのファイル内に無駄な
空間を作らない。
enscriptのような) テキスト・ファイルの印刷や、
Postscript 言語の文書からテキストを抽出するユーティリティ、
Microsoft Windows上での信頼性のかなりの向上と高速化、
Microsoft C/C++ 7.0 向けのサポート、
SPARCprinterを含む多くの新機種プリンタ用のドライバと
TIFF/F (ファクシミリ) ファイル形式のドライバ、
色空間機能 (パターンではない) を含むさらに多くのPostscript レベル2 機能、
レベル 1 とレベル 2 との動的な切り替え機能
といった改善がなされた。
バージョン2.6.2 では、修正した LaserJet 4 のドライバの追加と、バージョン
2.6.1 での重要なバグをいくつか修正した。
Ghostscript は、
プリンタへの直接出力や、
X ウィンドウ上での描画、
あとでプリンタ出力するためのファイルへの書き込み
(または、他のグラフィック・プログラムで操作できるようなビットマッ
プ・ファイルの生成)
により、Postscript言語のコマンドを実行する。
(Postscript 言語を扱いたくないクライアント・プログラムのために) C 言語から
呼び出し可能なグラフィック・ライブラリも入っており 、IBM PC や EGA、VGA、
SuperVGA グラフィックを使用している IBM PC とその互換製品もサポートしている。
(但し、これについては FSF のスタッフに @gt{尋ねない} でほしい。我々は PC を
使っていないからである。)
ghostview@cs.wisc.edu) は、Ghostscript上で動作する
Ghostview (複数ページのファイルを扱うプリビューア) を作成した。Ghostviewは、
Ghostscript インタープリタ用の X11 ユーザ・インタフェースを備えている。
Ghostview と Ghostscript は 2 つが協調して動作するプログラムである。つまり、
Ghostview は表示ウィンドウを生成し、Ghostscriptはそこに描画する。
gmp (LangT、SrcCD)
GNU mpは、多倍長精度の符号付き整数と有理数演算を行なうライブラリであ
る。豊富な関数が用意されており、全て統一されたインタフェースを有している。
gnuplot (SrcCD、UtilT、WdwsD)
gnuplot は、数式やデータをプロットするための対話型プログラムである。
曲線(2次元)と面(3次元)の両方を対象としている。念のために、gnuplot プ
ログラムは GNU プロジェクトで作成したものではなく、名付けたものでもない。こ
の名前は単なる偶然である。様々なGNUプログラムがgnuplot を使っている。
gperf (LangT、SrcCD)
gperf は、完全ハッシュ表を生成する。C言語版は cperfというパッケージ
に入っている。C++ 版は libg++パッケージに入っている。どちらもC言
語または C++ 言語で書かれたハッシュ関数を生成する。
splineプログラムの書き換え、
graph や plot を用いたシェル・スクリプトの例、
統計ツールキット、
TekniCAD TDAとln03のファイル形式での出力
といった特徴がある。
バグや要求は、Rich Murphey (Rich@rice.edu) へ電子メイルにて問い
合わせのこと。
grep、egrep、fgrepが入っており、
入力されたパターンに一致する行を出力する。これらは従来の Unix 版よりも非常
に高速に動作する。
eqn、
nroff、
pic、
refer、
tbl、
troff;
man、
ms、
mmの各マクロや、PostscriptとTeX dviとタイプライタ形式のド
ライバから成る文書処理システムである。Groffのmmマクロには様々な拡張
が施されている。Berkeley meマクロの修正版やX11 xditviewプリビュー
アの拡張版も入っている。これらのプログラムはC++で記述されているので、
GNU C++ バージョン2.5以降であればコンパイルすることができる。LaserJet 4
シリーズのプリンタ・ドライバを現在テストしている。
Groffユーザには拡張コードを寄与するように奨励している。優先順位の高い作業は、
Texinfo 形式のドキュメント、grap エミュレーション (グラフを組版する
ための pic プリプロセッサ)、pm のようなページ記述ポストプロセッ
サ (「Computing Systems」 Vol. 2、No. 2 を参照、コピーの入手方法
は office@usenix.org へ問い合わせのこと) 、pic 用の ASCII 出
力クラスである。これを用いればpic を Texinfo に統合することが可能に
なる。配布されているドキュメントを読んだユーザからの質問やバグ報告は、
bug-groff@prep.ai.mit.edu へ送ってもよい。
gzip (DjgpD、DosBC、LangT、LspEmcT、SrcCD、UtilT)
gzip は LZW 圧縮ファイルを復元すること
ができるが、圧縮には特許になっていない別のアルゴリズムを採用しており、一般
に良い結果を得ている。また、System Vの pack プログラムを使って圧縮さ
れたファイルも復元することができる。
hello (DjgpD、DosBC、SrcCD、UtilT)
GNU hello プログラムは、親しみやすく友好的な挨拶文を生成する。プログ
ラマ以外の人には、コンピュータ科学のツールは使いこなせないと考えられていた
古典的なツールを、使いこなせるものとした。これ自体は GNU 一般公的使用許諾で
保護されているので、誰もが自由に共有し、変更が可能だからである。
本当に有用なプログラムと同じように、hello は組み込みのメイル・リーダ
を提供している。
hp2xx (SrcCD、UtilT)
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 (DjgpD、DosBC、LangT、SrcCD、UtilD)
GNU indent は、BSD バージョンの改訂版である。既定値では、 GNU コーディ
ング規則に従った C ソース・コードへフォーマットする。BSDの規定値やK&R 、そ
の他の形式はオプションで指定する。また、ユーザ固有の形式で定義することも可
能である。GNU indent は他のものよりも頑強で、C++言語の注釈を扱う
など、他のバージョンにはない機能を多く提供している。
Aubrey Jaffer 84 Pleasant Street Wakefield, MA 01880-1846 USA
less (SrcCD、UtilD、UtilT)
less は、more やpg に似ているページ捲りプログラムであ
る。ただし、類似のプログラムのほとんどにはない様々な機能(後方へのスクロール
機能など)を備えている。
m4 (DjgpD、DosBC、SrcCD、UtilD、UtilT)
GNU m4 は、昔からある Unix のマクロプロセッサの GNU 版で、SVR4 とほ
ぼ完全な互換性を持ち、さらに幾つかの拡張(例えば、マクロに対して位置的な
引数を 9 個以上与えることが可能) が施されている。また、m4 にはファイ
ルのインクルードやシェル・コマンドの実行、演算機能、等を行なう組み込み関数
もある。
make (BinCD、DjgpD、DosBC、LangT、LspEmcT、SrcCD、UtilD、UtilT)[FSFman]
GNU make は POSIX 1003.2をサポートしており、BSD 版のmakeやSystem V版
の make の不明瞭な機能を2〜3箇所除いて全てを備えている。長い名前のオプショ
ン、並列コンパイル、柔軟性のある明示的なパターン規則、条件実行、強力なテキ
スト処理機能といった GNU 版独自の拡張も施されている。Texinfo 形式の
Make Manual のソース・ファイルは、プログラムと共に提供されている。
See section GNUマニュアルについて。
mkisofs (SrcCD、UtilT)
mkisofsは、事前にマスタリング行なうプログラムによりISO 9660ファイル・
システムに変換する。これは木構造状のディレクトリのスナップショットを作成し、
ブロック・デバイスへの書き込み時にISO 9660ファイル・システムに従ったバイナ
リ・イメージを作る。
mkisofsも、Rock Ridge Interchange Protoocolの System Use Sharing
Protocol に変換することができる(さらに、ISO 9660ファイル・システムのファイ
ルで Unix ホストを記述するために用いられ、長いファイル名、uid/gid、POSIX許
可、ブロック・デバイス、文字デバイスなどの情報を提供する)。
ncurses (LangT、SrcCD)
ncursesは、端末に依存しないプログラムを基にした画面向けの開発のため
のUnix cursesライブラリを実装したものである。
nvi (SrcCD、UtilT)
nvi は、Unix エディタ vi/ex を実現したもので、フリーに
配布可能である。オリジナルの vi/ex のほとんどの機能を備えてい
るが、"open" モードと lisp オプションをサポートしていないので追加
する予定である。vi/ex を凌ぐ拡張部分として、画面を複数のバッ
ファに分割したり、8ビット・データの取り扱い、大きさに制限のないファイルと行、
タグ・スタック、無限の取消し (undo)、拡張された正規表現がある。GNU/Linux、
BSD、NetBSD、 FreeBSD、 BSDI、 AIX、 HP-UX、 DGUX、 IRIX、 PSF、 PTX、
Solaris、SunOS、 Ultrix、Unixware 上で動作し、その他の多くのシステムに移植
するのは容易なはずである。
libobjects) は汎用のオブジェクト
であり、Andrew McCallum とその他のボランティアにより作成された。これには、
オブジェクトのグループおよびC言語の型を使うためのコレクション・クラス、入出
力ストリーム、C言語の型やオブジェクトを文字列にフォーマットするコーダ、ネッ
トワークのパケット伝送のポート、分散オブジェクト(遠隔オブジェクト・メッセー
ジの送信)、文字列クラス、疑似乱数ジェネレータ、時間を扱うオブジェクトが入っ
ている。i386やi486、Pentium. m68k、SPARC、MIPS、RS6000の上で動作することが
わかっている。問い合わせとバグ報告は、`mccallum@gnu.ai.mit.edu'へ連絡
のこと。
OBST (LangT、SrcCD)
OBSTは、C++にバインドしている永続性のあるオブジェクト管理システ
ムである。OBSTでは、メソッドの差分ロードをサポートする。それのグラフィッ
ク・ツールには X Window System が必要である。例題プログラムの入った手軽な入
門書がある点が特徴である。G++を使ってコンパイルし、ほとんどのUnixプラッ
トフォームに簡単にインストールできるはずである。
gnuplotを使うと可能になる。
問い合わせやバグ報告の宛先は bug-octave@che.utexas.edu へ。ソース・
ファイルには、220ページ強の Texinfo 形式のマニュアルが入っているが、まだFSF
から出版されていない。
p2c (LangT、SrcCD)
p2cは、Dave Gilespieの Pascal-to-Cトランスレータである。多くの方言
(HP、ISO、Turbo、VAX、他)の入力が可能で、読みやすいコードを生成し、保守も容
易で、生成された C ソース・コードの移植性も良い。
patch (DjgpD、DosBC、SrcCD、UtilT)
patch は Larry Wall の作成したプログラムの GNU 版で、diff
の出力結果を取り込んで元のファイルに差分情報を反映させ、パッチをあてたバー
ジョンを作成する。
perl (LangT、SrcCD)
Larry Wall のperl は、Unix のシステム・コールと多くの C ライブラリ・
ルーチンのインタフェースだけでなく、sedやawk、sh、C 言
語の機能と能力も兼ね備えている。
pine (SrcCD、UtilT)
pineは、馴染みやすいメニュー方式の電子メイル・マネージャである。
ptx (SrcCD、UtilD、UtilT)
ptx は、伝統的な交互参照表生成プログラムの GNU 版である。一度に複数
の入力ファイルを扱い、TeX 互換の出力を生成したり、読みやすい KWIC
(KeyWords In Context) を出力する。
1回でメモリにおさまらない入力ファイルの取り扱いはまだ行なっていない。
rc (SrcCD、UtilT)
rc はシェルである。C 言語に似た構文 (CシェルよりもC言語に似ている)
を備えており、C シェルやB シェルよりもきれいな引用規則を備えているという特
徴がある。会話的に用いられることを想定しているが、スクリプトの作成にも非常
に便利である。esというシェルへ影響を与えた。
diff を使えば、RCS
はバイナリ・ファイル (実行形式、オブジェクト・ファイル、8 ビット・データ・
ファイルなど) を取り扱うことが可能となる。この節で触れている CVS につい
ても参照のこと。
recode (SrcCD、UtilT)
GNU recode は、文字セットと利用したい形式に変換するものである。正し
い音訳が不可能な場合 (訳注: 例えば、ロシア語をローマ字で綴るような場合のこ
と) は不可能な文字を取り除いたり、近い文字を採用する。このプログラムは、約
150 種類の文字セットを認識し、どのような文字セットの組み合わせでもほとんど
変換することが可能である。RFC 1345 のほとんどの文字セットをサポートしている。
regex (LangT、SrcCD)
GNU 正規表現ライブラリは POSIX.2 をサポートしているが、国際語化の機能は入っ
ていない。以前には、正規表現ルーチンを使っている多くの GNU プログラムにこれ
が入っており、今回では、ついに独立した配布も行なうようにした。他の正規表現
パッケージとしてrxがあるが、たいていの場合にregexよりも高速な
ので、いつかregexを置き換える予定である。
regex ライブラリよりも高速な正規表現ライ
ブラリ rx を新しく作成した。現在、sedと共に配布されている。
rxはm4とptxの次期リリースに用いられることになるだろう。
saoimage (UtilT)
SAOimageは、Xを使った天体イメージ・ビューアである。データ・イメージを読み取
り、疑似カラーマップを使ってそれらを表示する。カラーマップの完全な会話型制
御、カラーマップの読み取りと書き込み、等の機能がある。
screen (SrcCD、UtilT)
screenは、単一の文字指向の端末上に複数で別々の「画面」(tty)を実行す
る端末のマルチプレクサである。仮想端末別に、DEC VT100や ISO 6429 (ECMA 48、
ANSI X3.64)、ISO 2022の関数エミュレートする。通常のキーボード入力の変換もサ
ポートしている。screen セッションを切り離し、異種の端末上であとで継
続することができる。切り離されたセッションでの出力は、あとで見るために保存
される。
sed (DjgpD、DosBC、SrcCD、UtilD、UtilT)
sed はedの文字列指向版である。rx ライブラリが付いてく
る。
sharは、電子メイル・サービスを使って転送するために、多くのファイルか
ら、いわゆるシェル・アーカイブを作成するものである。逆に、unsharは、
受信後にそのシェル・アーカイブの解凍を支援するものである。uuencodeは、
ファイルを電子的なチャネル上に転送できるように、バイトの最上位のビットを無
視するか、あるいは短くするものであり、uudecodeはその復元を行なう。
basename、
date、
dirname、
echo、
env、
expr、
false、
groups、
hostname、
id、
logname、
nice、
nohup、
pathchk、
printenv、
printf、
pwd、
sleep、
stty、
su、
tee、
test、
true、
tty、
uname、
users、
who、
whoami、
yes。
tar (SrcCD、UtilT)
GNU tar は、マルチボリュームをサポートしており、疎なファイルをアーカ
イブする機能やリモート・アーカイブ、アーカイブの自動圧縮 / 復元などをサポー
トしている。特に、tarを使ってファイル・システムの差分や全体のバック
アップをとることができる点が特徴である。残念ながら、GNU tar は、
POSIX 1003.1 ustar 規格の初期のドラフトを基にしているので、最終バー
ジョンには従っていない。古いバージョンとの互換性を保ちながら新しい変更を透
り混むのは残念ながら容易ではない。
libtermcap.a の差し替えであり、どのよう
なシステムでも利用可能である。通常の termcap とは異なり、Termcap の記述
項目の大きさの制限を外した。Texinfo 形式の Termcap Manual の
テキスト・ソース・ファイルも入っている。See section GNUマニュアルについて。
web2c TeX パッケージである。ソー
ス・ファイルは anonymous FTP で入手可能であり、検索方法は
ftp.cs.umb.edu マシンの `pub/tex/unixtex.ftp' に入っている。ワ
シントン大学からインストール・サポートを受ける場合は、寄付金も送るよう配慮
していただきたい。tar で記述され、1/4inch 4 トラック QIC-24 の
カートリッジまたは 4mm の DAT カートリッジに入った完全配布版を注文す
るには210ドルを次の所へ送る。
Pierre A. MacKay
Department of Classics
DH-10, Denny Hall 218
University of Washington
Seattle, WA 98195
USA
電子メイル: mackay@cs.washington.edu
電話番号: +1-206-543-2268
支払いは、ワシントン大学へ小切手を送る。受取人名はワシントン大学にして、他
の受領者名は記述しないこと。そうでないと、口座処理が困難になるので。小切手
は米ドルで、米国にある銀行で引き落とし可能なものでなければならない。注文は
現在、前払いのみを受け付けている。海外便では、追加基本料金として普通の航空
便は 20ドル、急ぎの場合の航空便は 30 ドルを上乗せしていただきたい。上記の価
格と形式の現状については常時確認していただきたい。
makeinfo、
info、
texi2dvi、
texindex、
tex2patch、
fixfonts)
の集まりである。バージョン 3 には、Emacs Lispと、C言語またはシェル・スクリ
プトで書かれた独立のプログラムの両方が入っている。GNU Emacs対応のTexinfoモー
ドを使うと、Texinfo ファイルを容易に編集、更新することができる。
See section GNUマニュアルについて。
cat、
cksum、
comm、
csplit、
cut、
expand、
fmt、
fold、
head、
join、
nl、
od、
paste、
pr、
sort、
split、
sum、
tac、
tail、
tr、
unexpand、
uniq、
wc。
time (SrcCD、UtilT)
timeは、(通常はシェルから) 1 つのプロセスのユーザ・タイムやシステム・
タイム、実経過時間を出力する。システムによっては、メモリ消費量、ページ・フォー
ルト、その他の情報も出力する。
tput (SrcCD、UtilT)
tput を使うと、特殊な端末機能をシェル・スクリプトで扱えるようになり、
しかもそれは移植性も良い。GNU のtput では、他のほとんどのバージョン
でも行なっているような通常の Terminfo ではなく、Termcap データベースを利用
している。
ucblogo (LangT、SrcCD)
古典的な教育用言語のLogoを実装したものである。
f、
gとv (全てのウィンドウとパケット・サイズで)、
G、
t、
e、
Zmodem、
そして2つの新しい 双方向性のプロトコル(iとj)
である。Berkeley ソケット・ライブラリを使うと、TCP接続が可能である。
TLIライブラリを使えば、TLI接続を行なうようなプログラムにすることができる。
ソース・ファイルにはマニュアルも入っているが、FSFではまだ印刷物として出
版していない。
wdiff (DjgpD、DosBC、SrcCD、UtilT)
wdiff は、GNU diff に対するフロントエンドである。2つのファイ
ルを比較して、最初に指定したファイルからどの単語を削除または追加すれば 2 番
目に指定したファイルを得られるかを示す。様々な出力形式をサポートしており、
端末上で、あるいはページャを使って会話的な処理を適切に進めることも可能であ
る。wdiff は、2つのテキストの違いが数単語しかなく、段落が詰め込み直
された場合に非常に便利である。
Ygl (SrcCD、UtilT)
Yglは、X11下のSGIのGL (グラフィック言語)ライブラリをエミュレートし、
GNU/Linux(XFree付き)、AIX 3.2、ConvexOS、HP-UX 7/8/9、SunOS上で動作する。
Go to the first, previous, next, last section, table of contents.