diff --git a/ja_JP.eucJP/books/handbook/backups/chapter.sgml b/ja_JP.eucJP/books/handbook/backups/chapter.sgml index e68b73ee68..8b0175b603 100644 --- a/ja_JP.eucJP/books/handbook/backups/chapter.sgml +++ b/ja_JP.eucJP/books/handbook/backups/chapter.sgml @@ -1,978 +1,978 @@ バックアップ この章では この章ではデータのバックアップ方法とバックアップの作成に 使われるプログラムについて扱います. テープメディア テープメディア(tape media) 一般的なテープメディアには 4mm, 8mm, QIC, ミニカートリッジ, DLT があります. 4mm (DDS: Digital Data Storage) テープメディア(tape media) DDS (4mm) テープ テープメディア(tape media) QIC テープ 4mm テープはワークステーションのバックアップメディアとして QIC から置き換えられつつあります. この傾向は QICドライブの製造のリーダであった Archiveを Connerが買収し QICドライブの製造を中止したことで加速しました. 4mmドライブは小型で静かですが 8mm ドライブの持っているような信頼性の評判はありません. カートリッジは 8mmカートリッジよりも安価で小型 (3 x 2 x 0.5 インチ; 76 x 51 x 12 mm) です. 4mmドライブ は 8mm同様にヘリカルスキャン (訳注: VTRと同様の回転ヘッドを使う方式) を使用しているという理由でヘッドの寿命は短いです. これらのドライブのデータスループットは 150kB/s程度から最大で500kB/s程度の範囲です. データ容量は 1.3GBから 2.0GBです. ハードウェア圧縮が多くのドライブで可能で, およそ 2倍の容量になります. マルチドライブテープライブラリユニットは1つの筐体に 6ドライブを持つことができ自動的にテープを交換します. ライブラリの容量は 240GBに達します. 現在の DDS-3 規格では, 12GB (圧縮時 24GB) までのテープ容量をサポートしています. 4mmドライブは 8mmドライブ同様にヘリカルスキャンを使います. ヘリカルスキャンの利点と欠点は 4mm ドライブ と 8mm ドライブ共通です. テープの寿命は 2000 回のパスあるいは 100 回のフルバックアップです. 8mm (Exabyte) テープメディア(tape media) Exabyte (8mm) テープ 8mm テープは SCSI テープドライブとして最もよく使われているもので, データ交換用として最良の選択です. ほとんどのサイトには Exabyte の 2GB 8mm テープドライブがあるでしょう (訳注: Unix ワークステーションを何台も置いているようなサイトには 1 台くらいはあるというような意味です). 8mm ドライブは信頼性が高く, 使いやすく, 静かです. カートリッジは安価で小型です (4.8 x3.3 x 0.6 インチ; 122 x 84 x 15 mm). 欠点は, テープとヘッドの相対的な速度が高速なために 比較的ヘッドとテープの寿命が短いことです. データスループットは 250kB/s 程度から 500kB/s 程度の範囲です. データ容量は 300MB から 7GB です. ハードウェア圧縮が多くのドライブで可能で,およそ 2 倍の容量になります. 単一のユニットのドライブから, 1 つの筐体に 6 台のドライブと 120 巻のテープを持ったマルチドライブテープライブラリまで 利用することができます. ライブラリではテープはユニットにより 自動的に交換されます. ライブラリの容量は 840GB 以上に達します. Exabyte 社製の Mammoth というモデルは, テープ一本あたり 12GB (圧縮時 24GB) をサポートしています. このドライブの価格は, 通常のテープドライブの約 2 倍です. データはヘリカルスキャンを使ってテープに記録されます. ヘリカルスキャン方式ではヘッドはメディアに対してある傾き (約6度) に配置されます. テープはヘッドのある円筒の周の 270度にわたって接触します. テープが円筒面を走行する間, 円筒は回転しています. この結果, 高密度のデータのつまったトラックは, 狭い間隔でテープの上端と下端の間を斜めに横切ります. QIC テープメディア(tape media) QIC-150 QIC-150 テープとドライブはたぶん最も一般的に使われている ドライブとメディアでしょう. QIC テープドライブは現実的なバックアップドライブとして 少なくとも高価なものではありません. 欠点はメディアのコストです. QIC テープは 8mm や 4mm テープに比較して GB あたりのデータの保存で 5 倍ほど高価です. しかしあなたの必要とする量が半ダース程のテープで十分であれば, QICは正しい選択となるかもしれません. QIC は 最も一般的なテープドライブです. すべてのサイトに QICドライブのどれかの容量のものがあります. 問題は, QIC は同じようなテープ (まったく同じ場合もある) に多様な記録密度があることです. QIC ドライブは静かではありません. これらのドライブはデータ記録を 開始する前に音をたててシークしますし, リード, ライト, シークの時にはっきりと聞こえる音を出します. QIC テープの大きさは (6 x 4 x 0.7 インチ; 152 x 102 x 17 mm). ミニカートリッジ で使われている 1/4 インチ幅のテープについては別に議論します. テープライブラリやチェンジャはありません. データスループットは 150kB/s から 500kB/s の範囲です. データ容量の範囲は 40MB から 15GB です. ハードウェア圧縮が 最近の多くのドライブで使えるようになっています. QIC ドライブは DAT ドライブに置き換えられつつあり, あまり頻繁には利用されなくなっています. データは複数のトラックにわかれてテープに記録されます. トラックはテープメディアの 長さ方向の一端からもう一方の端までです. (訳注: 1トラックの read/write が終わるとテープの走行方向を反転させ次のトラックの read/write を行います) トラックの数と, それに対応するトラックの幅はテープの容量によって変わります. すべてではありませんがほとんどの最近のドライブは 少なくとも読み出しについては (場合によっては書き込みも) 下位互換性があります. QIC はデータの安全性についてはよいといわれています (ヘリカルスキャンドライブに比べて機構は単純でより丈夫です). テープは 5000回のバックアップで寿命となるでしょう. XXX* ミニカートリッジ DLT テープメディア(tape media) DLT DLTはここに示したドライブのタイプの中で 最高速のデータ転送レートです. 1/2 インチ (12.5mm) テープが単リールのカートリッジ (4 x 4 x 1 インチ; 100 x 100 x 25 mm) に入っています. カートリッジのひとつの側面全体がスイングゲートになっています. ドライブの機構がこのゲートを開け, テープリーダを引き出します. テープリーダには楕円形の穴があり, ドライブがテープを引っ掛けるのに使います. 巻き取りのためのリールはドライブの中にあります. ここに挙げた他のカートリッジはすべて ( 9 トラックテープはただ1つの例外です) 送りだしリールと巻き取りリールの両方がカートリッジの中に あります. データスループットは約1.5MB/sで, 4mm, 8mm, QIC テープドライブの3倍です. データ容量は単一のドライブで 10GBから 20GBの範囲です. マルチテープチェンジャ,マルチテープドライブ,5から 900巻のテープを1から20ドライブで扱う マルチドライブテープライブラリがあり, 50GB から 9TB の容量が得られます. 圧縮機能により, DLT Type IV フォーマットは 70GB までの容量をサポートします. データは ( QIC テープのように) テープの走行方向と並行に複数あるトラックへ記録されます. 2 つのトラックに同時書き込みを行います. Read/Write ヘッドの寿命は比較的長いと言えます. テープの走行が止まればヘッドと テープの間の相対運動はありません. AIT テープメディア(tape media) AIT AIT は, Sony が発表した新しいフォーマットで, テープ一本あたり 50GB(圧縮時) の容量を持っています. テープには, 記録データ内容の索引情報が記録可能な メモリチップが内蔵されています. ドライブがこの索引情報を読みとることで, テープのどの部分にどのファイルが存在するかを 高速に調べることができるようになっています. 従来のドライブは, この処理に数分の時間を必要としていました. 直接テープのメモリチップと通信することでテープ内容を画面表示する SAMS:Alexandria のようなソフトウェアを使うことで, 40 を超える ATI テープライブラリを操作できるのはもちろんのこと, どのテープのどこに, どのファイルがバックアップされているのか調べたり, 正しいテープをセットしたり, テープ上のデータをリストアしたりすることが可能です. このようなテープライブラリにかかる費用は $20,000 台です. 業務用でないものはもう少し安価でしょう. 新品のテープを最初に使う場合 新品の完全な空テープを読もうとしたり書き込もうとすると処理 は失敗するでしょう. 次のようなコンソールメッセージが出るでしょう. sa0(ncr1:4:0): NOT READY asc:4,1 st0(ncr1:4:0): Logical unit is in process of becoming ready テープに識別ブロック (Identifire Block:block number 0) がありません.QIC-525標準の採用されている QICテープドライブのすべてで識別ブロックをテープに書きます. 2つの解決方法があります. (訳注: 方法1)mt fsf 1 によってテープドライブは識別ブロックをテープに書きます. (訳注: 方法2)フロントパネルのボタンを押してテープをとりだします. 再びテープを入れ,データをテープに dump します. dump はそのうちに DUMP: End of tape detected と表示し, コンソールには HARDWARE FAILURE info:280 asc:80,96と表示されるでしょう. mt rewindを使ってテープを巻戻します. この次からはテープの操作は成功するでしょう. バックアッププログラム バックアッププログラム(backup software) よく使われる3つのプログラムは &man.dump.8;, &man.tar.1;, &man.cpio.1; です. dump と restore バックアッププログラム(backup software) dump / restore dump restore Unixで古くから使われているバックアッププログラムは dumprestore です. これらはディスクドライブをディスクブロックの集まりとして, ファイルシステム上につくられるファイル, リンク, ディレクトリといった概念よりも低レベルで扱います. dump はデバイスやファイルシステム全体をバックアップするもので, ファイルシステムの一部や, 複数のファイルシステムにまたがるディレクトリツリーの一部だけを バックアップすることはできません. dump はファイルやディレクトリではなく, ファイルやディレクトリを構成する生のデータブロックをテープに記録します. ルートディレクトリで dump を使った場合, /home/usr など, 他の多くのディレクトリはバックアップされません. これは, 上にあげたようなディレクトリが通常, 他のファイルシステムへのマウントポイントであったり, 他のファイルシステムへのシンボリックリンクとなっているためです. dump には初期の ATT UNIX のバージョン 6 (1975 年ごろ) に由来する癖が残っています. デフォルトのパラメータは 9 トラックテープ (6250 bpi) に適したものになっていて, 現在の高密度メディア (最大 62,182 ftpi) に適していません. 現在のテープドライブの容量を有効に利用するため, これらのデフォルト値をコマンドラインで必ず置き換える必要があります. rhosts また, rdumprrestore を用いると, 他のコンピュータに接続されたテープドライブを使い, ネットワーク経由でデータをバックアップすることも可能です. どちらのプログラムもリモートテープドライブにアクセスするために rcmdruserok に依存しています. このためユーザがバックアップを実行するためには rhosts によるリモートアクセスが必要です. rdumprrestore の引数はリモートコンピュータに適切なものを用います. (例えば FreeBSD コンピュータより komodo という名前の Sun に接続されている Exabyte テープドライブへ /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nrsa8 /dev/rda0a 2>&1 として rdumpしたような場合の restoreに使います) 警告: セキュリティは rhostsの管理にかかっています. あなたの状況を注意深く調べてください. ssh を用いると rdumprrestore をより安全な形で利用することができます. <application>ssh</application> 経由で <command>rdump</command> を使う &prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh1 -c blowfish \ targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz <command>tar</command> バックアッププログラム(backup software) tar tar AT&T Unix のバージョン 6 (1975ごろ) にさかのぼる事ができます. tar はファイルシステムと協調して機能し, ファイルやディレクトリをテープに書きます. tar は &man.cpio.1; で使えるようなフルレンジのオプションは持ちませんが cpio で使うような奇妙なコマンドパイプラインは必要ありません. tar 大部分の tar にはネットワーク経由のバックアップの機能はありませんが, FreeBSD で使用されている GNU の tar は, rdump とおなじ構文でリモートデバイスを扱うことができます. komodo というホスト名の Sun に繋いである Exabyte のテープデバイスに対して tar を実行するには, 次のようにします. /usr/bin/tar cf komodo:/dev/nrsa8 . 2>&1 リモートデバイスをサポートしていない tar を使用している場合は, パイプラインと rsh を使うことで, リモートテープデバイスにデータを送る事ができます. &prompt.root; tar cf - . | rsh hostname dd of=tape-device obs=20b もしあなたがネットワークを越えるバックアップのセキュリティに 困っているなら &man.rsh.1; の代わりに &man.ssh.1; を使うべきです. <command>cpio</command> バックアッププログラム(backup software) cpio &man.cpio.1; は本来, Unix ファイルを磁気メディアで交換するためのプログラムです. cpio はバイトスワッピング, 多くの異なるアーカイブフォーマットの書き込みのオプション (それ以外にも多数のオプションがあります)があり, パイプで他のプログラムにデータを渡す事もできます. この最後に挙げた特徴により, cpio はインストールメディアについては優れた選択です. cpiostdin からの入力でなければならず, ディレクトリツリーの探索や ファイルリストについての機能はありません. cpio &man.cpio.1; はネットワーク経由のバックアップの機能はありません. リモートテープドライブにはパイプラインと &man.rsh.1; を使って送る事ができます. &prompt.root; for f in directory_list; do find $f >> backup.list done &prompt.root; cpio -v -o --format=newc < backup.list | ssh user@host "cat > backup_device" directory_list にはバックアップしたいディレクトリのリスト, user@host にはバックアップを実行するユーザ/ホスト名の組合せ, backup_device には バックアップ内容を保存する場所 (たとえば /dev/nrsa0) を指定します. <command>pax</command> バックアッププログラム(backup software) pax pax POSIX IEEE &man.pax.1; は tarcpio に対する IEEE/POSIX の回答です. 長年の間, 様々なバージョンの tarcpio は, 互いにわずかながら非互換性を有していました. 各々をしらみ潰しに標準化する代わりに, POSIX は新しいアーカイブユーティリティを作ることにしました. pax は専用に開発された新しいフォーマットに加えて, いくつもの cpio や tar のフォーマットの読み書きに対応しようと試みています. コマンド群は tar よりも cpio の方にいくぶん似ています. <application>Amanda</application> バックアッププログラム(backup software) Amanda Amanda Amanda (Advanced Maryland Network Disk Archiver) は単一のプログラムではなくクライアント / サーバ型のバックアップシステムです. Amanda サーバは, Amanda クライアントであるネットワークで サーバに接続された複数のコンピュータから 一つのテープドライブへバックアップをおこないます. このような場合の一般的な問題はいくつもの大容量の ディスクからデータディレクトリをテープにバックアップするには 時間がかかりすぎてしまうという事です. Amanda はこの問題を解決します. Amanda は同時に複数のファイルシステムのバックアップをおこなう時に 「ホールディングディスク」を使う事ができます. Amandaの設定ファイルに書いたすべてのファイルシステムの フルバックアップを特定の間隔でとるために「アーカイブセット」 と呼ばれるテープグループを作ります. これには夜間に作られるすべてのファイルシステムの増分 (あるいは差分として) のバックアップも含みます. 障害の起きたファイルシステムの回復には最も新しい フルバックアップと増分のバックアップが必要です. 設定ファイルでバックアップのコントロールと Amanda によるネットワークトラフィック量を設定します. Amanda はデータをテープに書くのにバックアッププログラムの いずれかを使うでしょう. Amanda はその一部分でもパッケージでも利用可能ですが, デフォルトではインストールされません. 何もしない 何もしない というのはコンピュータのプログラムではありませんが, バックアップの戦略として最も広く採用されている物です. これには初期投資が必要ありません. したがわなければならないバックアップスケジュールもありません. ただ何もしないだけです. もしデータに何かが起きたら, 苦笑いして耐えてください. あなたにとって時間やデータの価値が少ないか あるいはまったくないのであれば 何もしない のはあなたのコンピュータに最も適した バックアッププログラムでしょう. しかし注意してください. Unix は便利なツールです. 6 ヶ月も使っていれば価値のあるファイルの 山ができ上がっているでしょう. 何もしないこと/usr/obj など, コンピュータが同じものをもう一度作り直すことのできる ディレクトリツリーに対して適した方法です. 一つの例として, このハンドブックの HTML 版, PostScript 版を構成するファイルが考えられます. これらは両方とも SGML ファイルから生成されたものなので, HTML 版と PostScript 版のバックアップをとる必要はありません. 一方, SGML ファイルは定期的にバックアップが行なわれています. どのバックアッププログラムが最適でしょう? LISA 定期的に dump しましょう. Elizabeth D. Zwicky はここで検討したプログラムすべてについて 拷問的なテストをおこないました. すべてのデータと Unixファイルシステムの状態すべてを保存するには明らかに &man.dump.8; でしょう. Elizabeth は大きく変化に富んだ異常な状態 (いくつかはあまり異常でもない状態のものもあります) になっているファイルシステムで, それぞれのプログラムでファイルシステムの バックアップとリストアを行ってテストしました. 特色のある状態には, ホールを持つファイル, ホールとヌルブロックを持つファイル, 奇妙な文字をファイル名に持つファイル, 読み出し不可, 書き込み不可のファイル, デバイスファイル, バックアップ中にファイルのサイズを変更する, バックアップ中にファイルの作成/削除をおこなうなどがあります. 彼女は1991年10月の LISA Vで結果の発表をしています.torture-testing Backup and Archive Programs を参照してください. 緊急時のリストア手順 災難の起きる前に 起き得るどのような災難に対しても以下の 4ステップだけが必要な準備です. disklabel ステップ 1では, ファイルシステムテーブル(/etc/fstab) や起動メッセージで示されるすべてのディスクの disklabelをそれぞれ2コピーづつプリント (例えば disklabel da0 | lpr を実行します) します. fix-it floppies ステップ 2では, boot.flpfixit.flp にそのシステムのすべてのデバイスドライバが 含まれているか確認します. 最も簡単な確認の方法は, フロッピディスクをドライブに入れて再起動し, 起動メッセージを確認することです. あなたのシステムのデバイスがすべて含まれ, 機能していれば, step 3へ飛んでください. そうでないなら, そのシステムのすべてのディスクをマウントでき, テープドライブにもアクセスできる 2種類のカスタム起動フロッピディスクを作る必要があります. これらのフロッピディスクには fdisk, disklabel, newfs, mount, と利用したいバックアッププログラムが 入っていなければなりません. これらのプログラムはスタティックリンクされた プログラムである必要があります. dump を使うのであればフロッピディスクに restore を入れる必要があります. ステップ 3では, 通常の方法でバックアップを作ります. 最新のバックアップの後でおこなわれた変更は 回復することはできません. バックアップテープにライトプロテクトをしてください. ステップ 4では, フロッピディスク (boot.flpfixit.flp あるいはステップ 2で作った2枚のカスタム起動フロッピディスクです) とバックアップテープのテストをします. 手順のノートを作りましょう. このノートは起動フロッピディスク, バックアップテープに入れておきプリントアウトしておきます. あなたがリストアをおこなうような時は おそらく錯乱状態でしょうからこのノートはバックアップを 破壊してしまうようなことを防ぐのに役立つでしょう (どのようにして破壊するって? tar xvf - /dev/rsa0 とする替りに偶然 tar cvf + /dev/rsa0 とするかわりに偶然 tar cvf /dev/rsa0 とタイプしてバックアップテープに上書きしてしまうかも しれません). 訳注: 上書きはライトプロテクトをしておけば防げますが, なんらかの原因でプロテクトがはずれているかもしれません. ちなみに訳者の経験から言えば上のようなミスタイプは 結構起きます. 安全性を増すために, 毎回起動フロッピディスクを作り, 2 巻のバックアップテープを取ります. 一方を離れた場所に保管します. 離れた場所は同じ建物の地下室ではいけません. 世界貿易センタービルにあった数多くの会社は 苦い経験よりこの教訓を得ました. 離れた場所とはコンピュータやディスクドライブから かなり離れていて物理的に分離されていなければなりません. 起動フロッピディスクを作るスクリプトの一例 /mnt/sbin/init gzip -c -best /sbin/fsck > /mnt/sbin/fsck gzip -c -best /sbin/mount > /mnt/sbin/mount gzip -c -best /sbin/halt > /mnt/sbin/halt gzip -c -best /sbin/restore > /mnt/sbin/restore gzip -c -best /bin/sh > /mnt/bin/sh gzip -c -best /bin/sync > /mnt/bin/sync cp /root/.profile /mnt/root cp -f /dev/MAKEDEV /mnt/dev chmod 755 /mnt/dev/MAKEDEV chmod 500 /mnt/sbin/init chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt chmod 555 /mnt/bin/sh /mnt/bin/sync chmod 6555 /mnt/sbin/restore # # create the devices nodes デバイスノードを作る # cd /mnt/dev ./MAKEDEV std ./MAKEDEV sd0 ./MAKEDEV sd1 ./MAKEDEV sd2 ./MAKEDEV st0 ./MAKEDEV pty0 cd / # # create minimum filesystem table 最小限のファイルシステムテーブル # cat > /mnt/etc/fstab < /mnt/etc/passwd < /mnt/etc/master.passwd < 災難の後に 重要な問題は, ハードウェアが生き残ったかどうかです. 定期的なバックアップを取っていれば ソフトウェアについて心配する必要はありません. ハードウェアがダメージを受けていたら, 最初にそのダメージを受けた部品を交換してください. ハードウェアに問題がなければ, フロッピディスクをチェックしてください. カスタム起動フロッピディスクを使っているのであれば シングルユーザ(boot: プロンプトの出た時に -s とタイプしてください) で起動してください. それから次の 「ファイルシステムを1つずつ回復する」 を読んでください. boot.flpfixit.flp を使っているのであればこのまま読み続けてください. boot.flp を入れて起動してください. 本来のインストールメニューが表示されるはずです. (ここで) Fixit--Repair mode with CDROM or floppy.オプションを選びます. 指示の通り fixit.flp を入れてください. restore とその他の必要なプログラムは /mnt2/standに置かれています. ファイルシステムを一つずつ回復する mount root partition disklabel newfs 最初のディスクのrootパーティションを mount (例えば mount /dev/da0a /mnt のように) マウントしてみてください. ディスクラベルが破壊されている場合は disklabel を使ってあらかじめプリントしておいた通りに パーティションを作り直しラベルをつけてセーブしてください. newfs を使いファイルシステムを作り直します. ルートパーティションを読み書き可能にマウント (mount -u -o rw /mnt) しなおします. バックアッププログラムとバックアップテープを使って このファイルシステムのデータを回復します (例えば restore vrf /dev/sa0とします). ファイルシステムをアンマウント (umount /mntなど) して, 障害を受けたファイルシステムそれぞれについて 繰り返してください. システムが動き出したら, 新しいテープにデータをバックアップしてください. どのような理由で再び事故が起きたりデータが 失われるかはわかりません. これに時間を費す事で, 後々の災難から救われる事になります. * 災難対策をしていませんでした. どうしたらいいでしょう? ]]> フロッピディスクへのバックアップはどうですか? データをフロッピディスクにバックアップすることはできますか? backup floppies floppy disks 実はフロッピディスクはバックアップ向きのメディアとは言えません. というのは: 特に長期間に渡って保存する場合, 信頼性が低い. バックアップ, リストアがとても遅い. 容量が小さい(ハードディスク全体の日々のバックアップに 1ダース, 長期間なら本当にたくさん). けれども, データをバックアップする他の手段がない場合には, まったくバックアップをしないよりもフロッピディスクを使うほうが良い でしょう. これを行う場合には, 高品質のものを使うようにしてください. まわりに何年も転がっていたフロッピディスクは使わない方よいでしょう. 評判のよいメーカの新品を使うことが理想です. どうやってデータをフロッピディスクにバックアップ するのですか? フロッピディスクへバックアップする最も良い方法は tar tar コマンドに (マルチ・ボリューム) オプションを付けて, 複数のフロッピディスクにまたがるバックアップも できるようにする方法です. カレントディレクトリのすべてのファイルとサブディレクトリを - バックアップするには, 以下のようにします (root で): + バックアップするには, 以下のようにします (root で): &prompt.root; tar Mcvf /dev/fd0 * 1枚目のフロッピディスクがいっぱいになると tar は 次のボリュームを入れるようプロンプトを表示します. ( tar は, さまざまなメディアを扱えるので ボリュームと表示します. ここではフロッピディスクのことです) Prepare volume #2 for /dev/fd0 and hit return: これは(ボリューム番号が増えながら) 指定されたすべてのファイルが 保存されるまで繰り返されます. バックアップを圧縮することはできませんか? tar gzip 圧縮 残念ながら, tar はマルチ・ボリュームに保存する場合は オプションを使うことができません. もちろん, すべてのファイルを gzip してから, フロッピディスクに tar して, ファイルを gunzip することはできます! リストアはどうしますか? 保存したファイルすべてをリストアするには: &prompt.root; tar Mxvf /dev/fd0 特定のファイルのみをリストアする方法は二つあります. まず, 一枚目のフロッピディスクを挿入して次のようにします. &prompt.root; tar Mxvf /dev/fd0 filename tar は, 必要なファイルを見つけるまで, 続きのフロッピディスクを セットするよう表示します. 別の方法として, どのフロッピディスクにファイルが入っているのかが 分かっているなら, そのフロッピディスクを挿入して上記と同じコマンドを 使うこともできます. 最初のファイルが前のフロッピディスクから続いて いる場合は, tar は, 頼みもしないのに, そのファイルはリストア できないと警告します! diff --git a/ja_JP.eucJP/books/handbook/bibliography/chapter.sgml b/ja_JP.eucJP/books/handbook/bibliography/chapter.sgml index 10da847352..29a1e5940c 100644 --- a/ja_JP.eucJP/books/handbook/bibliography/chapter.sgml +++ b/ja_JP.eucJP/books/handbook/bibliography/chapter.sgml @@ -1,685 +1,685 @@ 参考図書 訳: &a.jp.nakai;, 1996 年 10 月 12 日. FreeBSD オペレーティングシステムの個々の部分については マニュアルページで定義のような説明がなされていますが, それらにはどうやってその部分どうしをつなぎあわせて オペレーティングシステム全体を円滑に動作させるかを 説明していないという欠点がよく指摘されます. それを補うためには Unix システム管理についてのよい本や, すぐれた利用者向けのマニュアルが欠かせません. FreeBSD 専門の書籍および雑誌 非英語文化圏の 書籍 & 雑誌: FreeBSD 入門與應用 (中国語). FreeBSD入門キット 98版第二版. 宮嵜忠臣 著. 秀和システム. ISBN 4-87966-535-5 C3055 2900 円. FreeBSD入門キット AT互換機版 第二版. 宮嵜忠臣 著. 秀和システム. ISBN 4-87966-535-5 C3055 2900 円. ここまでできる FreeBSD パワーガイド. 霜山 滋, 仲道 嘉夫, 山中 右次 著. 秀和システム. ISBN 4-87966-637-8 2600円. + url="http://www.shoeisha.co.jp/book/Detail.asp?bid=650"> FreeBSD徹底入門. あさだ たくや / 天川 修平 / 衛藤 敏寿 / 浜田 直樹 / 細川 達己 / 三田 吉郎 著. 翔泳社. ISBN 4-88135-473-6 3600 円. パーソナル UNIX スターターキット FreeBSD. 民田 雅人 / 古場 正行 / 増田 佳泰 / 天池 健 / 宮川 晋 共著. アスキー. ISBN 4-7561-1733-3 3000 円. FreeBSD ハンドブック (日本語版). アスキー. ISBN 4-7561-1580-2 3800 円. FreeBSD mit Methode (ドイツ語版). Computer und Literatur Verlag/Vertrieb Hanser 発行. 1998. ISBN 3-932311-31-0 FreeBSD インストール & 活用マニュアル, 毎日コミュニケーションズ発行. Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo 著 FreeBSD を使ったインターネットサーバの構築 (Building Internet Server with FreeBSD) (インドネシア語), Elex Media Komputindo 発行. 英語の書籍 & 雑誌: - + The Complete FreeBSD, BSDi 発行. The FreeBSD Corporate Networker's Guide, Addison-Wesley 発行. 利用者向けのガイド Computer Systems Research Group, UC Berkeley. 4.4BSD User's Reference Manual. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-075-9 Computer Systems Research Group, UC Berkeley. 4.4BSD User's Supplementary Documents. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-076-7 UNIX in a Nutshell. O'Reilly & Associates, Inc., 1990. ISBN 093717520X Mui, Linda. What You Need To Know When You Can't Find Your UNIX System Administrator. O'Reilly & Associates, Inc., 1995. ISBN 1-56592-104-6 オハイオ州立大学による UNIX Introductory Course. オンラインで HTML 版と PostScript 版が利用可能. FreeBSD 友の会 jpman プロジェクト. FreeBSD User's Reference Manual (日本語訳). 毎日コミュニケーションズ , 1998. ISBN4-8399-0088-4 P3800E. Edinburgh University による UNIX 環境の初心者向け オンラインガイド. 管理者向けのガイド Albitz, Paul and Liu, Cricket. DNS and BIND, 4th Ed. O'Reilly & Associates, Inc., 2001. ISBN ISBN 1-59600-158-4 (訳注: 邦訳は以下のものが出版されています. 高田 広章 / 小島 育夫 監訳 , 小舘 光正 訳. DNS & BIND 第 3 版. オライリー・ジャパン, 1999. ISBN 4-900900-91-5) Computer Systems Research Group, UC Berkeley. 4.4BSD System Manager's Manual. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-080-5 Costales, Brian, et al. Sendmail, 2nd Ed. O'Reilly & Associates, Inc., 1997. ISBN 1-56592-222-0 (訳注: 邦訳は以下の 2 分冊のものが出版されています. 原著の 3 章までが「システム管理」, 4 章が「リファレンス」 に対応します. 中村 素典 監訳, 鈴木 克彦 訳. sendmail システム管理 (Volume1). オライリー・ジャパン, 1997. ISBN 4-900900-40-0 中村 素典 監訳, 鈴木 克彦 訳. sendmail システム管理 (Volume2). オライリー・ジャパン, 1998. ISBN 4-900900-41-9) Frisch, Æleen. Essential System Administration, 2nd Ed. O'Reilly & Associates, Inc., 1995. ISBN 1-56592-127-5 (訳注: 邦訳は以下のものが出版されています. 谷川 哲司 監訳, 黒岩 真吾 / 株式会社ユニテック 訳. UNIX システム管理入門 改訂版. オライリー・ジャパン, 1998. ISBN 4-900900-14-1) Hunt, Craig. TCP/IP Network Administration, 2nd Ed. O'Reilly & Associates, Inc., 1997. ISBN 1-56592-322-7 (訳注: 邦訳は以下のものが出版されています. 村井 純 監訳. TCP/IP ネットワーク管理 第 2 版. オライリー・ジャパン, 1998. ISBN 4-900900-68-0) Nemeth, Evi. UNIX System Administration Handbook. 3rd Ed. Prentice Hall, 2000. ISBN 0-13-020601-6 (訳注: 邦訳は以下のものが出版されています. 井上 尚司 監訳. UNIX システム管理入門. ソフトバンク, 1992. ISBN 4-89052-362-6 原本は第 3 版だが, 訳出は第 1 版のみ) Stern, Hal Managing NFS and NIS O'Reilly & Associates, Inc., 1991. ISBN 0-937175-75-7 (訳注: 邦訳は以下のものが出版されています. 砂原 秀樹 監訳, 倉骨 彰 訳, NFS & NIS. アスキー, 1992. ISBN 4-7561-0273-5) FreeBSD 友の会 jpman プロジェクト. FreeBSD System Administrator's Manual (日本語訳). 毎日コミュニケーションズ, 1998. ISBN4-8399-0109-0 P3300E. プログラマ向けのガイド Asente, Paul, Converse, Diana, and Swick, Ralph. X Window System Toolkit. Digital Press, 1998. ISBN 1-55558-178-1 Computer Systems Research Group, UC Berkeley. 4.4BSD Programmer's Reference Manual. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-078-3 Computer Systems Research Group, UC Berkeley. 4.4BSD Programmer's Supplementary Documents. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-079-1 Harbison, Samuel P. and Steele, Guy L. Jr. C: A Reference Manual. 4rd ed. Prentice Hall, 1995. ISBN 0-13-326224-3 (訳注: 邦訳は以下のものが出版されています. 斎藤 信男監訳. 新・詳説C言語リファレンス [H&Sリファレンス]. ソフトバンク, 1994. ISBN 4-89052-506-8 原本は第4版だが, 訳出は第3版のみ.) Kernighan, Brian and Dennis M. Ritchie. The C Programming Language.. PTR Prentice Hall, 1988. ISBN 0-13-110362-9 (訳注: 邦訳は以下のものが出版されています. 石田 晴久 訳. プログラミング言語 C 第2版(訳書訂正版) 共立出版, 1989. ISBN 4-320-02692-6) Lehey, Greg. Porting UNIX Software. O'Reilly & Associates, Inc., 1995. ISBN 1-56592-126-7 Plauger, P. J. The Standard C Library. Prentice Hall, 1992. ISBN 0-13-131509-9 (訳注: 邦訳は以下のものが出版されています. 福富 寛 / 門倉 明彦 / 清水 恵介 訳. 標準 C ライブラリ ANSI/ISO/JIS C規格. トッパン, 1995. ISBN 4-8101-8541-9) Stevens, W. Richard. Advanced Programming in the UNIX Environment. Reading, Mass. : Addison-Wesley, 1992 ISBN 0-201-56317-7 (訳注: 邦訳は以下のものが出版されています. 大木 敦雄 訳. 詳解 UNIX プログラミング. トッパン, 1994. ISBN 4-89052-524-6) Stevens, W. Richard. UNIX Network Programming. 2nd Ed. PTR Prentice Hall, 1998. ISBN 0-13-949876-1 (訳注: 第 1 版の邦訳は以下のものが出版されています. 篠田 陽一 訳. UNIX ネットワークプログラミング. トッパン, 1992. ISBN 4-8101-8509-5) 第 2 版の邦訳は以下のものが出版されています. 篠田 陽一 訳. UNIX ネットワークプログラミング 第 2 版 Vol.1. トッパン, 1999. ISBN 4-8101-8612-1) Wells, Bill. Writing Serial Drivers for UNIX. Dr. Dobb's Journal. 19(15), December 1994. pp68-71, 97-99. オペレーティングシステム内部 Andleigh, Prabhat K. UNIX System Architecture. Prentice-Hall, Inc., 1990. ISBN 0-13-949843-5 Jolitz, William. Porting UNIX to the 386. Dr. Dobb's Journal. January 1991-July 1992. Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels and John Quarterman The Design and Implementation of the 4.3BSD UNIX Operating System. Reading, Mass. : Addison-Wesley, 1989. ISBN 0-201-06196-1 (訳注: 邦訳は以下のものが出版されています. 中村 明 / 相田 仁 / 計 宇生 / 小池 汎平 訳. UNIX 4.3BSDの設計と実装. 丸善, 1991. ISBN 4-621-03607-6) Leffler, Samuel J., Marshall Kirk McKusick, The Design and Implementation of the 4.3BSD UNIX Operating System: Answer Book. Reading, Mass. : Addison-Wesley, 1991. ISBN 0-201-54629-9 (訳注: 邦訳は以下のものが出版されています. 相田 仁 / 計 宇生 / 小池 汎平 訳. UNIX 4.3BSDの設計と実装. アンサーブック, トッパン, 1991. ISBN 4-8101-8039-5) McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and John Quarterman. The Design and Implementation of the 4.4BSD Operating System. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-54979-4 (この本の第二章が FreeBSD ドキュメンテーションプロジェクト の一部として オンライン で公開されています. また, 第九章は ここ にあります.) Stevens, W. Richard. TCP/IP Illustrated, Volume 1: The Protocols. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-63346-9 Schimmel, Curt. Unix Systems for Modern Architectures. Reading, Mass. : Addison-Wesley, 1994. ISBN 0-201-63338-8 Stevens, W. Richard. TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP and the UNIX Domain Protocols. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-63495-3 (訳注: 邦訳は以下のものが出版されています. 中本 幸一 / 石川 裕次 / 田中 伸佳 訳. 詳解 TCP/IP Vol.3: トランザクション TCP, HTTP, NNTP, UNIX ドメインプロトコル, アジソンウェスレイパブリッシャーズジャパン, 1998. ISBN 4-8101-8039-5) Vahalia, Uresh. UNIX Internals -- The New Frontiers. Prentice Hall, 1996. ISBN 0-13-101908-2 (訳注: 邦訳は以下のものが出版されています. 徳田 英幸 / 中村 明 / 戸辺 義人 / 津田 悦幸 訳. 最前線UNIXのカーネル, ピアソンエデュケーション, 2000. ISBN 4-89471-189-3) Wright, Gary R. and W. Richard Stevens. TCP/IP Illustrated, Volume 2: The Implementation. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-X Messmer, Hans-Peter. The Indispensable PC Hardware Book, 4th Ed. Reading, Mass: Addison-Wesley Pub. Co., 2002. ISBN 0-201-59616-4 セキュリティの参考資料 Cheswick, William R. and Steven M. Bellovin. Firewalls and Internet Security: Repelling the Wily Hacker. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-63357-4 (訳注: 邦訳は以下のものが出版されています. 川副 博 監訳. ファイアウォール. ソフトバンク, 1995. ISBN 4-89052-672-2) Garfinkel, Simson and Gene Spafford. Practical UNIX & Internet Security. 2nd Ed. O'Reilly & Associates, Inc., 1996. ISBN 1-56592-148-8 (訳注: 邦訳は以下のものが出版されています. 山口 英 監訳. UNIX セキュリティ. アスキー, 1993. ISBN 4-7561-0274-3 原本は第 2 版だが, 訳出は第 1 版のみ) Garfinkel, Simson. PGP Pretty Good Privacy O'Reilly & Associates, Inc., 1995. ISBN 1-56592-098-8 ハードウェアの参考資料 Anderson, Don and Tom Shanley. Pentium Processor System Architecture. 2nd Ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-40992-5 Ferraro, Richard F. Programmer's Guide to the EGA, VGA, and Super VGA Cards. 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-62490-7 Intel Corporation は, 自社の CPU やチップセットに関する文書を自社の 開発者向け Web サイト で公開しています. 文書のフォーマットは通常 PDF です. Shanley, Tom. 80486 System Architecture. 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-40994-1 Shanley, Tom. ISA System Architecture. 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-40996-8 Shanley, Tom. PCI System Architecture. 4th ed. Reading, Mass. : Addison-Wesley, 1999. ISBN 0-201-30974-2 Van Gilluwe, Frank. The Undocumented PC, 2nd Ed. Reading, Mass: Addison-Wesley Pub. Co., 1996. ISBN 0-201-47950-8 Unix の歴史 Lion, John Lion's Commentary on UNIX, 6th Ed. With Source Code. ITP Media Group, 1996. ISBN 1573980137 Raymond, Eric s. The New Hacker's Dictionary, 3rd edition. MIT Press, 1996. ISBN 0-262-68092-0 Also known as the Jargon File Saulus, Peter H. A quarter century of UNIX. Addison-Wesley Publishing Company, Inc., 1994. ISBN 0-201-54777-5 Simon Garfinkel, Daniel Weise, Steven Strassmann. The UNIX-HATERS Handbook. IDG Books Worldwide, Inc., 1994. ISBN 1-56884-203-1 Don Libes, Sandy Ressler Life with UNIX — special edition. Prentice-Hall, Inc., 1989. ISBN 0-13-536657-7 (訳注: 邦訳は以下のものが出版されています. 坂本 文 監訳. Life with UNIX. アスキー, 1990. ISBN 4-7561-0783-4 邦訳が Special 版の訳出か否かは不明) BSD 系 OS の系譜図. 1997年. ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/src/share/misc/bsd-family-tree または, FreeBSD-current マシンの ローカルファイル. BSD リリース告知コレクション. 1997. http://www.de.FreeBSD.ORG/de/ftp/releases/ Networked Computer Science Technical Reports Library . http://www.ncstrl.org/ Computer Systems Research group (CSRG) からの古い BSD リリース集 http://www.mckusick.com/csrg/: この 4 枚 CD セットには, 1BSD から 4.4BSD までと 4.4BSD-Lite2 が含まれます (残念ながら 2.11BSD は含まれていません). また 4 枚目の CD には, 最終ソースおよび SCCS ファイルが含まれています. 雑誌とジャーナル The C/C++ Users Journal. R&D Publications Inc. ISSN 1075-2838 Sys Admin — The Journal for UNIX System Administrators Miller Freeman, Inc., ISSN 1061-2688 diff --git a/ja_JP.eucJP/books/handbook/contrib/chapter.sgml b/ja_JP.eucJP/books/handbook/contrib/chapter.sgml index 44af8a02fe..4a9cc5c2cf 100644 --- a/ja_JP.eucJP/books/handbook/contrib/chapter.sgml +++ b/ja_JP.eucJP/books/handbook/contrib/chapter.sgml @@ -1,698 +1,698 @@ Jordan Hubbard 寄稿: FreeBSD への貢献 貢献 あなたも何か FreeBSD のために貢献したくなりましたか? 素晴らしい! 私たちは常に支援を受ける用意がありますし, FreeBSD は生き残るためにユーザベースの貢献に頼るようなシステムの一つです. あなたの貢献は感謝されるだけではなく, FreeBSD が成長し続けるために極めて重要なものな のです! 一部の人達が言っているのとは逆に, 貢献を受け付けてもらうために腕利 きのプログラマーになるとか FreeBSD コアチームの人と親友になる必要はありません. FreeBSD プロジェクトの開発は, 多くのそして益々増加する世界中の貢献者達によってなされており, 彼らの年齢, 専門技術分野は多岐に渡ります. そして手の空いている人よりも成されるべき仕事の方が常に多いのです. FreeBSD プロジェクトがカーネルや散在しているユーティリティよりも, オペレーティングシステム環境 (と, そのインストール) に対して責任を持つ ようになったため, 私たちの TODO リストはドキュメンテーション, ベータテスト, 高度に専門化されたタイプのカーネル開発の好例を紹介するなど非常に広い範囲のタスクに渡ります. あなたの技能レベルに関わらず, プロジェクトを支援できることが必ず何かあります! FreeBSD 関連の事業に従事している商業団体が私たちにコンタクトすることも歓迎します. あなたの製品を (FreeBSD 上で) 動作させるには, 特別な拡張が必要ではありませんか? あまりにも風変わりな要求でなければ, それを受け入れる用意が私たちにあるとわかるはずです. 付加価値のある製品ですか? 私たちに知らせてください! 多分私たちは, ある面において共同して作業をすることができるでしょう. フリーソフトウェア界は, ソフトウェアがそのライフサイクルを通してどのように開発され, 売られ, 保守されていくかについて, 既存の仮説に挑戦しています. 少なくとももう一度考慮してみることを私たちは強くお奨めします. 何が必要? 次のタスクとサブプロジェクトのリストは, コアチームの色々な TODO リストと最近2ヶ月で集めたユーザリクエストを合わせたものです. 可能なところでは, 緊急度によってタスクがランクづけされています. もしここにあるタスクの実行に興味があるのでしたら, コーディネータの名前をクリックしてメールを送ってください. もしコーディネータが決まっていなければ, あなたがボランティアしてみませんか? 進行中のタスク 次のタスクはやっておくべきではありますが, 特にさし迫っているわけではありません: 完全な KLD ベースのドライバのサポート / コンフィグレーションマネージャ. 穏やかな方法でハードウェアを検知するコンフィグレーションマネージャの作成 (第3ステージ・ブートの中に?). ハードウェアが必要とする KLD だけを残す等. PCMCIA/PCCARD. コーディネータ: &a.msmith; と &a.imp; ドキュメンテーション! pcic ドライバの信頼性のある操作 (テスト要). sio.c のリコグナイザとハンドラ (ほぼ完了). ed.c のリコグナイザとハンドラ (ほぼ完了). ep.c のリコグナイザとハンドラ (ほぼ完了). User-mode のリコグナイザとハンドラ (部分的に完了). 先進的なパワーマネージメント. コーディネータ: &a.nate; と &a.phk; APM サブドライバ (ほぼ完了). IDE/ATA ディスクサブドライバ (部分的に完了). syscons/pcvt サブドライバ. PCMCIA/PCCARD ドライバ群との統合 (サスペンド / レジューム). 優先度の低いタスク 次のタスクは全くのあら隠し, または誰もすぐにおこないそうもない投資のような仕事を表します: 最初の N 項目は Terry Lambert terry@lambert.org からのものです. ネットワークカードと一緒に提供される ODI カードドライバを使用できるようにする, NetWare サーバ (プロテクトモードの ODI ドライバ) ローダとサブサービス. NDIS ドライバと NetWare の SCSI ドライバについても同様. 前のリビジョンの FreeBSD マシンではなく, Linux マシンで動作する 「アップグレードシステム」オプション. カーネルのマルチスレッド化 (カーネルのプリエンプションが必要). カーネルのプリエンプション付き対称マルチプロセッシング (カーネルのプリエンプションが必要). ポータブルコンピュータのサポートにおける協調の試み. これは PCMCIA ブリッジング規則と電源管理イベント処理の変更により, いくらかは処理できます. しかし, 内蔵ディスプレイと外部ディスプレイの検出, この 2 種類のディスプレイがあるという事実に基づく異なる解像度の選択, マシンがドックにある場合にはディスクのモータ停止を防止すること, マシンのブート能力に影響を与えずにドックベースのカードの消滅を可能にすること (PCMCIA と同じ問題) などの問題があります. もっと簡単なタスク 上のセクションで挙げたタスクは膨大な時間の投資または FreeBSD のカーネルに関する深い知識を必要とします (もしくはそのどちらも). しかしながら, "週末ハッカー"やプログラミングのスキルを持たない人々に適した立派なタスクも数多くあります. FreeBSD-current を運用しており, 状態の良いインターネット接続があるならば, current.FreeBSD.org という一日に一回フルリリースを行っているマシンがあります — 時おり最新のリリースをそこからインストールし, その過程で何か問題があるなら報告して下さい. freebsd-bugs メーリングリストを読んでください. そこではあなたが建設的なコメントを付けたりテストできるパッチが提供されているような問題がある かもしれません. もしくはそれらの問題の一つをあなた自身で修正することさえできるかもしれません. 定期的に FAQ とハンドブックを通して読んでみてください. もしまずい説明や古い事柄や完全に間違っていることなどがあれば我々に知らせて下さい. さらに良いのは我々に修正案を送ることです (SGML は学ぶのにそれほど難しくありませんが, プレインテキストでも問題はありません). (もしまだないならば) FreeBSD のドキュメントを自分の母国語に翻訳するのを手伝ってください — 作業している人がいるかどうか &a.doc; にメールを送って聞くだけです. とはいっても, そうすることによってあなたが全ての FreeBSD ドキュメントの翻訳に携わるようになるというわけではないですからね — 実際, もっとも翻訳が必要とされているドキュメントはインストール方法です. たまに(もしくは定期的に) freebsd-questions メーリングリストや + comp.unix.bsd.freebsd.misc を読んでください. これは, あなたの持っている専門知識を共有したり誰かが抱えている問題を解決するのに非常に有効なものになり得ることです. 時にはあなた自身で新しいことを学ぶことさえできるかもしれません. これらのフォーラムはやるべきことのアイディアの源にもなり得るのです. -current に正しく当てられるがしばらく経っても(通常は 2, 3 週間) -stable に取り込まれてないようなバグフィックスがあるならばコミッターに丁寧に思い出させてください. 寄贈ソフトウェアをソースツリーの src/contrib に移動させてください. src/contrib 以下のコードが最新のものであるか確認してください. 警告を詳細に報告するようにして ソースツリー全体(もしくはその一部)を構築してみてください. そして警告が出ないようにしてください. ports で, gets() を使っているとか malloc.h をインクルードしているなどといった警告が出ないようにしてください. もしなんらかの ports に関わっているなら, あなたのパッチを作者にフィードバックしてください (次のバージョンが出た時にあなたが楽になります). このリストに追加するタスクを提案して下さい! 障害報告 (PR; Problem Report) データベースにおける作業 障害報告 (PR) データベース FreeBSD 障害報告リストでは, 現在問題となっている報告と, FreeBSD の利用者によって提出された改良の要望に関する全てのリストを公開しています. open 状態の障害情報を見て, 興味を引く内容かどうか確かめて下さい. 本当に複雑なものも含まれているでしょうし, 例えば, 障害報告に対する修正がちゃんとしたものであるかどうか単にチェックするだけのとても簡単な作業もあるでしょう. まず, まだ誰にも割り当てられていない障害報告から作業を始めて下さい. もし, 誰か他の人に割り当てが決まっているけれども自分が作業可能だ, というものがあれば, 作業ができるかどうか — 既にテスト用パッチが用意されているのかどうか, あるいは その問題についてあなたが考えている, より進んだ考えに関して議論ができるかどうか, 割り当てられている人に電子メールで問い合わせて下さい. 貢献の仕方 一般的に, システムへの貢献は次の 6 つのカテゴリの1つ以上に分類されます: バグ報告と一般的な論評 報告するべきバグがあったり, 提案したいことがあれば: 一般的な 技術的関心事に関するアイデアや提案は &a.hackers; へメールしてください. 同様に, このような事柄に興味のある (そして膨大なメール! に耐えられる) 人は, &a.majordomo; へメールを送って hackers メーリングリストに参加すると良いでしょう. 情報については メーリングリスト を参照してください. バグを発見したり変更を送付しようとしている場合は &man.send-pr.1; プログラムか ウェブベースの send-pr を使用して報告してください. バグレポートの各項目を埋めるようにしてください. 65KB を超えるのでなければ, レポート中に直接パッチを入れてくださって結構です. パッチがソースツリーにすぐ適用できるものならば, 報告の概要に [PATCH] と書いておいてください. その場合, カット&ペーストはしないでください. カット&ペーストではタブがスペースに展開されてパッチが使い物にならなくなってしまいます. 20KB を超える場合は, それらを compress して &man.uuencode.1; することも検討してください. とても大きくなる場合は ftp://ftp.FreeBSD.org/pub/FreeBSD/incoming/ を利用してください. レポートがファイリングされれば, バグ報告の確認とトラッキング番号をメールで受け取るはずです. このトラッキング番号を覚えておき, 問題に関する詳細情報を bug-followup@FreeBSD.org に メールで送って更新できるようにしてください. 例えば "Re: kern/3377" のように, この番号をサブジェクト行に使用してください. すべてのバグレポートの追加情報は, この方法で送付されなければいけません. もしタイムリに (あなたの電子メール接続形態にもよりますが, 3日から 1週間) 確認を受けとれないとか, 何らかの理由で &man.send-pr.1; コマンドが使用できない場合には, &a.bugs; へメールを送り, 誰か代りにバグ報告を送付してもらうようたずねてください. 文書の変更 文書に関する提案 文書の変更は &a.doc; が監督しています. バグ報告と一般的な論評 に記述されているように send-pr コマンドを使用して, 提案や変更 (どんな些細なものでも歓迎します!) を送ってください. 現存のソースコードの変更 FreeBSD-current 現存のソースコードへの追加または変更は, いくらかトリッキーな仕事で あり, core の FreeBSD 開発の現状にあなたがどれだけ通じているかに大きく依存します. FreeBSD-currentとして知られる FreeBSD の特別な継続的リリースがあります. FreeBSD-current は開発者の積極的な活動の便宜のために, 色々な方法で利用可能になっています. FreeBSD-current の入手と使用方法についての詳しい情報については最新の FreeBSD を追いかける を参照してください. 不幸にして古いソースをもとに仕事をすることは, 時々あなたの変更が時 代遅れ, または FreeBSD への簡単な再統合に合わなくなっていることを意味します. システムの現状に関する議論がおこなわれている &a.announce; と &a.current; へ参加することで, この可能性を最小限にすることができます. 完全な最新のソースを変更のベースにできることが確実になったと仮定して, 次のステップは FreeBSD の保守担当者へ送る差分ファイルの生成です. これは &man.diff.1; コマンドを使用しておこないますが, context diff形式が好まれるようです. 例えば: diff &prompt.user; diff -c oldfile newfile または &prompt.user; diff -c -r olddir newdir これで指定されたソースファイルまたはディレクトリ階層に対するコンテキスト形式の差分が生成されます. 詳しい説明は &man.diff.1; のマ ニュアルページを参照してください. 差分ファイル (&man.patch.1; コマンドでテストできます) を作ったら, それらを FreeBSD に含めてもらうようメールで送ってください. バグ報告と一般的な論評 に記述されているように &man.send-pr.1; コマンドを使用してください. 差分ファイルだけを &a.hackers; へ送ってはいけません. 途方にくれてしまいます! 私たちは多忙なので, あなたの提案に大変感謝します (これはボランティアのプロジェクトです!). すぐに取りかかることはできませんが, 処理されるまではちゃんと PR データベースに残っています. 報告の概要に [PATCH] と書いてあなたの提案を表明してください. uuencode あなたがそうした方がいいと思う場合 (例えば, ファイルの追加, 削除または名称変更など), 変更を tar ファイルにまとめ, &man.uuencode.1; プログラムにかけてください. shar アーカイブも歓迎します. 例えばあなたがそれ自身のさらなる配布を管理するコピーライト問題を良く分かっていないとか, 単に厳しいレビューをおこなっておらず, リリースする準備ができていないなど, あなたの変更が潜在的に不安定な性質をも つものである場合, &man.send-pr.1; で送付するよりむしろ &a.core; へ直接送ってください. コアチームメーリングリスト宛のメールは, 日々の仕事のほとんどを FreeBSD でおこなっている人たちの, より小さなグルー プに届きます. このグループもまたとても忙しいことに注意して, 本当に必要な場合にコアチームの彼らにメールを送るだけにしてください. コーディングスタイルに関する情報は &man.intro.9; および &man.style.9; を参照してください. コードを提出する前には, 少なくともこの情報を意識しておいてくださるようお願いします. 新たなコードやメジャーな付加価値の高いパッケージ 重要な大きい仕事の寄贈や, 重要な新しい機能を FreeBSD に追加する場合には, 変更点を tar/uuencode したファイルにして送るか, それらを web や FTP サイトへアップロードしてアクセスできるようにすることのどちらかが通常必要になります. web や FTP サイトへのアクセスができないときは適切な FreeBSD のメーリングリストで誰かに変更を受け取って貰ってください. 大量のコードを伴った仕事の場合, コピーライトの神経過敏な問題が常に出てきます. FreeBSD に含めるコードのコピーライトとして受け入れることができるのは, 以下の二つです: BSD copyright BSD コピーライト. このコピーライトは権利に縛られない性格と商用企業にとって一般的な魅力をもつために最も好まれます. FreeBSD プロジェクトは商用利用を阻んだりせず, 何かを FreeBSD へ投資する気になった商業関係者による参加を積極的に奨励します. GPLGNU General Public License GNU General Public License GNU一般公有使用許諾, またはGPL. このライセンスはコードを商用目的に使用する場合に余分な努力が求められるため, 私たちにあまり評判が良いというわけではありません. しかし, 私たちは既に GPL 下の高品質なコード (コンパイラ, アセンブラ, テキストフォーマッタ等) の提供を受けており, 私たちは現在それを必要としています. そのため, このライセンスによる新たな貢献を拒絶するというのは愚かなことでしょう. GPL 下のコードはソースツリー の別の部分, 現在のところ /sys/gnu/usr/src/gnu に入っています. そのため, GPL が問題となるような人は, 誰でも簡単にそれとわかるようになっています. これ以外のタイプのコピーライトによる寄贈は, FreeBSD へ含めることを考慮する前に, 注意深いレビューを受けなければなりません. 作者が独自のチャネルを通して配布しており, そのような変更をおこなうことを常に奨励している場合でも, 特に限定的な商用のコピーライトが適用される寄贈は一般に拒否されます. あなたの作品に BSD- スタイルのコピーライトを付けるには, 保護したいソースコードファイルすべての一番最初に以下のテキストを入れて, %% の間を適切な情報に置き換えください. Copyright (c) %%適切な年%% %%あなたの名前%%, %%あなたの州%% %%郵便番号%%. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY %%あなたの名前%% ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL %%あなたの名前%% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Id$ 便宜をはかるため, このテキストのコピーは次の場所に置いてあります. /usr/share/examples/etc/bsd-style-copyright. (訳注: 以下は神田敏広氏より寄贈された bsd-style-copyright の日本語訳です. ソースファイルに含めるものは原文の方であることに注意してご利用ください. また, 原文との間に趣旨の差異が生じた場合, 原文の内容が FreeBSD プロジェクトの意思であるものとします.) Copyright (C) [年] [あなたの名前] All rights reserved. ソースとバイナリ形式の再配布および使用は, 変更の有無にかかわらず以下の 条件を満たす場合に限り許可される: 1. ソースコードの再配布は, 上記の著作権表示・この条件のリスト・下記の 否認声明文を保持しなければならない. 2. バイナリ形式の再配布は, 上記の著作権表示・この条件のリスト・下記の 否認声明文を, 配布物と共に提供される文書および/または他の資料の中に 含めなければならない. (訳注:ここから「否認声明文」です) このソフトウェアは[あなたの名前]および貢献者によって ``あるがままの状態'' で提供され, 商品性と特定の目的に対する適合性についての暗黙の保証に留ま らず, いかなる明示および暗黙の保証を認めない. [あなたの名前]および貢献 者は, あらゆる直接的・間接的・偶発的・特殊的・典型的・必然的な損害 (代 替製品または代替サービスの獲得費; 効用・データ・利益の喪失; または業務 中断を含み, またそれだけに留まらない損害) に対して, たとえどのようにし て生じたとしても, そしてこのソフトウェアの使用によってどのようにであれ 生じる, 契約上であろうと, 厳密な責任内であろうと, あるいは不正行為 (過 失やそうでない場合を含む) における場合であろうとも, いかなる責任論上も, たとえそのような損害の可能性が予見されていたとしても, 一切の責任を持た ない. 翻訳: 神田敏広 御協力 (五十音順・敬称略): 池田研二, 内川 喜章, 藤村 英治, むらたしゅういちろう 杢野 雅一, 横田@宇都宮 金銭, ハードウェアまたはインターネットアクセス FreeBSD プロジェクトの目的を進めるための寄付や, 私たちと同じような ボランティアの細く長い!努力を, 私たちは常に喜んで受け入れています. また一般的に私たちは自分達で周辺機器を買う資金が不足しているため, 周辺機器のサポートを充実させるのにハードウェアの寄付はとても重要です. 資金の寄付 FreeBSD財団は, FreeBSD プロジェクトの目標を推進するために確立された非営利的で税金を免除された財団です. 501(c)3 の実体として, 財団はコロラド州所得税ならびに, アメリカ連邦主義者所得税を一般に免除されています. 免税実体への寄付は, しばしば有税の連邦政府の所得から差し引くことができます. 寄付は以下に送ってください.
The FreeBSD Foundation 7321 Brockway Dr. Boulder, CO 80303 USA
財団はまだクレジットカード, およびPayPalといった他の形式の支払いを受け入れることができません.
FreeBSD 財団に関するこれ以上の情報は The FreeBSD Foundation -- an Introduction を見てください. 財団への email での連絡は bod@FreeBSDFoundation.org へどうぞ.
ハードウェアの寄贈 寄贈 FreeBSD プロジェクトは, 次の3つのカテゴリのどんなハードウェアの寄贈も, 喜んで受け付けます: ディスクドライブ, メモリまたは完全なシステムといった一般用途のハードウェアは, 資金の寄付の節にある FreeBSD, Inc. の住所まで送っ てください. 進行中の受け入れテストのためのハードウェアが必要とされています. 新たなリリース毎に適切な逆行テストができるように, 私たちは現在, FreeBSD がサポートするすべてのコンポーネントのテストラボを設置しよう としています. 私たちにはまだ, たくさんの重要な部品 (ネットワークカード, マザーボードなど) が不足していますので, このような寄贈をしたいと思っているならば, &a.dg; へコンタクトしてどの部品がまだ必要とされているかの情報を得てください. 現在 FreeBSD にサポートされていないハードウェアで, サポートに追加して欲しいもの. 私たちが新しいハードウェアを受けとる前にそのタスクを引き受けてくれる開発者を探す必要があるため, その部品を送る前に &a.core; にコンタクトを取ってください. インターネットアクセスの寄付 私たちは常に FTP, WWW や cvsup の新しいミラーサイトを募集しています. - ミラーサイトになりたい場合には the FreeBSD project - administrators hubs@FreeBSD.org + ミラーサイトになりたい場合には &a.hubs; にコンタクトを取って, 詳しい情報を手に入れてください.
diff --git a/ja_JP.eucJP/books/handbook/introduction/chapter.sgml b/ja_JP.eucJP/books/handbook/introduction/chapter.sgml index 99170db98a..9cc20b8bd8 100644 --- a/ja_JP.eucJP/books/handbook/introduction/chapter.sgml +++ b/ja_JP.eucJP/books/handbook/introduction/chapter.sgml @@ -1,981 +1,981 @@ Jim Mock 改訂: はじめに この章では FreeBSD に興味を持っていただきありがとうございます! この章では FreeBSD の歴史, 目標, 開発モデルなど, FreeBSD プロジェクトに関するさまざまな事柄を扱います. この章に書かれている話題は, 次のようなものです. FreeBSD とその他のオペレーティングシステムとの違い FreeBSD プロジェクトの歴史 FreeBSD プロジェクトの目標 FreeBSD オープンソース開発モデルの基本的な考え方 そして, "FreeBSD" という名前の由来について FreeBSD へようこそ! 4.4BSD-Lite FreeBSD は, Intel アーキテクチャ (x86) と DEC Alpha ベースの システム用の 4.4BSD-Lite をベースとしたオペレーティングシステムです. 他のアーキテクチャに対する移植も進行中です. FreeBSD の概要については, 次のセクションをご覧ください. FreeBSD の歴史や, 現在のリリースについても読むことができます. プロジェクトへの何らかの貢献 (ソースコード, ハードウェア, 資金の提供など) について興味があれば, FreeBSD への貢献をご覧ください. FreeBSD で何ができるの? FreeBSD には多くの注目すべき機能があります. 例を挙げれば以下のようになります: プリエンプティブマルチタスキング 優先度を動的に調節する機能を備えることで アプリケーションとユーザとの間で円滑かつ公平な コンピュータ資源共有を実現し, 特に高い負荷にも耐えることができる堅牢さを備えた プリエンプティブマルチタスキング. マルチユーザ機能 多くの人々が 1 つの FreeBSD システムをさまざまな目的で同時に使うことを可能にする マルチユーザ機能. これは例えば, プリンタやテープデバイスといったシステムの周辺機器が, そのシステムを利用する全てのユーザだけでなく ネットワーク経由においても自然な形で共有され, さらに重要なシステム資源の使い過ぎを防ぐために 個々の資源に対する制限がユーザ単位, グループ単位で設定できる, というようなことを意味しています. TCP/IP ネットワーキング SLIP や PPP, NFS, DHCP, NIS といった業界標準規格の サポートを含んだ堅固な TCP/IP ネットワーキング. これによって, FreeBSD マシンが商用サーバと同じように相互に運用でき, NFS(リモートファイルアクセス)や, 電子メールサービスのような 極めて重要な機能を提供します. また, WWW や FTP, ルーティング, ファイアウォール (セキュリティ) サービスを用いてインターネットと 接続できます. メモリ保護 アプリケーション (あるいはユーザ) がお互いに干渉できない ようにするメモリ保護機能. アプリケーションがクラッシュしても, どのような場合でも 他のアプリケーションには影響を与えません. FreeBSD は 32ビット のオペレーティングシステム(Alpha 版は 64 ビット)であり, 最初からそのようにこつこつと設計されました. X Window System XFree86 業界標準であるX Windowシステム (X11R6) は, 普通のVGAカードやモニタでグラフィカルユーザ インタフェース (GUI) を提供し, すべてのソースコードも一緒に提供されます. バイナリ互換性 Linux バイナリ互換性 SCO バイナリ互換性 SVR4 バイナリ互換性 BSD/OS バイナリ互換性 NetBSD Linux や SCO, SVR4, BSDI, NetBSD 用に作られた多くの プログラムとのバイナリ互換性. 何千ものすぐに実行可能な アプリケーションが FreeBSD の portspackages コレクションで利用可能です. ここに用意されているものは ネットを探し回る必要がありません インターネット上で入手可能な, 移植が容易な 何千ものアプリケーションを追加できます. FreeBSD は最も評判のよい商用の Unix システムとソースコードレベルで互換性があります. このため, ほとんどのアプリケーションは, もしあったとしてもほんの 少しの変更でコンパイルすることができます. 仮想メモリ デマンドページング仮想メモリ とそれに付随の VM/buffer キャッシュの設計は, 多くのメモリを要求する アプリケーションに対して効率よくメモリを 与えるようにする一方で, 他のユーザに対しても対話的な応答を維持します. 対称型マルチプロセッシング (SMP) 複数の CPU を搭載したマシンにおける SMP 機能のサポート. コンパイラ C コンパイラ C++ コンパイラ Fortran 完全な CC++, Fortran, Perl の 開発ツール. 進んだ研究や開発のための多くの他の言語も ports や packages コレクションで提供されています. ソースコード システム全体のソースコード が提供されているので, 要求に合わせて環境を最大限に適合させることができます. 真のオープンシステムが利用できるのですから, 所有権のある解決方法に締めつけられ, ベンダのなすがままになる必要はありません. 膨大な量の オンラインドキュメント. もう書ききれません! 4.4BSD-Lite - Computer Systems Resarch Group (CSRG) + Computer Systems Research Group (CSRG) U.C. Berkeley FreeBSD はカリフォルニア大学バークレイ校のComputer Systems Research Group (CSRG) による4.4BSD-Lite リリースを基にしており, BSDシステムの開発の優れた伝統を守り続けています. CSRGによる素晴らしい活動に加えて, FreeBSDプロジェクトは何千時間もの時間を注ぎ込んで, 実際の使用の場において最大の性能と信頼性を 発揮するためにシステムのチューニングをおこなっています. 多くの大企業がPCオペレーティングシステムの分野で 実現しようと奮闘しているそのような機能や性能, 信頼性を FreeBSDは今すぐ提供できます! あなたの思いつく限りのアプリケーションは, 何でもFreeBSDで 実行できます. ソフトウェア開発からファクトリオートメーション, 在庫制御から遠く離れた人工衛星のアンテナの方向調整まで; 商用 Unix 製品でできることは, FreeBSDでも十分にできるのです! また, FreeBSDは世界中の研究センターや大学によって開発される 文字通り何千もの高品質で, たいていはほとんど無料で利用できる アプリケーションによる恩恵を得ることができます. 商用のアプリケーションも提供されており, 日々増え続けています. FreeBSDのソースコードは広く提供されているので, システムも特別なアプリケーションやプロジェクトに合わせて, いくらでもカスタマイズすることができます. これは有名な商業ベンダから出ているほとんどのオペレーティング システムでは不可能なことです. 以下に現在 FreeBSD を 使っている人々のアプリケーションの例をいくつか上げます: インターネットサービス: FreeBSDに組み込まれている 頑強な TCP/IP ネットワーキング機能は次のようなさまざまなインターネット サービスの理想的なプラットフォームになります: FTP サーバ FTP サーバ web サーバ World Wide Web サーバ(標準, もしくは安全な [SSL]) ファイアウォール IP マスカレード ファイアウォールと NAT (IP マスカレード) ゲートウェイ 電子メール 電子メールサーバ USENET USENET ニュースおよび電子掲示板システム さらにいろいろ... FreeBSD を利用すれば, 小規模で安価な 386 クラスの PC でも気軽に導入することができますし, 事業の成長に合わせてアップグレードした 4 つの Xeon プロセッサと RAID ストレージデバイスを 備えたシステムでも, 全くそのまま使うことができるのです. 教育: あなたは計算機科学または工学の学生ですか? オペレーティングシステムやコンピュータアーキテクチャ, ネットワーキングを学習するなら, FreeBSD を手に 経験するのが一番よい方法です. 自由に利用できる CAD や数学, グラフィックデザインのパッケージもいくつもあり, コンピュータに関心を持った人が他の人 の成果を手に入れて利用するのにとても役に立ちます. 研究: システム全体のソースコードが利用できるため, FreeBSD はオペレーティングシステムの研究だけでなく, 計算機科学の他の部門においても優れたプラットフォームです. 自由に利用できる FreeBSD の特長は, オープンフォーラムで 議論される特別なライセンスの同意や制限について心配することなく, 離れたグループでもアイディアや開発の共有による共同研究を可能にします. ルータ DNS サーバ ネットワーキング: 新しいルータが必要? ネームサーバ (DNS) は? 内部のネットワークを人々から守るファイアウォールは? FreeBSD はすみに眠っている使われていない 386 や 486 の PC を簡単に 洗練されたパケットフィルタリング機能を持つ高級なルータに 変えることができます. X Window System XFree86 X Window System Accellerated-X X Windowワークステーション: 自由に利用できる XFree86 サーバや X Inside 社から提供される 優れた商業サーバを使うことによって, 安価な X 端末 として FreeBSD を使うこともできます. X 端末とは違っ てFreeBSD は多くのアプリケーションをローカルに走らせることもでき, 中心のサーバの負荷を軽減することも可能です. FreeBSD はディスクレスでもブート可能であり, 個々のワークステーションを安価で, 容易に管理することさえ 可能にします. GNU Compiler Collection ソフトウェア開発: 基本的な FreeBSD システムには 有名 なGNU の C/C++ コンパイラやデバッガ含んだ完全な開発ツールがついてきます. FreeBSD は CDROM または anonymous FTP によってソース, バイナリとも利用可能です. 詳しくは をご覧ください. FreeBSD はどこに使われていますか? ユーザ FreeBSD を利用している大規模サイト FreeBSD は, 以下のサイトに代表されるような, インターネット上で最大クラスのサイトで利用されています. Yahoo! Yahoo! Hotmail Hotmail Apache Apache Be, Inc. Be, Inc. Blue Mountain Arts Blue Mountain Arts Pair Networks Pair Networks Whistle Communications Whistle Communications Microsoft Microsoft Hotmail Hotmail Sony Japan Sony Japan また, この他にもあります. FreeBSD プロジェクトについて 以下の節では簡単な歴史やプロジェクトの目標, 開発モデルなど, 普段は表にでない話題を提供しています. Jordan Hubbard 寄稿: FreeBSD 小史 386BSD Patchkit Hubbard, Jordan Williams, Nate Grimes, Rod FreeBSD プロジェクト History FreeBSD プロジェクトは 1993 年の始めに Unofficial 386BSD Patchkit の最後の 3 人のまとめ役によって, 部分的に patchkit から派生する形で開始されました. ここでの 3 人のまとめ役というのは, Nate Williams と, Rod Grimes と, 私 (Jordan K. Hubbard) です. 386BSD 私たちのもともとの目標は, patchkit という仕組みではもう十分に解決できなくなってしまった 386BSD の数多くの問題を修正するための, 386BSD の暫定的なスナップショットを作成することでした. こういった経緯を経ているので, このプロジェクトの初期の頃の名前が 386BSD 0.5 386BSD 暫定版 (Interim) であったということを覚えている人もいるでしょう. Jolitz, Bill 386BSD は, Bill Jolitz が (訳注: バークレイ Net/2 テープを基に) 作成したオペレーティングシステムです. 当時の 386BSD は, ほぼ一年にわたって放っておかれていた (訳注: 作者がバグの報告を受けても何もしなかった) というひどい状況に苦しんでいました. 作者の代わりに問題を修正し続けていた patchkit は日を追うごとに不快なまでに膨張してしまっていました. このような状況に対して, このままではいけない, 何か行動を起こさなければ, ということで異議を唱えるものは私たちのなかにはいませんでした. そして私たちは挑戦することを決断し, 暫定的なクリーンアップスナップショットを作成することで Bill を手助けしようと決めたのです. しかし, この計画は唐突に終了してしまいました. Bill Jolitz が, このプロジェクトに対する受け入れ支持を取り下げることを突然決意し, なおかつこのプロジェクトの代わりに何をするのかを一切言明しなかったのです. Greenman, David Walnut Creek CDROM たとえ Bill が支持してくれないとしても, われわれの目標には依然として やる価値があると決心するのにさしたる時間はかかりませんでした. そこで David Greenman が考案した名称 FreeBSD を私たちのプロジェクトの名前に採用し, 新たなスタートを切りました. この時点でのプロジェクトの初期目標は, すでにこのシステム (訳注: 386BSD + Patchkit) を使っていた利用者たちと相談して決められました. プロジェクトが実現に向けて軌道に乗ってきたことが明確になった時点で, 私は Walnut Creek CDROM 社に連絡してみました. CDROM を使って FreeBSD を配布することによって, インターネットに容易に接続できない多くの人々が FreeBSD を簡単に入手できるようになると考えたからです. Walnut Creek CDROM 社は FreeBSD を CD で配布するというアイデアを採用してくれたばかりか, 作業するためのマシンと高速なインターネット回線を私たちのプロジェクトに提供してくれました. 当時は海のものとも山のものともわからなかった私たちのプロジェクトに対して, Walnut Creek CDROM 社が信じられないほどの信頼を寄せてくれたおかげで, FreeBSD は短期間のうちにここまで大きく成長したのです. 4.3BSD-Lite Net/2 U.C. Berkeley 386BSD Free Software Foundation CDROM による最初の配布 (そしてネットでの, ベータ版ではない最初の一般向け配布) は FreeBSD 1.0 で, 1993 年 12 月に公開されました. これはカリフォルニア大学バークレイ校の 4.3BSD-Lite (Net/2) を基とし, 386BSD や Free Software Foundation からも多くの部分を取り入れたものです. これは初めて公開したものとしては十分に成功しました. 続けて 1994 年 5 月に FreeBSD 1.1 を公開し, 非常に大きな成功を収めました. Novell U.C. Berkeley Net/2 AT&amp;T この時期, あまり予想していなかった嵐が遠くから接近してきていました. バークレイ Net/2 テープの法的な位置づけについて, Novell 社とカリフォルニア大学バークレイ校との間の長期にわたる 法廷論争において和解が成立したのです. 和解の内容は, Net/2 のかなりの部分が権利つき (encumbered) コードであり, それは Novell 社の所有物である, というバークレイ校側が譲歩したものでした. なお, Novell 社はこれらの権利を裁判が始まる少し前に AT&T 社から買収していました. 和解における譲歩の見返りにバークレイ校が得たのは, 4.4BSD-Lite が最終的に発表された時点で, 4.4BSD-Lite は権利つきではないと公式に宣言されること, そしてすべての既存の Net/2 の利用者が 4.4BSD-Lite の利用へと移行することが強く奨励されること, という Novell 社からのありがたき天からの恵みでした. (訳注: 4.4BSD-Lite はその後 Novell 社のチェックを受けてから公開された.) FreeBSD も Net/2 を利用していましたから, 1994年の 7月の終わりまでに Net/2 ベースの FreeBSD の出荷を停止するように言われました. ただし, このときの合意によって, 私たちは締め切りまでに一回だけ最後の公開をすることを許されました. そしてそれは FreeBSD 1.1.5.1 となりました. それから FreeBSD プロジェクトは, まっさらでかなり不完全な 4.4BSD-Lite を基に, 文字どおり一から再度作り直すという, 難しくて大変な作業の準備を始めました. Lite バージョンは, 部分的には本当に軽くて, 中身がなかったのです. 起動し, 動作できるシステムを実際に作り上げるために必要となるプログ ラムコードのかなりの部分がバークレイ校の CSRG (訳注: BSDを作っているグループ) によって (いろいろな法的要求のせいで) 削除されてしまっていたということと, 4.4BSD の Intel アーキテクチャ対応が元々かなり不完全であったということがその理由です. この移行作業は結局 1994 年の 11 月までかかりました. そしてその時点で FreeBSD 2.0 をネットと CDROM (12 月末ごろ)を通じて公開しました. これは, かなり粗削りなところが残っていたにもかかわらず, かなりの成功を収めました. そしてその後に, より信頼性が高く, そしてインストールが簡単になった FreeBSD 2.0.5 が 1995 年の 6 月に公開されました. 私たちは 1996 年の 8 月に FreeBSD 2.1.5 を公開しました. この出来が非常に良く, 特に業務で運用しているサイトや ISP での人気が高かったので, 私たちは 2.1-STABLE 開発分流から更に公開をおこなうことにメリットがあると考えました. それが FreeBSD 2.1.7.1 で, 2.1-STABLE 開発分流の最後を締めくくるものとして, 1997年の 2月に公開されました. 2.1-STABLE 開発分流 (RELENG_2_1_0) は現在, 保守のみをおこなう状態になっており, 今後は, セキュリティの改善や他の何か重要なバグフィックスのみがおこなわれるでしょう. FreeBSD 2.2 の開発は, RELENG_2_2 開発ブランチとして, 開発の本流 (-CURRENT) から 1996 年 11 月に分岐し, そして 1997 年 4 月に最初のリリース(2.2.1)が行なわれました. 2.2 開発ブランチからは, さらに 97 年の夏と秋にリリースが行なわれ, 98 年 11 月に 2.2 開発ブランチの最終リリース(2.2.8)が 行なわれています. 1998 年 10 月に FreeBSD 3.0 最初の公式リリースが 行なわれ, 2.2 開発ブランチは開発の終了を迎えることになりました. 1999 年 1 月 20 日には, FreeBSD の開発ツリーが 4.0-CURRENT と 3.X-STABLE の各ブランチに再び分岐しました. 3.X-STABLE からは 3.1 が 1999 年 2 月 15 日に, 3.2 が 1999 年 5 月 15 日に, 3.3 が 1999 年 9 月 16 日に, 3.4 が 1999 年 12 月 20 日に, そして 3.5 が 2000 年 6 月 24 日にリリースされました. 3.5 はリリースの数日後, Kerberos に対するセキュリティ上の修正を組み込むために 小規模な更新がなされ, 3.5.1 になりました. 3.5.1 は, この 3.X ブランチにおける最終リリースになる予定です. 2000 年 3 月 13 日には 4.X-STABLE ブランチの作成が行われました. これは現時点で「最新の -stable ブランチ」になります. このブランチからのリリースは, 4.0-RELEASE が 2000 年 3 月に, 4.1-RELEASE が 2000 年 7 月に, 4.2-RELEASE が 2000 年 11 月に, 4.3-RELEASE が 2001 年 4 月に, 4.3-RELEASE が 2001 年 9 月に行なわれました. 4.X-stable (RELENG_4) ブランチからのリリースは, 2002 年まで続けられる予定になっています. 長期的な開発プロジェクトは 5.0-CURRENT 開発ブランチ (トランク) で続けられ, 5.0 のスナップショットリリースが収録された CDROM (もちろん, ネットワーク上でも) は, 開発の進行状況に応じて スナップショットサーバ より継続的に作成されています. Jordan Hubbard 寄稿: FreeBSD プロジェクトの目標 FreeBSD プロジェクト 目標 FreeBSD プロジェクトの目的は, いかなる用途にも使用でき, 何ら制限のないソフトウェアを供給することです. 私たちの多くは, コード(そしてプロジェクト)に対してかなりの投資をしてきており, これからも多少の無駄はあっても投資を続けて行くつもりです. ただ, 他の人達にも同じような負担をするように主張しているわけではありません. FreeBSD に興味を持っている一人の残らず全ての人々に, 目的を限定しないでコードを提供すること. これが, 私たちの最初のそして最大の任務 であると信じています. そうすれば, コードは可能な限り広く使われ, 最大の恩恵をもたらすことができるでしょう. これが, 私たちが熱烈に支持しているフリーソフトウェアの最も基本的な目的であると, 私は信じています. GNU General Public License (GPL) GNU Lesser General Public License (LGPL) BSD Copyright 私たちのソースツリーに含まれるソースのうち, GNU 一般公有使用許諾(GPL)または GNU ライブラリ一般公有使用許諾(LGPL) に従っているものについては, 多少制限が課せられています. ただし, ソースコードへのアクセスの保証という, 一般の制限とはいわば逆の制限(訳注1)です. GPL ソフトウェアの商利用には, そのライセンスにある 複雑な側面が影響してくることがあります. ですから私たちは, そうすることが合理的であると判断されたときには, より制限の少ない, BSD 著作権表示を採用しているソフトウェアを 選択するようにしています. (訳注1) GPL では, 「ソースコードを実際に受け取るか, あるいは, 希望しさえすればそれを入手することが可能であること」 を求めています. 浅見 寄稿: FreeBSD の開発モデル FreeBSD プロジェクト 開発モデル FreeBSD の開発は非常に開かれた, 柔軟性のあるプロセスです. コントリビュータのリスト を見ていただければわかるとおり, FreeBSD は文字通り世界中の何百という人々の努力によって開発されています. 新しい開発者はいつでも大歓迎ですので, &a.hackers; にメールを送ってください. &a.announce; もありますので, 他の FreeBSD ユーザに自分のやっていることを宣伝したい時にはどうぞ使ってください. あと, FreeBSD プロジェクトとその開発プロセスについて, どなたにも知っていていただきたいのは以下のようなことです. CVSリポジトリ CVS リポジトリ Concurrent Version System CVS FreeBSD のソースツリーは CVS (Concurrent Versions System) によってメンテナンスされています. CVS はソースコード管理用のフリーソフトウェアで, FreeBSD のリリースにも含まれています. FreeBSD のメイン CVS リポジトリは米国カリフォルニア州のサンタクララ市に存在し, そこから世界中のたくさんのミラーサイトにコピーされています. CVS ツリーそのもの, そしてそのチェックアウトされたバージョンである -CURRENT と -STABLE は, あなたのマシンにも簡単に取ってくることができます. これについては ソースツリーの同期の章をご覧ください. ソースツリー管理者 コミッター (committers) ソースツリー管理者は CVS ツリーへの書き込み権限を持っている人, つまり FreeBSD のソースに変更を加えることができる人です. (CVS でリポジトリに変更を加えるには &man.cvs.1; commit というコマンドを使うので, これらの人々は英語では committers と呼ばれます.) 開発者にコードを送って見てもらうのに一番いい方法は &man.send-pr.1; コマンドを使うことです. もし, 何か問題があって send-pr - が使えないなら cvs-committers@FreeBSD.org + が使えないなら &a.committers; にメールを送っていただいても構いません. FreeBSD コアチーム コアチーム FreeBSD コアチームは FreeBSD プロジェクトが会社だとすると取締役会にあたるものです. コアチームとして一番重要な役割は FreeBSD プロジェクトが全体としてよい方向に向かっていることを確認することです. 責任感あふれる開発者を上記のソースツリー管理者として招くこと, また仕事上の都合などでコアチームをやめた人たちの後任を見つけることもコアチームの役割です. 現在のコアチームは FreeBSD 開発者 (committer) の中から 2000 年 10 月に選挙によって選出されました. コアチームを選出するための選挙は, 2 年毎に行なわれています. コアチームのうち何人かは特定の担当分野を持っており, システムのうち一部に特に重点をおいて面倒を見ています. FreeBSD 開発者と担当分野の完全なリストはコントリビュータのリストをご覧ください. 忘れてほしくないのは, コアチームのほとんどは FreeBSD に対してボランティアの立場であり, FreeBSD プロジェクトからは何ら金銭的な支援を受けていない, ということです. ですから, ここでの責任保証されたサポートではありません. そういう意味で, 上記の取締役会という例えはあまりよくないかもしれません. むしろ, FreeBSD のために人生を棒に振ってしまった人の集まりといった方が正しいかも.... その他のコントリビュータ コントリビュータ 最後になりますが, もっとも重要で多数をしめる開発者はフィードバック やバグフィクスをどんどん送ってくれるユーザ自身です. FreeBSD の開発に外郭から関わっていきたいという人は &a.hackers; ( メーリングリスト情報をご覧ください) に参加するといいでしょう. FreeBSD への貢献者リスト は日に日に長くなっています. あなたも今日, 何か送ることからはじめてみませんか? もちろん FreeBSD に貢献するには, コードを書くほかにもいろいろな方法があります. 助けが求められている分野については, FreeBSD プロジェクトのウェブサイトをご覧ください. ひとことで言うと, FreeBSD の開発組織はゆるやかな同心円状になっています. ともすると中央集権的に見えがちなこの組織は, FreeBSD のユーザがきちんと管理されたコードベースを 容易に追いかけられるようにデザインされているもので, 貢献したいという人を締め出す意図は全くありません! 私たちの目標は安定したオペレーティングシステムと 簡単にインストールして使うことのできる アプリケーションを提供することであり, この方法は結構うまくはたらくのです. これからFreeBSDの開発にたずさわろうという人に, 私たちが望むことはただ一つです. FreeBSDの成功を継続的なものにするために, 現在の開発者と同じような情熱を持って接してください! 現在のリリースについて NetBSD OpenBSD 386BSD Free Software Foundation U.C. Berkeley - Computer Systems Resarch Group (CSRG) + Computer Systems Research Group (CSRG) FreeBSD は自由に利用でき Intel i386, i486, Pentium, Pentium Pro, Celeron, Pentium II, Pentium III (とその互換 CPU) および DEC Alpha アーキテクチャのコンピュータシステムで動作する, 4.4BSD-Lite ベースの全ソースつきのリリースです. これはもともとカリフォルニア大学バークレイ校 CSRG グループのソフトウェアがベースとなっており, NetBSD, OpenBSD, 386BSD, そして Free Software Foundation の ソフトウェアなどにより拡張されています. 94 年末の FreeBSD 2.0 のリリースからみると, FreeBSD は性能, 機能, 安定性の面で劇的に改善されました. もっとも大きな変化は仮想メモリシステムに おける改良で, 統合化された VM/file バッファキャッシュを用いる ことで性能を向上させながらも FreeBSD のメモリの使用量を減らすことができたことです. そのおかげで, 最低 5MB メモリという制約上でも動作するようになりました. その他の拡張としては, NIS のクライアントとサーバの完全なサポート, トランザクション TCP のサポート, ダイヤルオンデマンド PPP, 統合された DHCP のサポート, 改良された SCSI サブシステム, ISDN, ATM, FDDI, Fast Ethernet や Gigabit Ethernet(1000Mbit) アダプタへの対応, 最新の Adaptec コントローラ対応の改良や, 数百件におよぶバグの修正などがあります. わたしたちはたくさんのユーザからのコメントや 提案をまじめに受け取り, 私たちが正しいと考え, かつ導入の手順が分かりやすいものを提供しようと努力しています. この (継続的に進化する) プロセスに対するあなたの意見を 心からお待ちしています. FreeBSD では基本配布セットに加え, 移植されたソフトウェア集 として数千の人気の高いプログラムを提供しています. この文書を印刷している時点で &os.numports; 以上の ports (移植ソフトウェア) が存在します. ports には http (WWW) サーバから, ゲーム, 言語, エディタまでありとあらゆるものが含まれています. ports はオリジナルソースに対する差分という形で表現されており, すべての ports を集めても 100MB 程度にしかなりません. こうすることで ports の更新を容易にし, ports に必要なディスクスペースを小さくすることができます. ports をコンパイルするには, インストールしたいと思っているプログラムのディレクトリに移動し, make install とすると, あとはすべてシステムがやってくれます. どの ports もオリジナルの配布セットを動的に CDROM や近くの FTP サーバから取ってくるので, ディスクは構築したいと思っている ports の分だけを準備しておけば十分です. ほとんどの ports は, すでにコンパイルされた状態で package として提供されており, ソースコードからコンパイルしたくない場合, これを使うと (pkg_add というコマンドで) 簡単にインストールできます. FreeBSD 2.1 以降のマシンであれば, /usr/share/doc ディレクトリにインストールの手順や FreeBSD を利用する上で有用なドキュメントがたくさんあります. これらのローカルにインストールされたドキュメントは, HTML ブラウザを使って, 以下の URL から 参照することができます. FreeBSD ハンドブック (英文オリジナル) file:/usr/share/doc/handbook/index.html FreeBSD に関する FAQ file:/usr/share/doc/faq/index.html また, http://www.FreeBSD.org/ にはマスタ (かなり頻繁に更新されます) がありますので, こちらも参照してください. diff --git a/ja_JP.eucJP/books/handbook/policies/chapter.sgml b/ja_JP.eucJP/books/handbook/policies/chapter.sgml index ac15cc5411..6d97af82d0 100644 --- a/ja_JP.eucJP/books/handbook/policies/chapter.sgml +++ b/ja_JP.eucJP/books/handbook/policies/chapter.sgml @@ -1,516 +1,516 @@ Poul-Henning Kamp 寄稿: ソースツリーのガイドラインおよび方針 訳者: &a.jp.mihoko;, 1996 年 9 月 6 日. 本章は, FreeBSD のソースツリーについてのさまざまなガイドラインや ポリシーについて書かれています. Makefile 中の <makevar>MAINTAINER</makevar> port 保守担当(ports maintainer) 1996 年 6 月. FreeBSD 配布物の特定の部分が, 一人の人やグループによって保守 されている場合は, ソースツリーの当該 MakefileMAINTAINER= email-addresses が付け加えられています. これを記述することによって, この部分が誰によって保守管理されているかを世界中のユーザに 伝えることができます. この意味は次のとおりです: 保守担当者がそのコードを所有し, そのコードに対する責任を持っ ています. すなわち, その人がそのコードに関するバグの修正やトラブル報告 に対する回答をします. また, そのコードが寄贈ソフトウェアの場合には, そのソフトウェアの 新しいバージョンに適切に追従させる作業をその人が行い ます. 保守担当者が決められているディレクトリに対して 変更をおこなう場合は, 変更をおこなう前に, その変更内容を保守担当者に送って, 保守担当者にレビューをしてもらってください. 保守担当者が, 電子メールに一定期間応答しない場合にのみ, 保守担当者がレビューすることなしに, 変更をおこなうことが認められます. しかしながら, そのような場合でも可能な限り, 変更点を第三者にレビュー してもらうようにしてください. もちろん, この義務を引き受けることができない人やグループを 保守管理者として追加することはできません. また, 保守管理者がソースツリー管理者 ("committer") である必要は ありません. Poul-Henning Kamp 寄稿: David O'Brien 寄贈ソフトウェア 寄贈ソフトウェア 訳者: &a.jp.mihoko; FreeBSD 配布物のうちのいくつかのソフトウェアは FreeBSD プロジェクト 以外のところで保守されています. 歴史的な経緯から, 私たちはこれを 寄贈 ソフトウェアと 呼んでいます. perlgcc patch などがその例です. ここ数年来, この種のソフトウェアの取り扱いには, さまざまな方法が 取られてきましたが, どの方法にもいくつかの利点と欠点があります. これまで欠点のない明確な方法はありませんでした. 議論した結果, これらの方法のうちの一つが 公式な方法として選択され ました. その方法が, 今後, この種のソフトウェアを取り込む場合に, 使用 されます. その上, この方法では, だれもが(cvs にアクセス権のない人でさえ)公式 バージョンのソースに対する差分を簡単に得ることができます. これは古い方法にはなかった大きな利点です. ですから, 既存の寄贈ソフトウェアも, この方法に収束していくことを強く望んでいます. この方法を使用することにより, 寄贈ソフトウェアの主な開発者に, 変更 点を返すのがとても容易になります. しかしながら結局, 寄贈ソフトウェアの取扱は, 実際に作業を行って いる人々に委ねられています. もしこの方法を使用することが, その人が扱っているパッケージには 極端に合わないような場合には, コアチームの承認さえあれば, これらの ルールに反しても, 他の開発者の一般的な合意は得られるでしょう. 将来にわたってパッケージを保守できるということは, 大変重要な事柄に なってきます. RCS のファイルフォーマットと CVS のベンダブランチの使用には不幸な設計上の制限があります. したがって, ベンダブランチの内容をいまだに引きずっているファイルに 対して小さな, 些細な変更, そして / あるいは 膨大な変更を加えることには, 強い反対があります. 誤字訂正はもちろんこの中に入りますし, しかも膨大なの範疇に入るので, リビジョンが 1.1.x.x であるファイルに対する誤字訂正は避けられることになっています. 一文字の変更したことによるリポジトリの肥大は, 非常に劇的なものになり得るのです. プログラミング言語 Tcl は, この方法が活用されているよい例になっています: src/contrib/tcl には, このパッケージの保守管理者が 配布したソースが含まれています. この中からは FreeBSD に完全には適用 できない部分が削除されています. Tcl の場合は, mac, win, compat というサブディレクトリは, FreeBSD に取り込む前に削除されて いました. src/lib/libtcl には, ライブラリを生成したり, ドキュ メントをインストールする際に使用される, 標準の bsd.lib.mk の 規則を使用した bmake スタイルの Makefile だけが含まれています. src/usr.bin/tclsh には, bsd.prog.mk 規則 を使用して, tclsh プログラムや関連するマニュアルページを生成 /インストール する bmake スタイルの Makefile だけが含まれています. src/tools/tools/tcl_bmake には, Tcl ソフトウェアを更新する必要が生じたときの助けになる2つのシェルス クリプトが含まれています. これらは, ソフトウェアを構築するのに使用し たり, インストール対象になるソフトウェアではありません. ここ重要なのは, src/contrib/tcl ディレクトリが, 規則にしたがっ て作られているということです. つまり, できるだけ FreeBSD に特化した 変更をおこなわないようにしたソースを(RCS のキーワードを拡張しないで, CVS のベンダブランチに)おくようにし ています. freefall 上の「簡易取り込み」ツールは, 寄贈ソフトウェアを取り込む手助けとなります. けれども, このツールの実行方法に疑問が生じた場合は, まずはじめに質問して, 失敗をしないようにしてください. そして, その疑問を解決してからツールを使用してください. CVS に寄贈ソフトウェアを取り込む際には, 事故があってはいけません. よくあるような間違いをおかさないように, 十分注意してください. 先ほど述べたように, 残念なことに CVS にはベンダブランチという設計制限があります. このため, CVS に寄贈ソフトウェアを取り込むには, オリジナル配布ソースに 適用されるベンダからの公式パッチと, ベンダブランチに逆輸入された 結果が必要です. ベンダブランチの一貫性を破壊したり, 将来, 新しいバージョンを取り込む 時に衝突を起こしてしまったりというような 困難な事態に陥らないように しなければなりません. そのために, FreeBSD が管理しているバージョンに 対して, 公式パッチを決して当ててはいけませんし, 公式パッチを "commit" してはいけません. 多くのパッケージが, 他のアーキテクチャや他の環境と FreeBSD との互換性を保ためのファイルをいくつか含んでいます. そこで, スペースを節約するために, FreeBSD にとっては無意味な配布ツリー上の一 部を削除することが許されています. けれども, 削除されずに残ったファイルに対する, 著作権の通知やリリース ノートのような情報を含んだファイルは, 決して削除しては いけませ ん . bmake Makefile が何らかのユーティリティによって, 配布ツリー から自動的に生成できると, うまくいけば, 新しいバージョンへの アップグレードをより簡単におこなうことができます. もしこのようなユーティリティを作成できた場合には, 将来の管理者に とって便利になるように, 移植の際に, src/tools ディレクトリ上に, (必要に応じて) そのユーティリティを必ずチェックインしてください. src/contrib/tcl レベルのディレクトリには, FREEBSD-upgrade と 呼ばれるファイルが追加されており, そのファイルでは 次のような内容が 記述されています. ディレクトリ上に存在するファイル オリジナルの配布物をどこから入手すればよいか また, 公式配布 サイトはどこか オリジナルの作者にパッチを送り返すためには, どこに送ればよいか FreeBSD に特化した変更点の概要 しかしながら, 寄贈ソースと一緒に FREEBSD-upgrade ファイルを 取り込まないでください. それよりむしろ, (訳注:このファイルを)初回に取り込んだ後は, コマンド cvs add FREEBSD-upgrade ; cvs ci を実行してください. src/contrib/cpio を例にすると, 次のようになります: このディレクトリは「ベンダ」ブランチ上のオリジナル配布ファイル の初期ソースが含まれています. いかなる事情があっても, パッチや cvs コミットによってこのディレクトリ上のファイルを アップグレードしてはいけません. (訳注:ベンダから配布された)新しいバージョンや公式パッチだけが (訳注:このディレクトリに)取り込まれなくてはいけません. ベンダの RCS Id が CVS に入ってしまうのを避けるために, "-ko" オプ ションをつけてインポートすることを忘れないで下さい. GNU cpio 2.4.2 を取り込むためには, 以下のファイルが削除されました: INSTALL cpio.info mkdir.c Makefile.in cpio.texi mkinstalldirs cpio を新しいバージョンにアップデートするためには, 次の作業を おこないます: 1. 空のディレクトリに新しいバージョンを取り出します. [ファイルに「いかなる変更」も加えてはいけません] 2. 上記にリストされたファイルと, FreeBSD には無意味な ファイルを削除します. 3. 次のコマンドを実行します: cvs import -ko -m 'Virgin import of GNU cpio v<version>' \ src/contrib/cpio GNU v<version> 例えば, バージョン 2.4.2 を取り込むためには, 次のように タイプします: cvs import -ko -m 'Virgin import of GNU v2.4.2' \ src/contrib/cpio GNU v2.4.2 4. FreeBSD に対するローカルな変更と, 新しいバージョンとの間での 矛盾を解消するために, ステップ 3 で出力された命令を実行します. いかなる事情があっても, この手順から外れてはいけません. cpio にローカルな変更を加えたい場合には, メインブランチ(別名 HEAD)に対して パッチを実行し, コミットしてください. 決して GNU のブランチにローカルな変更を加えないでください. ローカルにおこなわれたすべての変更を次のリリースに含めるために, "cpio@gnu.ai.mit.edu" に提出してください. obrien@FreeBSD.org - 30 March 1997 ソース管理上注意が必要なファイル (Encumbered Files) 場合によっては FreeBSD のソースツリーの中にソース管理上 注意が必要なファイルを含む必要があるかも知れません. 例えば, デバイス を操作する前に, そのデバイスに小さなバイナリコードをダウンロード する必要があり, しかも我々が そのソースコードを持っていない場合, そのバイナリファイルのことをソース管理上注意が必要である(encumbered) と言います. 以下に挙げるガイドラインでは, ソース管理上注意が必要なファイルを FreeBSD ソースツリーにいれる方法を示します. システムのCPU(s)によってインタプリタされたり 実行されたりするファイルで, しかもソース形式でないファイルは すべて, ソース管理上注意が必要なファイルです. BSD または GNU よりも制限されたライセンスを持つファイルは すべて ソース管理上注意が必要なファイルです. ハードウェアによって使用されるダウンロード可能な バイナリコードを含むファイルは, (1) または (2) の条件が 当てはまらなければ, ソース管理上注意が必要なファイル ではありません. そのようなファイルはアーキテクチュアに依存しない ASCII 形式(file2c または uuencode が推奨されます)で保存 します. コアチーム(core team) ソース管理上注意が必要なファイルはすべて, CVS リポジトリ に加える前に, コアチーム(core team) からの特別な承認 が必要です. ソース管理上注意が必要なファイルは src/contrib または src/sys/contrib に入ります. すべてのモジュールは一緒に置きます. ソース管理上とくに注意 を必要としないコードとコードを共有していない限りは, モジュールの置場を分ける必要はありません. オブジェクトファイルは arch/filename.o.uu> と命名されます. - カーネルファイル; + カーネルファイル 必ず conf/files.* (構築を簡単にするため ) に記述するようにして下さい. 必ず LINT に記述して下さい, ただし, それをコメントアウトすべきかどうかは Core team がその都度 判断します. もちろん Core team は あとでそれを変更することもできます. リリースエンジニア(release engineer) リリースエンジニア は, それをそのリリースにいれるかどうかを決定します. - ユーザ領域のファイル; + ユーザランドのファイル Core team は, そ のコードが make world の中で構築される べきかどうかを決定します. リリースエンジニア は, それをそのリリースにいれるかどうかを決定します. Satoshi Asami 寄稿: Peter Wemm David O'Brien 共有ライブラリ もしあなたが共有ライブラリをサポートする機能を port に追加した り, 共有ライブラリをサポートしていない他のソフトウェアに追加する 場合には, 共有ライブラリのバージョン番号を次の規則にしたがって つけてください. 一般的には, この規則は, ソフトウェアのリリースバージョンとは 全く関係ありません. 共有ライブラリを作成する三つの重要な規則は 次の通りです: 1.0 から始める 過去のバージョンに互換性のある変更の場合は, マイナー番号を増やす(ELF システムでは マイナー番号が無視されることに注意して下さい) 互換性のない変更の場合は, メジャー番号を増やす 例えば, 機能追加とバグ吸収の場合は, マイナー番号を増やします. 機能削除, 関数呼び出しのシンタックスなどが変更された場合は, 強制的にメジャー番号を変更します. メジャー.マイナーー (x,y) の形式のバージョン番号を使用します. FreeBSD における a.out 形式のダイナミックリンカは, x.y.z という形式のバージョン番号 は扱えません. この場合, y の後のバージョン番号 (つまり三つ目の数字)は, どのライブラリがリンクされているかを決めるために, 共有ライブラ リ番号を比較する際に, すべて無視されます. 小さなリビジョンだけが 異なる二つの共有ライブラリが指定 されると, ld.so は, リビジョンの大きい方の共有ライブラリを リンクします. すなわち, もしあなたが libfoo.so.3.3.3 をリンク していたとすると, リンカは頭の 3.3 という部分だけを認識し, libfoo.so.3 ではじまり その後に 3 以上の数字が続くもののうち, 最も大きい番号 の付いているライブラリをリンクします. ld.so はいつも最も大きい マイナー リビジョンのものを使うことに 注意してください. 例えば, プログラムがはじめ libc.so.2.0 を リンクしていたとしても, libc.so.2.0 よりも libc.so.2.2 を優先して使用します. さらに, ELF ダイナミックリンカはマイナーバージョンを全く扱いません. しかし, 作成した Makefile がそのようなシステムでも 「きちんと動作できる」ように, メジャー番号およびマイナー番号を 指定する必要があります. 移植されていないライブラリに対しては, 共有ライブラリのバージョン番号はリリースごとに一度だけ変更し, また, 主要な共有ライブラリのバージョン番号は, OS の主リリースごとに 一度だけ変更する, というのが私たちのポリシーです. つまり, X.0 は (X+1).0 になります. あなたがシステムライブラリのバージョン番号を上げた場合は, Makefile の commit ログを確認してください. 結果としてそのリリースには, 共有ライブラリのバージョン番号が アップデートされた Makefile に入るので, 最初にその変更を 確かめるのがソースツリー管理者 ("committer") の責務です. その後のどんな変更も, そのリリースには入りません.