インストール

訳: &a.iwasaki; &a.murata; .8 November 1997. FreeBSD を入手するにはどのファイルをダウンロードすればいいですか?

通常は floppies/boot.flp というファイルの フロッピーディスクイメージが一つだけ必要になります. 1.44MB の フロッピーディスクに書き込み, そこからブートしてその他のファイル群を ダウンロードします (インストールプログラムが TCP/IP 接続, テープ, CD-ROM, フロッピーディスク, DOS パーティションなど, インストールに必要なもの すべてに関する処理を担当します).

自分で配布ファイルをダウンロードする必要がある場合 (たとえば DOS ファイルシステムからのインストールなど), おすすめの配布ファイル構成は 以下の通りです. bin/ manpages/ compat*/ doc/ src/ssys.*

この手続きの完全な説明と, 一般的なインストール時の問題については を参照してください. ブートフロッピーイメージが一枚のフロッピーディスクに納まらないみたい!

3.5 インチ (1.44MB) のフロッピーディスクには 1474560 バイトのデータを 格納できます. ブートイメージはちょうど 1474560 バイトの大きさです.

ブートフロッピーディスクを準備する際のよくある間違いには 以下のものがあります. FTP によってフロッピーイメージをダウンロードする際に, binary モードにしていなかった.

FTP クライアントの中には転送モードのデフォルトを ascii モードにしてクライアント側システムの慣習にあうようにすべての行末の 文字を変更するものがあります. この場合は常にブートイメージが 壊れたものになります. ダウンロードしたブートイメージのサイズを チェックしてください. サーバ上のものと 正確に 同じでない場合, ダウンロードの処理を疑いましょう.

これを回避するには, サーバに接続してイメージのダウンロードを 開始する前に, FTP のコマンドプロンプトで binary とタイプします. ブートイメージを DOS の copy コマンド (または GUI の同等のツール) でフロッピーディスクへ転送した.

copy のようなプログラムは, 直接起動するように作成された ブートイメージに関してはうまく処理できません. イメージにはフロッピーディスクの完全な中身がトラック単位で 格納されており, フロッピーディスク上に通常のファイルとして 格納されるようには想定されていません. に記述されているように, ローレベルのツール (例 fdimage または rawrite) を使用して ``raw'' の状態でフロッピーディスクに 転送する必要があります. FreeBSD のインストールについての説明書はどこにありますか?

インストールの説明書は次のところにあります. FreeBSD を動作させるには何が必要ですか?

386 以上の PC, 5MB 以上の RAM, そして最低 60MB の ハードディスク容量が必要となります. ローエンドの MDA カード でも動作しますが, X11R6 を使うには VGA かそれ以上のビデオカード が必要となります.

の節も併せてご覧ください. 4 MB しかメモリがないのですが, インストールできますか?

4MB のシステムにインストールできた FreeBSD の最新版は FreeBSD 2.1.7 でした. 2.2 のように, 2.2 などのより新しいバージョンの FreeBSD は新規のインストールに最低 5MB は必要になります.

インストールプログラムが 4MB では動作しないだけで, 3.0 を含む FreeBSD のすべてのバージョンは 4MB の RAM で動作可能です. インストールする時だけさらに 4MB 追加しておき, システムが セットアップされて動作するようになった後に, また 4MBを取り出して もとに戻すこともできます. あるいは 4MB より多くメモリを搭載 したシステムにディスクを持っていき, そのマシンでインストール した後にディスクを戻すこともできます.

また, FreeBSD 2.1.7 でも 4MB ではインストールできない場合も あります. 正確には, 640KB のベースメモリ + 3MB の拡張メモリ ではインストールはできません. もしマシンのマザーボードが 640KB から 1MB の領域で「失われた」メモリを再マップできる 場合は, FreeBSD 2.1.7 をインストールできるかもしれません.

BIOS のセットアップ画面で, `remap' のオプションを探して 有効 (Enable) にしてみてください. また, ROM shadowing を無効 (Disable) にしておかなくてはなりません.

簡単なやり方としては, インストールする時だけあと 4MB 追加 しておく方法があります. 必要なオプションだけを選択して カスタムカーネルを構築し, また 4MB を取り出してもとに戻せば いいのです.

また, 2.0.5 をインストールして, それから 2.1.7 のインストーラ の ``upgrade'' オプションでシステムを 2.1.7 へアップグレード するというやり方もあります.

インストールしたあとでカスタムカーネルの構築をした場合, 4MB でも動作します. 2MBでブートに成功した人もいます. (でもその システムはほとんど使いものになりませんでした :-)) 自分用のインストールフロッピーを作るには?

現在はカスタムインストールフロッピーディスク「だけ」を作る方法はありません. カスタムインストールフロッピーディスクイメージを含む, release 環境全体を 新たに作る必要があります. /usr/src/release/floppies/Makefile にあるコードでフロッピーディスクイメージ「だけ」を作れるはずですが, まだ完全なものにはなっていません.

カスタムの release 環境をつくるには の指示にしたがってください. 自分の PC に複数のオペレーティングシステムを入れるには?

をご覧ください. 同じマシンで Windows 95 と共存できますか?

まず Windows 95 をインストールして, そのあとで FreeBSD を インストールしてください. FreeBSD のブートマネージャが Win95 と FreeBSD のブート管理をしてくれるようになります. Windows 95 を後にインストールした場合はひどいことに, 問い合わせることもなくブートマネージャを上書きしてしまいます. そうなってしまった場合は次の節をご覧ください. Windows 95 がブートマネージャを潰しちゃった! どうやって戻すの?

ブートマネージャの再インストールの方法として, FreeBSD では 以下に示す二通りの方法が用意されています: DOS を起動し, FreeBSD の配布物の中にある tools/ ディレクトリ へ移動し, bootinst.exe を探してみてください. そして次のように実行してください:

bootinst.exe boot.bin

ブートマネージャが再インストールされます. FreeBSD のブートフロッピーディスクから起動し, 「カスタム」 インストールメニューを選択し, 続いて「パーティション」を 選択します. ブートマネージャがインストールされていたドライブ (多分最初のもの) を選択し, パーティションエディタにたどり着いたら, (何も変更せず) そのまま (W)rite を指定します. 確認のメッセージ が出ますので「はい」と答え, ブートマネージャ選択の画面で確実に "Boot Manager" を選択します. これでブートマネージャがディスクに再び書き込まれます. インストールメニューから抜けてリブートするとハードディスクは 元通りになります. 不良ブロックのあるディスクにインストールできますか?

FreeBSD の不良ブロックの扱い ( コマンド) は, (ひいき目に見ても) 100% 完全ではなく, 残念ながら 多数の不良ブロックのある IDE や ESDI ドライブは FreeBSD では使用できないと言わざるをえません! でも, 非常に多くの IDE ベースのシステムで動作しているようですので, 簡単にあきらめて しまう前にとりあえず試してみましょう.

不良ブロックのある SCSI ドライブの場合は, を参照してください. インストーラからブートしたら変なことになりました!

インストーラからブートしようとしたときに, マシンが固まってし まうとか自然とリブートしてしまうといった現象であれば, 次の三つの項目を確認してください:- 新品の, フォーマットしたての, エラーフリーの フロッピーディスクを使っていますか? (三年間もベッドの下に 放置されていた雑誌の付録みたいなやつではなくて, 買ってきたばかりの新品が好ましいですね) フロッピーイメージをバイナリモードでダウンロード しましたか? (困った顔をしないでください. 私たちの中 で一番優秀な人でさえ, 少なくとも一回はバイナリファイルを ASCII モードで思いがけずダウンロードしたことがあるのです!) Windows95 や Windows NT のような最近ご流行の オペレーティングシステムを使用している場合, システムを シャットダウンしてありのままの本物の DOS を再起動 しましたか? これらの OS は, ディスク作成プログラム のようなハードウェアに直接書き込みをおこなうプログラムに 干渉できます: GUI の中の DOS シェル内部で動作している 場合でも, この問題は発生します.

また, Netscape でブートイメージをダウンロードする場合も問題 があることが報告されていますので, できれば別の FTP クライアント を使うのがよいでしょう. あれ! テープからインストールできません!

2.1.7R をテープからインストールする場合, tar ブロックサイズ を 10 (5120 バイト) にしたテープを作る必要があります. デフォルト の tar ブロックサイズは 20 (10240 バイト) で, このデフォルトサイズで作られたテープでは 2.1.7R を インストールすることはできません. もしこうしたテープを使うと, レコードサイズが大き過ぎるというエラーが起きることになります. パラレルライン (PLIP) 経由でふたつの FreeBSD box を接続したい

Laplink パラレルケーブルを用意してください. 両方の PC の kernel に lpt ドライバが組み込まれていることを確認してください. $ dmesg | grep lp lpt0 at 0x378-0x37f irq 7 on isa lpt0: Interrupt-driven port lp0: TCP/IP capable interface

パラレルインタフェースに Laplink パラレルケーブルを接続します.

root になって両方で lp0 のネットワークインタフェースパラメータを設定します. 例えば, ホスト max と moritz を接続したい場合, max <-----> moritz IP Address 10.0.0.1 10.0.0.2 max 側で次のようにして # ifconfig lp0 10.0.0.1 10.0.0.2 moritz 側でも # ifconfig lp0 10.0.0.2 10.0.0.1 のようにします.

以上です! のマニュアルページも参照してください.

また, /etc/hosts にホストの追加もしましょう. 127.0.0.1 localhost.my.domain localhost 10.0.0.1 max.my.domain max 10.0.0.2 moritz.my.domain moritz

動作確認は次のようにします: max 側: $ ifconfig lp0 lp0: flags=8851 mtu 1500 inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000 $ netstat -r Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire moritz max UH 4 127592 lp0 $ ping -c 4 moritz PING moritz (10.0.0.2): 56 data bytes 64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms 64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms 64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms 64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms --- moritz ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms ラップトップ PC に PLIP (パラレルライン IP) 経由でインストールできますか?

次のようにして二つのコンピュータを Laplink パラレルケーブル を通して接続してください: +----------------------------------------+ |A-name A-End B-End Descr. Port/Bit | +----------------------------------------+ |DATA0 2 15 Data 0/0x01 | |-ERROR 15 2 1/0x08 | +----------------------------------------+ |DATA1 3 13 Data 0/0x02 | |+SLCT 13 3 1/0x10 | +----------------------------------------+ |DATA2 4 12 Data 0/0x04 | |+PE 12 4 1/0x20 | +----------------------------------------+ |DATA3 5 10 Strobe 0/0x08 | |-ACK 10 5 1/0x40 | +----------------------------------------+ |DATA4 6 11 Data 0/0x10 | |BUSY 11 6 1/0x80 | +----------------------------------------+ |GND 18-25 18-25 GND - | +----------------------------------------+

また, Mobile Computing についての ページもご覧ください. ハードディスクドライブには, どのジオメトリを使うべきでしょうか?

(ここでディスクの「ジオメトリ」とは, ディスクのシリンダ, ヘッダ, トラック当りのセクタの数を意味しています - 便宜上, C/H/S とすることにします. これはディスクのどの領域で読み書きを おこなうかを PC の BIOS が決定する手段となります.)

これについてはある理由のために, 誤解されている点が多いようです. まず最初に, FreeBSD はディスクブロックで動作しているため, SCSI ドライブのすべての問題はSCSI ディスクでは, 使用するジオメトリはコントローラの拡張 BIOS トランスレーションが有効になっているかどうかによります (``>1GB の DOS ディスクドライブのサポート'' とも呼ばれます). 無効になっている場合, N シリンダ, 64 ヘッド, 32 セクタ/トラック を使用しますが, ここで `N' は MB 単位のディスク容量です. 例えば, 2GB ディスクは見かけ上 2048 シリンダ, 64 ヘッド, 32 セクタ/トラックとなります.

それが「有効」になっており (MS-DOS ではこの方法で, ある制限 を回避する場合もあります), ディスク容量が 1GB を越える場合は, M シリンダ, 63 セクタ/トラック (64 「ではなく」), 255 ヘッド を使用します. `M' は MB 単位のディスク容量を 7.844238 (!) で割った値となります. ということで, 2GB ディスクの例では, 261 シリンダ, 63 セクタ/トラック, 255 ヘッドとなります. (訳注: 以上は Adaptec 社と NCR 社製の SCSI アダプタの場合です. SCSI アダプタによって変換の数値が変わってくるのでマニュアルを 参照してください.)

これについてよく分からない場合や FreeBSD がインストール中に 正しくジオメトリを取得できない場合, これを回避するもっとも 簡単な方法はディスクに小さな DOS パーティションを作ることです. そうすると正しいジオメトリが取得されるはずです (そして, 残しておきたくないとかネットワークカードのプログラミング用に 使いたい場合などには, いつでもパーティションエディタで DOS パーティションを削除することができます).

もう一つの方法として, FreeBSDと一緒にに配布されているフリー で使えるユーティリティに ``toolsディレクトリかいろいろな FTP サイトにあります) と呼ばれるものがあり, ディスク上の他のオペレーティングシステム が使用しているジオメトリを調べるのに役立ちます. そして, この ジオメトリ情報をパーティションエディタに入力することができます. ディスクの分割の仕方で何か制限はありますか?

はい. BIOS がカーネルをブートできるようにルートパーティションが 1024 シリンダ以内にあることを確認する必要があります (これは FreeBSD ではなく PC の BIOS の制限です).

SCSI ドライブでは, 通常はルートパーティションが最初の 1024MB に収まっていることが前提となります (または拡張 BIOS トランスレーション が有効になっている場合は最初の 4096MB - 他の質問をご覧ください). IDE でそれに相当する値は 504MB となります. (訳注: E-IDE 対応の BIOS 搭載マシンの場合は IDE の 504MB という 制限はありません.) 大容量ディスクを持っていますが, ディスクマネージャは使えますか?

FreeBSD は Ontrack Disk Manager を認識し, これを考慮にいれます. 他のディスクマネージャはサポートしません.

ディスク全体を FreeBSD で使いたい場合は, ディスクマネージャ は必要ありません. BIOS が扱える容量いっぱいで (通常は 504MB) ディスクの設定をおこなうと, FreeBSD は実際の容量を算出する はずです. MFM コントローラ付きの古いディスクを使っている場合は, FreeBSD に使用するシリンダ数を詳細に指定する必要があります.

FreeBSD と他のオペレーティングシステムが入っているディスクを 使用したい場合は, ディスクマネージャなしでもできるでしょう: FreeBSD のブートパーティションと他のオペレーティングシステム 用のスライスが最初の 1024 シリンダ内に収まっている事を確認 するだけです. 気になる方は, ブートパーティションを 20 メガバイト ぐらいにして大きめにするととよいでしょう. FreeBSD のブート時に ``Missing Operationg System'' と表示されます

これは FreeBSD や DOS, そのほかの OS がディスク領域 のとらえ方で衝突 しあっていることから起こる典型的な例です. こうなったら FreeBSD をインストールし直す以外にはありませんが, 他のところで説明した手順にしたがってやれば, ほぼ間違いなくうまくいくはずです. ブートマネージャの `F?' プロンプトが表示されません.

これはすでに前に質問されている問題のもう一つの症状です. BIOS のジオメトリと FreeBSD のジオメトリ設定が一致していないのです! コントローラや BIOS がシリンダの変換 (``>1GB ドライブの サポート'' とも呼ばれます) をサポートしていたら, その設定を無効化して FreeBSD をインストールし直してみてください. 16MB を越えるメモリを搭載していますが, 何か問題が起こりますか?

性能問題以外は無しです. FreeBSD 2.X は bounce-buffer をサポートしており, バスマスタリングコントローラは 16MB より上のメモリ領域に アクセスできます. (ISA デバイスを使用している場合のみ必要 となりますが, 一部の EISA と VLB デバイスでも必要な場合 があります.)

また, もっと多くのメモリを搭載している場合, Compaq や利用可能な メモリサイズを正しく報告しない他の BIOS を使用している場合は, の節をご覧ください. ソースを全部インストールする必要はありますか?

一般的には「いいえ」です. しかし最低でも, `` を実行する時は例外です. カーネルのソースをインストールしなくてもよい例として, どこか 別の場所からカーネルのソースを読み込み専用で NFS マウントする 事ができ, またそこから新しいバイナリを作成できるようになって います. (カーネルソースの制限があるので, 直接 /usr/src を マウントする事はおすすめできません. それよりもどこか別の ディレクトリにマウントして, ソースツリーの複製ができるように 適切にシンボリックリンクを張ってください.)

ソースをネットワーク上に持ち, そこからシステムをビルド するようにしておけば, FreeBSD の将来のリリースへのアップグレード がずっと簡単になります.

実際にソースのサブセットを選択するには, システムインストール ツールの「配布ファイル」メニューにある「カスタム」メニュー を使用します. また, src/install.sh スクリプトでも 与える引数によってソース配布ファイルの一部分をインストールできます. カーネルは作り直さなくちゃならないんですか?

カーネルを新しく作り直すのは元々 FreeBSD のインストール時に どうしても必要なことでした. でも最近のリリースでは, とても ユーザフレンドリなカーネル設定ツールの恩恵を受けています. FreeBSD のブートプロンプト (boot:) で "-c" と打てば ビジュアルな設定画面になり, ほとんどの一般的な ISA カードに ついてのカーネルの設定をすることができるのです.

今でも, 必要なデバイスドライバだけを組み込んだカーネルを 作ることはよい事とされています. ほんのちょっとだけメモリを 節約できますからね. でもほとんどのシステムでは, もはや どうしてもやらなくちゃならないことではないのです. アメリカ合衆国国外に住んでいますが, DES 暗号化ソフトウェアは使えますか?

DES スタイルの暗号化コードの使用が絶対避けられないものでない 場合は, DES 暗号化アルゴリズムを合法的に合衆国国外に持ち出す事 ができないため, 合衆国国外のユーザは合衆国の FTP サイト から該当するソフトウェア (しかし, これに代わる libcrypt が, オーストラリアの David Burren によって書かれたソースをベースに作られています. これは合衆国国外のいくつかの FTP ミラーサイトで公開されています. この制限の課せられていない libcrypt のソースと, それを 使ったプログラムのバイナリは, 以下の FTP サイトから入手する 事ができます: ftp://ftp.internat.freebsd.org/pub/FreeBSD ftp://storm.sea.uct.ac.za/pub/FreeBSD ftp://ftp.iqm.unicamp.br/pub/FreeBSD ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt 訳注: 日本国内では以下のサイトにあります. ftp://jaz.jp.freebsd.org/pub/FreeBSD-internat

この合衆国国外向けの 合衆国国外のユーザは, お願いですからいかなる暗号化ソフトウェア も合衆国内からダウンロードしないでください. ダウンロードされた サイトの管理者は, 法律的にとても難しく困難な立場に立たされる 事になります.

合衆国以外向けの Kerberos も開発されつつあります. 現在の バージョンは anonymous FTP で braae.ru.ac.za から 入手できます.

また, 合衆国国外向けの暗号化ソフトウェアに関する議論のための もあります. より詳しい情報については, メールの本文に ``<majordomo@braae.ru.ac.za> まで送ってください. ブートフロッピーで起動すると, ``Probing Devices...'' の画面でハングアップします.

IDE Zip か Jaz ドライブが接続されていたら, それを取り外して もう一度試してみましょう. ブートフロッピーはこの種のドライブを誤認して しまうのです. システムがインストールされた後は, そのドライブを再度接続することができます. うまくいけばこの問題は将来のリリースで解決されるでしょう. インストール終了後にシステムをリブートすると, ``panic: cant mount root'' のエラーとなります.

このエラーはディスクデバイスについてブートブロックとカーネルの 認識が混乱しているために起こります. このエラーは通常 2 台の IDE ディスクがそれぞれ別の IDE コントローラのマスターかシングルデバイス として接続されているシステムにおいて, FreeBSD がセカンダリ IDE コントローラに接続されたディスクにインストールされている場合に発生します. ブートブロックは FreeBSD が wd1 (2 台目の BIOS ディスク) にインストール されていると認識するのに対し, カーネルは セカンダリ IDE の 1 台目の ハードディスクである wd2 にインストールされていると認識するのです. デバイスプローブの後で, カーネルはブートブロックがブートディスクだと 認識したディスクである wd1 を mount しようとします. 実際には ブートディスクは wd2 なので失敗してしまうのです.

この問題を解決するには, 以下のどれか一つを行ってください: Boot: プロンプトで, 1:wd(2,a)kernel と入力してエンターキーを押します. システムが起動したら, echo "1:wd(2,a)kernel" > /boot.config というコマンドを実行してこれをデフォルトのブート文字列とします. FreeBSD のディスクをプライマリ IDE コントローラに接続して, ハードディスクが連続したドライブ番号で認識されるようにします. カーネルのコンフィグレーションファイルで wd の行を以下のように 変更してから を行い, 新しいカーネルをインストールします. controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr disk wd0 at wdc0 drive 0 # disk wd1 at wdc0 drive 1 # この行をコメントアウト controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr disk wd1 at wdc1 drive 0 # wd2 から wd1 へ変更 disk wd2 at wdc1 drive 1 # wd3 から wd2 へ変更 ディスクの接続を変更して元の設定に戻したい場合は, ディスクを お望みの設定の通りの接続に戻してからリブートします. システムは正常に起動するはずです. メモリの大きさの制限は?

メモリは, (論理的な) 限界は 4 ギガバイトです. 1 ギガバイトのものは すでにテストがされています. 普通は i386 の PC ではそれ以上のメモリを サポートしているものを買うことはできません. ffs ファイルシステムの大きさの制限は?

ffs ファイルシステムは, 論理的な最大の上限は 8 テラバイト (2G ブロック) か, デフォルトのブロックサイズを 8K とすると 16 テラバイトとなります. 実際問題として, 1 テラバイトのソフトウェアの限界がありますが, 修正すれば 4 テラバイトのファイルシステムが可能です (実際に存在します).

一つの ffs のファイルの最大のサイズは, ブロックサイズが 4K の場合で 約 1 ギガブロック (4 テラバイト) です. maxfilesize ---------------------------------- 2.2.7 3.0 fs block size -stable -current works should-work ------------- ------- -------- ----- ----------- 4K 4T-1 4T-1 4T-1 4+T 8K 32+G 8T-1 32+G 16T-1 16K 128+G 16T-1 128+G 32T-1 32K 512+G 32T-1 512+G 64T-1 64K 2048+G 64T-1 2048+G 128T-1

fs ブロックサイズが 4K の場合は三重間接ブロックが使用され, いづれの場合でも三重間接ブロックを使用して表現できる最大の fs ブロック番号 (およそ 1K^3 + 1K^2 + 1K) に制限されるはずなのですが, 実際は fs ブロック番号の (間違った) 上限 1G-1 で制限されます. fs ブロック番号の制限は 2G-1 となるはずです. 2G-1 付近に fs ブロック番号のバグが多少ありますが, fs ブロックサイズが 4K の場合は, ここまでのブロック番号には到達しません.

ブロックサイズが 8K 以上の場合, いづれの場合も fs ブロック番号の 上限 2G-1 で制限されるはずですが, 実際は fs ブロック番号の上限 1G-1 で制限されます. 例外的に -stable では三重間接ブロックまでは 到達しないため, 制限は二重間接ブロックで表現できる最大の fs ブロック番号 (およそ (blocksize/4)^2 + (blocksize/4)) となります. -current ではこの制限を超えると問題を引き起こすかもしれません. 正しい制限値である 2G-1 ブロックを使用すると明らかに問題が出ます. フロッピーに 1 テラバイトのファイルを格納するには?

わたしのところではフロッピーにいくつかの実際のファイルを保存しています :-). 最大のファイルサイズは最大のディスクサイズとはあまり関係はありません. 最大のディスクサイズは 1TB です. ファイルサイズがディスクサイズより 大きくなりうるというのは仕様です.

以下の例は, 32K のディスク容量 (3 つの間接ブロックと 1 つのデータブロック) を使って, 小さなルートパーティションに 8T-1 の大きさのファイルを作成します. ここでの dd コマンドは 大きなファイルが扱えるものが必要です. ttyv0:bde@alphplex:/tmp/q> cat foo df . dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1 ls -l z du z df . ttyv0:bde@alphplex:/tmp/q> sh foo Filesystem 1024-blocks Used Avail Capacity Mounted on /dev/sd0a 64479 27702 31619 47% / 1+0 records in 1+0 records out 1 bytes transferred in 0.000187 secs (5346 bytes/sec) -rw-r--r-- 1 bde bin 8796093022207 Sep 7 16:04 z 32 z Filesystem 1024-blocks Used Avail Capacity Mounted on /dev/sd0a 64479 27734 31587 47% / ttyv0:bde@alphplex:/tmp/q> exit

Bruce Evans, September 1998