FreeBSD 2.2.6R 設定概論第1

Last Update (1998/09/15 12:13:32)

ミラーサイト [www.ceres.dti.ne.jp] [yk.rim.or.jp]
[ホームページ] [日記] [読んでいる日記] [FreeBSD] [FreeBSD LINK] [検索]

FreeBSDをインストールする前に

  1. ハードウェアの設定
    non PnP(Plug and Play非対応)のISAのSCSIカードで接続しているHDDにFreeBSDをインストールする場合は、できるだけSCSIカードのIRQやDRQ(DMA チャンネルの設定)をSCSIカードの出荷時の設定に戻しておいた方がいいだろう。 SoundBlaster16シリーズとAdaptec AHA-1542シリーズは、工場出荷時の設定が衝突していることで有名だが、変更する場合はSoundBlasterの方を変えるべきである。 サウンド機能がなくともFreeBSDは起動できるが、HDDが読めないとFreeBSDは起動できないからである。 また、SCSIカードのI/OアドレスやIRQ,DRQ,サウンドカードのBASE I/O アドレスやIRQ,DRQはメモして保存しておこう。 自動ハードウェア検出機能(Plug & Play)はある程度信用できるが、完全ではない。 機械を使うのは、人間の知恵と勇気なのだ。(フォワードとバックアップは一心同体かどうかは定かではない)

    最近市販されているISA拡張カードの多くは、ほとんどPnP(Plug & Play)対応になっている。 FreeBSD 2.2.6RではISA PnPカードサポートが行われているらしいのだが、私は一枚もISA PnPカードを持っていないのでどのくらい利用できるかはわからない。

    PCI接続の拡張カードは最初からPnPが考慮されているため、FreeBSDでも問題無く利用できる。 多少高くても、ISA接続のカードと同じ機能のカードがPCI接続で購入できる場合はPCI版を購入しておいた方が良いと思う。

    Windows95とFreeBSDを交互に起動した場合、Windows95が勝手にカードのコンフィギュレーションを変更してしまう場合がある。 この場合はほとんど処置無しのように思うが、私はISAのPnP対応カードを持っていないので詳細は不明である。(^^;)。

  2. SCSIカード(AHA-1542CF)の設定

    AHA-1542CFに限らず、多くのSCSIカードの設定には「enable over 1GB」という項目がある。 この項目をenableにしている場合は、ハードディスクのアクセス方法が通常の方法とは多少異なるので、インストール前にCD-ROMに入っているpfdisk.exeでハードディスクのジオメトリを調べておいてメモしておく必要があるかもしれない。 (最近のFreeBSDのインストーラには、HDDのジオメトリ自動検出機能があるので必要ないかも?(現在調査中)) ちなみに、うちのHDDのIBM DPES-31080Sの設定では以下のように表示された。

    heads     131
    cylinders 255
    sectors    63
    	
    この値はFreeBSDのインストール中、Disk partition を設定するときにSet Disk Geometryコマンドで利用することになるだろう。 この設定をしないと、インストール終了後に FreeBSD を起動する時に「panic: cannot mount root」というメッセージが表示され、リブートしてしまうことがある。
FreeBSDページの目次に戻る

カーネルコンフィギュレーションユーティリティの使い方

FreeBSD 2.1.6R 以降では、カーネルの再コンパイルを行わなくても、すでにカーネルに含まれているデバイスドライバについては使用するかしないかの設定が行えるようになった。 ここでは、デバイスドライバの設定を行うカーネルコンフィギュレーションユーティリティについて簡単に説明する。

  1. Boot: に対して -c と入力。その後config> に対して vi と入力する。
    または、ブートフロッピーから「Start kernel configuration in Visual mode」を選択する。
  2. 画面が下記のようになる。
    ---Active-Drivers--------------------------? conflicts-------Dev---IRQ--Port--
    Storage :           (Collapsed)
    Network :           (Collapsed)
    Communications :    (Collapsed)
    Input :             (Collapsed)
    Multimedia :        (Collapsed)
    PCI :               (Collapsed)
    Miscellaneous :     (Collapsed)
    
    ---Inactive-Drivers------------------------------------------Dev-------------
    Network :           
    Coomunications : 
    Input : 
    Multimedia : 
    PCI : 
    Miscellaneous : 
    
    -----------------------------------------------------------------------------
           デバイス情報画面
    
    
    -----------------------------------------------------------------------------
           ヘルプ画面
    
    	
  3. ヘルプ画面を見ながら、使用しないデバイスドライバをInactive-Driversに移動する。
    Active-Drivers 画面内部にあるデバイスドライバを選択して、「DELキー」を押すと、カーソルで選択されたデバイスドライバが Inactive-Driversに移動する。
  4. ヘルプ画面を見ながら、使用するデバイスドライバをActive-Driversに移動する。
    「TABキー」を押すと、カーソルが Active-Drivers と Inactive-Drivers の間を移動する。 Inactive-Drivers の中からカーソルで選択して、「Enterキー」を押すと、そのドライバが Active-Drivers に移動する。
  5. デバイスドライバのIRQやPort(I/O アドレス)の設定を行う。
    Active-Drivers 画面内部にあるデバイスドライバを選択して、「Enterキー」を押すと、デバイス情報画面へカーソルが移動する。 ここで、デバイスの設定を変更する。
  6. 設定が終了したら「Q」と入力して、カーネルコンフィギュレーションユーティリティーを終了させる。
ここで設定された情報を元に、FreeBSDが起動しはじめる。 設定された情報はFreeBSDを起動したドライブに保存されているので、マシンの電源を切ってもこの設定は有効になっている。
FreeBSDのブートフロッピーからカーネルコンフィギュレーションユーティリティーを使った状態でインストールすると、HDDに設定が保存されるので便利だ。
また、特定の機械ではデバイスドライバにflagsを指定しないと起動できないものもあるようだ。 もしブートフロッピーから起動できなかったら FreeBSD関連情報リンク概論第1からのリンクをたどって情報を収集すると良い。

FreeBSDページの目次に戻る


ホスト名の設定

ホスト名とは、自分のマシンの名前のことである。 デフォルトでは myname.my.domain になっており、順当な所ではプロバイダの名前を利用するのが吉である。 しかし、自分の趣味で名前をつけてみたいという野望も存在するようで、多くのホストが惑星の名前(marcury)とか登場人物の名前(asuka,sakura)とか登場コンピュータの名前(magi,hal,zorak)など、趣味的な名前をつけられているのだ。 ただし、ホスト名は半角アルファベットの小文字で最大8文字以内に設定するのが吉である。 これは、uucpなどの一部のアプリケーションが扱えるホスト名の長さに制限がある(uucpは8文字まで)ことに起因している。 FreeBSD 2.2.2R 以降では、ホスト名は /etc/rc.conf ファイル内部の hostname= の部分を書き換えて指定する。 ちなみに、うちの設定は以下のようになっている。 (/etc/rc.confより抜粋)

hostname="magi.nerv.jp"         # Set this!
nisdomainname="NO"              # Set to NIS domain if using NIS (or NO).
    
うーん。とっても恥ずかしいホスト名だ。

このホスト名は /etc/hosts にも下記のように指定する必要がある。

127.0.0.1		localhost localhost.my.domain magi magi.nerv.jp
    
ここには、ローカルホスト名をスペースで区切って必要なだけ並べて記述する。 ローカルホスト名 localhost は削除してはならない。 かなり多くのソフトが、デフォルトでこの名前を利用するからだ。 (localhost.my.domain も削除しない方がいいだろう。) ちなみに、ここに変更後のホスト名設定しないと、sendmailがローカルメールを送信できなくなったり、muleの起動が遅くなってしまう。

余談だが、多くのUNIXなシステムでは /etc/myname というファイルにホスト名を書き込むことによって指定する。 SUN OS を使っていて「rc.confファイルが無いよー」と泣くと恥ずかしいので注意が必要である。 なお、SUN OSはBSD 4.3ベースなので、ホストの名前だけを /etc/myname に指定すること。(例えば magi)ドメイン名の方に(例えば nerv.jp)のように指定する。 さらに余談だが、SUN OS 4では /etc/myname は無くて、/etc/hosts にゴリゴリ指定するだけで良いらしい。

FreeBSDページの目次に戻る


ユーザー登録

FreeBSDでは、インストールプログラム(/stand/sysinstall)からユーザー登録が行なえるようになっている。 ここでは、インストールプログラムを利用せずに、ユーザー登録を行う方法を紹介する。 ユーザー登録の手順は次のようになる。

  1. vipwコマンドでユーザーを登録する。
    vipwコマンドは、エディタを使ってテキストファイル形式のユーザー情報ファイル(/etc/passwdファイル)を編集して、編集終了後に自動的にユーザーデータベースに登録してくれるコマンドである。
    余談だが、vipwで起動されるエディタはviだったのでこの名前があるようだ。 現在では環境変数EDITORに設定されているエディタ(インストール直後の.cshrcにはeeが指定されている)が起動する。
  2. 必要ならば /etc/group ファイルを編集して、特定のユーザーがどのグループに属するかを指定する。
  3. 適当なディレクトリにユーザーのホームディレクトリを作成する。
  4. 作成したユーザーのホームディレクトリは、chown コマンドを使ってユーザーのものにする。
  5. ユーザーに必要なファイル(例えば .cshrc)をユーザーのホームディレクトリに用意する。
  6. ユーザーに必要なファイルは、chown コマンドを使ってユーザーのものにしておく。
同じような目的のコマンドに、adduserがある。 こちらは、対話的に「ユーザー名は?」などと英語で質問してくるので、それに答えるとユーザーを追加できるという便利なコマンドだ。

大体の手順は上の通りだが、いくつかの Tips がある。

そんなわけで、私の主に使っているログイン名は george なのだが、 /etc/group には以下のように記述している。(以下は抜粋)
wheel:*:0:root,george
operator:*:5:root,george
dialer:*:68:root,george
network:*:69:root,george
    
記述方法は上記の通り、追加したいグループ名の行に "," でつないでユーザー名を書くだけである。
ちなみに、/etc/groupの記述を変更したら、設定内容を有効にするために一度リブートする必要があるようだ。

FreeBSDページの目次に戻る


106キーボード対応

FreeBSD 2.2.2R以降からインストールの段階でキー配列を選択できるようになった。 日本のJIS配列のキーボード(通称106キーボード、最近のWindows対応キーボードは109キーボードと呼ばれるが、同じものと考えて良い)であるので、インストール時に選択すれば良い。
余談だが、マニアの間ではUSキーボード(通称101キーボード)の人気が高い。 アメリカ原産のソフトのキーバインドはUSキーボードを前提に設定されているため、慣れると101キーボードの方が効率良く操作できるためのようだ。

インストール時に指定し忘れたり、自分で設定したい場合には以下のようにする。

  1. /etc/rc.confの内部で、
    keymap="jp.106"
    	
    とする。
  2. リブートする。
以上の方法で、106キーボードが利用できるようになる。 リブートせずに、そのままキーボードの設定を106キーボード対応にするには、
kbdcontrol -l /usr/share/syscons/keymaps/jp.106.kbd
    
とする。

また、 /usr/share/syscons/keymap/ には、様々なキーマップファイルがあるが、jp.106x.kbdファイルは、CAPS LOCKとCTRLキーを入れ換えた設定となっているものだ。 利用方法は上述の操作で、``jp.106''を``jp.106x''に変えれば良い。

以上の操作でコンソールモードのキーボード配列は106キーボードに対応させることが出来る。

X Window System 上のキー定義は、XF86Setupというプログラムで行うことができるので、特に変更する必要は無いと思うが、一応 FreeBSD X 概論第1 も参照して欲しい。

FreeBSDページの目次に戻る


コンソールのmuleにCTRL+SPACEを入力できるようにするには(deprecated)

FreeBSD 2.2.6Rからは、キーボードの指定をjp.106xにしていてもコンソール画面で起動したmuleやemacsからCTRL+SPACEを入力するとset-mark-commandと認識されるようになったので、特に設定は必要無い。

また、kon2上からmuleなどを利用した場合でもCtrl+SPACEの入力はset-mark-commandとして認識されるようになった。

FreeBSDページの目次に戻る


カーネルコンフィギュレーションの意味と実行方法

カーネルコンフィギュレーションとは、カーネルをローカルマシンのハードウェア構成に合わせて変更することである。 MS-DOSやLinux, Windows95などでは、カーネルの部分(例えば msdos.sys)は変更せず、デバイスドライバの追加によって様々なハードウェアに対応している。 だが、ハードウェアの変更が頻繁でなければ、カーネルにデバイスドライバを組み込んでしまった方が実行効率が良いのである。 そこで、各自のマシン設定にあったカーネルを各自でつくり出すわけである。

FreeBSD 2.1.6以降では、上述の カーネルコンフィギュレーションユーティリティー を使うと、カーネルをコンパイルしなくてもカーネルに既に含まれているデバイスドライバなら 使用するかどうかを設定できる。 しかし、カーネルに含まれていないデバイスドライバを追加するには、やはりカーネルコンフィギュレーション(カーネルの再コンパイル)が必要である。

カーネルコンフィギュレーションの方法は次のようになる。

  1. su でスーパーユーザーになる。
  2. cd /usr/src/sys/i386/conf でコンフィギュレーションディレクトリに移動
  3. そのディレクトリにある GENERIC と LINT を参考に、自分専用のコンフィギュレーションファイル(ここでは、ファイル名をMAGIとしよう)を作成する。
    GENERICというファイルは、ブートフロッピーを作成した時のコンフィギュレーションファイルで、LINTというファイルは、記述できる全てのオプションを記述したコンフィギュレーションファイルである。 サウンドブラスターなどのサポート用オプションは、GENERICの中には無く、LINTの中に設定例と説明が英語で書かれているので、こちらを参照すると良いだろう。
    余談だが、カーネルコンフィギュレーションファイルは伝統的に全部大文字のファイル名にするしきたりがあるようだ。
  4. config MAGI を実行する。
  5. cd ../../compile/MAGI で、 config コマンドで作成されたコンパイル用ディレクトリに移動する。
  6. make depend ; make でカーネルを作成する。
  7. make install でカーネルを / にインストールする。
  8. shutdown -r now して、コンピュータを再起動する。
以上の操作でカーネルのコンフィギュレーションは完了する。 さて、カーネルコンフィギュレーションの方法がわかったところで、実際にどんなことを設定するのかを簡単に説明しよう。
必要のないデバイスは # でコメントにしてしまう。
これで、FreeBSDの起動速度が向上する。 削った方が良いデバイスは、持っていないISAのSCSIカードコントローラだろう。 NCR BUSLOGIC ADAPTECと色々なメーカーの SCSI カード用の設定があるので、自分のマシンに使っているもの以外はコメントにしてしまおう。 コンフィギュレーションファイル内部では、ncr0, bt0, ahc0 とか意味不明な名前で記述されているので、何のデバイスかわかりにくい。そんな場合は LINT の中に説明があるので見てみると良い。
必要なデバイスは LINT から設定をコピーしよう。
サウンドブラスターやMIDIなどの設定はインストール直後のカーネル(GENERICから作成されたもの)には含まれていない。 LINTには、設定できるデバイスの例がすべて書いてあるので、必要な部分だけカット&ペーストしよう。

FreeBSDページの目次に戻る


PS/2 Mouse を使えるようにする

私の持っているマシンのマウスはPS/2タイプである。 FreeBSD 2.2.6Rでは、インストール時に カーネルコンフィギュレーションユーティリティー で特に指定せずとも PS/2 マウスが利用可能になっている。

自分でカーネルコンフィギュレーションファイルを変更する場合は、カーネルコンフィギュレーションファイルのPS/2マウスの項目
device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
の中に「disable」という文字列が無いことを確認して、
device mse0 at isa? port 0x23c tty irq 5 vector mseintr
の行を
device mse0 at isa? disable port 0x23c tty irq 5 vector mseintr
と「disable」を追加してシリアルマウス(MSマウス)を利用しない設定にしておくと良いだろう。 その後、 カーネルコンフィギュレーション の項目の方法で、カーネルを再構築しよう。 カーネルの再構築が終了したら、新しく作成したカーネルを使うため、一度リブートする。

余談だが、カーネルコンフィギュレーションファイル中で「disable」と書かれているデバイスドライバは、 カーネルコンフィギュレーションユーティリティー のInactive-Driversに入る。

FreeBSD 2.2.6Rからは、mousedというデーモンを利用することができる。 mousedはマウスの種類を自動判別してくれ、コンソール画面での範囲指定とマウスによるカットアンドペーストができるようになる(ttyv0のみ)ので、なかなか便利だ。 FreeBSDのインストーラ(/stand/sysinstall)からもmousedを利用するように設定できるが、以下では /etc/rc.conf内部に記述する方法を紹介する。

  1. /etc/rc.confの設定
    /etc/rc.conf内部のmousedの設定を以下のように変更する。 私のマシンはPS/2マウスなので、moused_portの指定は、/dev/psm0としている。
    moused_enable="YES"	# Run the mouse daemon.
    moused_type="auto"	# See man page for rc.conf(5) for available settings.
    moused_port="/dev/psm0" # Set to your mouse port.
    moused_flags=""		# Any additional flags to moused.
    	
  2. 再起動する。
以上の操作で、mousedが起動するようになるはずだ。 XFree86 3.3.2のセットアップ画面では、マウスポートとして /dev/sysmouse を指定し、プロトコルは Auto を指定すれば良いだろう。

FreeBSDページの目次に戻る


認識される最大メモリ量を増やす(deprecated)

FreeBSD 2.2.5Rからは、BIOSに質問することなく、カーネルが直接搭載メモリの量を調査するようになったらしい。 というわけで、FreeBSD 2.2.2Rまでは必要だった options "MAXMEM=64*1024"などという指定は必要無くなった。

FreeBSDページの目次に戻る


256MBytes以上のメモリを搭載したマシンにFreeBSDをインストールするには

256MBytes以上のメモリを搭載したマシンで、カーネルオプションにBOUNCE_BUFFERSを指定している場合(ブートフロッピーで使われているGENERICカーネルもBOUNCE_BUFFERSを指定している)は、iosizeが効かなくなるらしい。 (よくわからんけど。)

そんなわけで、256MBytes以上搭載しているマシンには、通常のブートフロッピーからはブートできないらしい。 一度搭載メモリの量を256MBytes以下に減らしてFreeBSDをインストールして、その後にメモリを増やすか、あらかじめBOUNCE_BUFFERSオプションを外して作成しておいたブートフロッピーを用いてインストールすると良いらしい。

FreeBSDページの目次に戻る


サウンド機能を利用するには

FreeBSDのブートフロッピーのカーネルなど、カーネルコンフィギュレーションファイル GENERIC から作成されたカーネルは、サウンド機能を利用できない。 FreeBSDを起動するにあたってはとりあえずサウンド機能は必要ないからだ。 しかし、サウンドの無いパソコンも何か寂しいものなので、ここではSound Blaster AWE32の場合の設定方法を紹介する。
  1. 最初に、サウンドカードのハードウェア情報を収集しよう。
    サウンドカードの名前、irq(Interrupt ReQuest),drq(Dma ReQuest)の番号、I/Oポート番号の設定を収集する。 私の持っているサウンドカードの情報は このように なっているが、工場出荷時の設定とは異なっているので注意が必要だ。
  2. カーネルコンフィギュレーションファイルに必要な設定を記入する。
    /usr/src/sys/i386/conf/LINTというファイルには、全ての種類のサウンドカードの設定例があるので、このファイルから必要な部分のみを自分のカーネルコンフィギュレーションファイルにカット&ペーストして、必要ならば書き換えよう。 SoundBlaster AWE32の場合、LINTに記述してあるサウンド関係の設定の中で、関係のあるのは以下の行だ。
    #
    # The i386/isa/sound/sound.doc has more information.
    
    # Controls all sound devices
    controller      snd0
    device pas0     at isa? port 0x388 irq 10 drq 6 vector pasintr
    device sb0      at isa? port 0x220 irq 7 conflicts drq 1 vector sbintr
    device sbxvi0   at isa? drq 5
    device sbmidi0  at isa? port 0x330
    #device awe0     at isa? port 0x620 
    device gus0 at isa? port 0x220 irq 12 drq 1 vector gusintr
    #device gus0 at isa? port 0x220 irq 12 drq 1 flags 0x3 vector gusintr
    device mss0 at isa? port 0x530 irq 10 drq 1 vector adintr
    # Use this line for PAS avoid port conflict
    device opl0     at isa? port 0x38a
    # For normal case use next line
    # device opl0     at isa? port 0x388
    	
    私のSoundBlaster AWE-32の設定 は、IRQが5(SoundBlasterの工場出荷値は7だが、変更してある)で、low DMA が1、high DMA が5、MIDIのI/Oポートが330Hなので、自分のコンフィギュレーションファイルを変更する。
    low DMA は、8ビットPCMの転送に用いられるDMAで、元祖Sound Blasterから存在している機能だ。(Sound Blaster PROもこの機能を持っている。) そのため、low DMAチャンネルの設定は、device sb0 の行の drq の部分を編集することで設定する。
    high DMA は、16ビットPCMの転送に用いられるDMAで、元祖Sound Blasterには無く、Sound Blaster 16 から追加された機能だ。 (Sound Blaster PROにもこの機能は無いので、Sound Blaster PRO互換の音源を使う場合はこの行はコメントにしよう。) high DMAチャンネルの設定は、device sbxvi0 の行の drq を編集することになる。
    私の場合はSB-AWE32を使っているので、device awe0 の行を有効にする。
    私はPASを使っていないので、device opl0 の行(FM音源チップ 'OPL' の制御をする)は、For normal case という行を利用する。

    変更後を示す。

    # Controls all sound devices
    controller      snd0
    device sb0      at isa? port 0x220 irq 5 conflicts drq 1 vector sbintr
    device sbxvi0   at isa? drq 5
    device sbmidi0  at isa? port 0x330
    device awe0     at isa? port 0x620 
    # Use this line for PAS avoid port conflict
    # device opl0     at isa? port 0x38a
    # For normal case use next line
    device opl0     at isa? port 0x388
    	
  3. /usr/src/sys/i386/isa/sound/sound_config.h ファイルを変更する
    前出のLINTファイル中にも英語で書いてあるが、irq、drq、I/O ポート番号の情報はカーネルコンフィギュレーションファイルだけでなく /usr/src/sys/i386/isa/sound/sound_config.h にも記入しなければならない。 (このように、ヘッダフィルの編集を必要とするのはサウンドデバイスだけなので、今後は直そうという動きもあるようだ。) すこし長くなるので、変更した部分の前後のみを引用する。
    /* ****** IO-address, DMA and IRQ settings ****
    
    If your card has nonstandard I/O address or IRQ number, change defines
       for the following settings in your kernel Makefile */
    
    #ifndef SBC_BASE
    #ifdef PC98
    #define SBC_BASE	0x20d2  /* 0x20d2 is the factory default. */
    #else
    #define SBC_BASE	0x220	/* 0x220 is the factory default. */
    #endif
    #endif
    
    #ifndef SBC_IRQ
    #ifdef PC98
    #define SBC_IRQ		10	/* IQR10 is not the factory default on PC9821.	 */
    #else
    #define SBC_IRQ		5	/* IQR7 is the factory default.	 */
    #endif
    #endif
    
    #ifndef SBC_DMA
    #ifdef PC98
    #define SBC_DMA		3
    #else
    #define SBC_DMA		1
    #endif
    #endif
    
    #ifndef SB16_DMA
    #ifdef PC98
    #define SB16_DMA	3
    #else
    #define SB16_DMA	6
    #endif
    #endif
    
    #ifndef SB16MIDI_BASE
    #ifdef PC98
    #define SB16MIDI_BASE	0x80d2
    #else
    #define SB16MIDI_BASE	0x300
    #endif
    #endif
    
    #ifndef AWE32_BASE
    #define AWE32_BASE	0x620   /* Default = 0x620-3, 0xA20-3, 0xE20-3 */
    #endif
    	
    SBCがSound Blaster, SB16がSound Blaster 16の設定を意味している。
  4. 以上の設定後に カーネルコンフィギュレーション の項目の方法で、カーネルを再構築しよう。 カーネルの再構築が終了したら、新しく作成したカーネルを使うため、一度リブートする。
  5. デバイスファイルを作成する
    UNIXなシステムでは、周辺装置とのデータのやりとりにデバイスファイルと呼ばれる特殊なファイルを使う。 (こうすることで、どんなデバイスでもデバイスファイルを open/ioctrl/read/write/close というファイルアクセス用の共通のコマンドだけでアクセスすることができるというシンプルな構造になる。) そこで、新しい周辺装置(=デバイス)を追加した時は、新しいデバイスファイルを追加する必要がある。 デバイスファイルの作成方法は、
    1. su でスーパーユーザになる
    2. cd /dev で /dev ディレクトリに移動する
    3. ./MAKEDEV snd0 として、デバイスファイルを作成する
    となる。
以上の設定で、サウンドカードの機能が利用できるようになるはずだ。

FreeBSDページの目次に戻る


スタンドアローンマシンのネットワーク設定

スタンドアローンのマシンでも(つまり、ネットワークに接続していないマシンでも)、ネットワークに関する設定は必要である。 ここをうまく設定しないと、ローカルマシン内部でのメールが送信できなくなったり、muleの起動が遅くなったりするのだ。
  1. ループバックデバイス(/dev/lo0)の設定を確認
    ループバックデバイスは、ローカルマシン内部で動作しているプログラム間でTCP/IP接続を疑似的に行なうためのものだ。 単なる無駄なデバイスのように見えるが、通常はTCP/IPで他のマシンと通信を行なうプログラムでも、全く変更することなしにローカルマシン内部で利用できるという利点がある。 ローカルループバックを有効にするためには、 /etc/rc.conf 内部で以下のような指定が存在するかどうかを確認し、無ければ追加する。
    network_interfaces="lo0"        # List of network interfaces (lo0 is loopback).
    ifconfig_lo0="inet 127.0.0.1"   # default loopback device configuration.
    	
    network_interfaces には、使用するデバイス名をスペースで区切って並べて複数書くことができる。 上の例はlo0しか設定していない例である。 このままの状態でカット&ペーストしないで、lo0が設定されているかどうかの確認を行って欲しい。 /etc/rc.confを書き換えただけでは設定は有効にならないので、手動でifconfigコマンドを打つか、マシンをリブートしよう。
  2. /etc/hostsの設定の確認
    ホスト名の設定 を参照して欲しい。
  3. /etc/host.confの設定の確認
    /etc/host.confファイルは、マシン名(例:magi.nerv.jp)からIPアドレスを調査する順番と方法を指定するものだ。 私の /etc/host.conf の設定を以下に示す。
    # If that doesn't work, then try the /etc/hosts file
    hosts
    # Default is to use the nameserver first
    bind
    # If you have YP/NIS configured, uncomment the next line
    # nis
    	
    上に示した例では、最初に/etc/hostsファイルに記述されたホスト名とIPアドレスの組からIPアドレスを検索し、次にbindというプログラムを使ってIPアドレスを検索するという設定である。 FreeBSDをインストールした直後の状態では、bind, hostsの順番に検索しているのだが、muleなどの起動速度は hosts, bind の順番に変更した方が早くなるようだ。
    私はYP/NISは設定しておらず、スタンドアローンマシンでは利用する事もないので一番最後の行の nis の前に # が入ってコメントにされていることを確認しよう。

FreeBSDページの目次に戻る


小規模LANの場合のネットワーク設定

ここでは、LANを構成しているマシンが3台しかない場合(^^;)の簡単な設定例を示す。 という、最も原始的な設定を行う。
  1. カーネルセットアップユーティリティー / カーネルコンフィギュレーションの設定
    まずはネットワークのデータ転送を行うデバイスを有効にする必要がある。 私の場合は ISA NE-2000 コンパチブルの Ether カードを使っているので、デバイス ed0 を有効にする。 カーネルセットアップユーティティーなどを使って設定を行った後、dmesgコマンドなどで
    ed0 at 0300-0x31f irq 10 on isa
    ed0: address 00:00:e8:1b:8c:29, type NE2000 (16 bit)
    	
    などと、デバイスが認識されている事を確認しよう。 (私の場合、NE2000カードのI/Oアドレスを0x300に、IRQを10に変更しているのでこのように表示される。 )
  2. /etc/rc.conf内部の設定
    /etc/rc.conf 内部で以下のような指定を行う。
    network_interfaces="lo0 ed0"    # List of network interfaces (lo0 is loopback).
    ifconfig_lo0="inet 127.0.0.1"   # default loopback device configuration.
    ifconfig_ed0="inet 10.0.0.1"	# NE-2000 device configuration.
    	
    network_interfaces には、使用するデバイス名をスペースで区切って並べて複数書くことができるので、ed0を追加した。
    ifconfig_ed0には、EtherカードにつけるIPアドレスを指定する。 (ここに書くのはifconfigコマンドのオプションなので、詳細はman ifconfigで表示される。) /etc/rc.confを書き換えただけでは設定は有効にならないので、手動でifconfigコマンドを打つか、マシンをリブートしよう。
  3. /etc/hostsの設定
    NISを使わない場合は、マシン名とそのIPアドレスの対応表を/etc/hostsに記述する。 私は下記のように指定している。
    127.0.0.1		localhost localhost.my.domain magi magi.nerv.jp
    # Imaginary network.
    10.0.0.1	magi.nerv.jp magi
    10.0.0.2	tp230.nerv.jp tp230
    10.0.0.3	tp530.nerv.jp tp530
    	
    歴史的な経緯で、インターネットに接続しないネットワーク内部でなら、 の間のIPアドレスは自由に使って良い事になっているらしい。 私の場合は覚えやすいので(^^;)10.0.0.1〜10.0.0.3のIPアドレスを3台のマシンに割り当てている。
  4. /etc/host.confの設定の確認
    この項目についてはスタンドアローンマシンのネットワーク設定を参照して欲しい。
  5. 動作テスト
    双方のマシンを接続しておいてから、ping tp230 とタイプすると、
    PING tp230 (10.0.0.2): 56 data bytes
    64 bytes from 10.0.0.1: icmp_seq=0 ttl=255 time=0.160 ms
    64 bytes from 10.0.0.1: icmp_seq=1 ttl=255 time=0.152 ms
    	
    などと表示され、通信できていることがわかる。 pingは放っておくといつまでも続けているので、適当に Ctrl C を押して停止させよう。
ここまで設定できれば、telnetやftpを使って複数のマシン間でファイルのやりとりとかリモートログインが可能になる。

FreeBSDページの目次に戻る


スタンドアローンマシンのメール設定

スタンドアローンのマシンでも(つまり、ネットワークに接続していないマシンでも)、メールの送受信が行われている。 ここで設定するのは、sendmailの起動時のオプションのみだ。 /etc/rc.conf 内部で以下のように指定する。
sendmail_enable="YES"  # Run the sendmail daemon (or NO).
sendmail_flags="-bd"   # -bd is pretty mandatory.
    
sendmail_flagsから「-q30m」という設定を削除したわけだが、この設定は「なんらかの理由でメール送信に失敗した時、30分ごとに再送信を試みる」という意味があるようだ。 ローカルマシン内部でのメールのやりとりで失敗するわけが無く、失敗するとしたら失敗の原因を除去するまでとことん失敗し続けるので、30分ごとにシステムからの「メールが送れなかったよぉ」メールを受け取るハメになる。 こうなると、ほとんどイタズラメールと変わりが無くなるのでこの設定を削除するわけだ。 以上の変更を加えて、マシンをリブートしよう。

余談だが、「-q」という指定をしないと、送信に失敗したメールを永遠に再送信しなくなる。 どうしても再送信したい場合は、コマンドラインから「sendmail -q」と入力しよう。 すぐに再送信してくれる。

さらに余談だが、この技の応用で、一時的にしかインターネットに接続していないマシンで、いつでもメールが書けるようになる。
ローカルマシン上で、インターネット経由のメールを送信する場合は、最初にmailコマンドなどでメールを書いて送信する。 すると、ローカルマシンはインターネットに接続していないので、当然メールの送信に失敗する。 (送信に失敗したメールは /var/spool/mqueue/ 以下に保存され、再送信の時にはここから読み出される。) この段階で、ダイアルアップPPPなどでインターネットに接続した後、手動で「sendmail -q」と入力すると、送信に失敗していたインターネット経由のメールの再送信が行われる。 今度はインターネットに接続中なので、メールが相手に届くというわけだ。

FreeBSDページの目次に戻る


光磁気ディスクの接続設定

FreeBSD 2.1.6R以降では、標準で光磁気ディスクドライブ(以下、MOドライブ)のサポートが追加されている。
いくつかのMOドライブを利用するとFreeBSDがハングするなどの例が報告されているので、 FreeBSD ハードウェア情報 から 光ディスク動作確認レポート for FreeBSD のページへ移動して、動作例があるかどうか、利用上の注意情報があるかどうか確認しよう。

実際にMOドライブを使う前には、下記のような設定を行うと良いかもしれない。 (128MO, 230MOなら設定しなくとも使えるので、以下は読み飛ばしても良い。)

  1. (任意)od-driverを入手する。
  2. od-driver-2.2.6R.tar.gz 58KB
    ftp://jaz.jp.freebsd.org/pub/FreeBSD-jp/OD/
    1024bytes/sec, 2048bytes/sec のドライブ(640MO, PDなど)をサポートするドライバ od-driver-2.2.5R
    自分ではまだ使っていないのだが、付属のドキュメントはお勧めなので拾っておいて損は無い。
  3. (任意)/etc/disktab を編集する。
    /etc/disktab は、ハードディスク等のハードウェア情報やパーティション情報などを記述しておくファイルである。 (man 5 disktabと入力すると、詳細な情報が得られると思う。)
    FreeBSD 2.1.7R 以降に付属しているデフォルトの disktab には、230Mbytes MO用の情報はあるのだが 128Mbytes MO用の情報は無い。 128MO/230MO用のdisktabは別に無くても困らないのだが、一応、od-driver-2.2-ALPHA.tar.gzのdisktab.odから抜粋して suの指定を追加した128Mbytes MOのエントリ部分と、230MBytes MOのエントリ部分を示しておく。 このエントリはパーティション分割はせず、全部aパーティションとして確保する場合のものだ。
    mo128|Generic 3.5in 128MB MO disk:\
    	:dt=SCSI:ty=removable:se#512:nt#64:ns#32:nc#122:su#248826\
    	:pa#248826:oa#0:ba#8192:fa#1024:ta=4.2BSD:\
    	:pb#0:ob#0:tb=swap:\
    	:pc#248826:oc#0:
    	
    上の部分を切り出して /etc/disktab に追加する。 FreeBSD 2.2.5R以降から、su#の項目が追加されているので要チェックだ。 su#の指定が無いと、newfs時にエラーになる。

    以下に示す230MBytes MOのdistabエントリは、FreeBSD 2.2.5Rに標準で含まれているものと微妙に異なっている。 どちらを使っても ufs で利用できるようだが、私は下記の設定を利用している。

    mo230|Generic 3.5in 230MB MO disk:\
            :dt=SCSI:ty=removable:se#512:nt#64:ns#32:nc#218:su#446325:\
            :pa#446325:oa#0:ba#8192:fa#1024:ta=4.2BSD:\
            :pb#0:ob#0:tb=swap:\
            :pc#446325:oc#0:
    	
    こちらも、上の部分を切り出して /etc/disktab の mta3230|mo230|IBM MTA-3230.... という行から5行と置き換える。

    最近、640/540/230/128MOドライブ(三菱化成 MK640KC)を入手したので、mo540, mo640用の設定も前述のod-driverのドキュメントから引用する。

    mo540|Generic 3.5in 540MB MO disk:\
    	:dt=SCSI:ty=removable:\
    	:se#512:nt#64:ns#32:nc#509:su#1041500:\
    	:pa#1041500:oa#0:ba#8192:fa#1024:ta=4.2BSD:\
    	:pb#0:ob#0:tb=swap:\
    	:pc#1041500:oc#0:
    	
          
    mo640|Generic 3.5in 640MB MO disk:\
    	:dt=SCSI:ty=removable:\
    	:se#2048:nt#64:ns#32:nc#152:su#310352:\
    	:pa#310352:oa#0:ba#8192:fa#2048:ta=4.2BSD:\
            :pb#0:ob#0:tb=swap:\
            :pc#310352:oc#0:
    	
光磁気ディスクへの実際のアクセス方法は、MS-DOSフォーマットのMOのメディアなら mount -t msdos /dev/od0 /mnt でマウントして、あとは /mnt に対して読み書きを行うと良い。

ufsフォーマットのMOメディアなら mount -t ufs /dev/od0 /mnt でマウントしてから /mnt に対して読み書きを行う。

蛇足ながら、MOのメディアを抜く前には

umount /mnt
    
を忘れないように。

FreeBSDページの目次に戻る


問題のある光磁気ディスクの接続設定

不幸にも、私はちょっと問題のある光磁気ディスクドライブを使っている(T_T)。 LogitecのEclace LMO-420H (キャッシュ容量1MBytes)という機種なのだが、このMOドライブはオリンパスのドライブを使っている。
dmesg コマンドを使って、以下のように表示されるMOドライブだったら要注意だ。
(ahc0:5:0): "DELTIS MOS321 1.60" type 7 removable SCSI 2
od0(ahc0:5:0): Optical 121MB (248826 512 byte sectors)
    
注目するポイントは、DELTIS MOS321 1.60という所だ。 ドライブの名前がDELTIS MOS321、バージョン番号が2.0以下のもので、ドライブのキャッシュ容量が1MBytesのドライブのキャッシュ制御ファームウェアにはバグがある。 このドライブに対して大量のデータを書き込むと、ドライブのキャッシュメモリがいっぱいになった時点でSCSIバスを占有してしまい、ドライブのキャッシュメモリが空になるまでSCSIバスを占有し続けるのだ。 回避策として、READ/WRITEキャッシュをオフにすれば普通に利用できることが判明している。
ahcドライバ(AHA-294xドライバ)が改善される前のFreeBSDでは、SCSIバスが占有されてしまうとカーネルがpanicを起こしてしまい、リブートを余儀なくされていた。
FreeBSD 2.2.2R以降のahcドライバならpanicはしないが、SCSIバスが占有されている間に他のSCSIデバイスをアクセスすると、FreeBSD全体の動作が止まってしまうという問題がある。

以下のキャッシュ制御プログラムを使ってドライブのキャッシュをオフにすると、一応問題無くDELTIS MOS321 1.60ドライブを利用することができる。

odcontrol-1.1.tar.gz 11KB
ftp://jaz.jp.freebsd.org/pub/FreeBSD-jp/OD/
MOドライブのキャッシュ制御などを行うプログラム odcontrol-1.1.tar.gz
odcontrol-1.1.tar.gz をインストールして、光磁気ディスクドライブを利用する前にキャッシュをオフにすれば、とりあえず上述の問題のあるドライブでも使用できるようになる。 実際の利用方法は
odcontrol cache off
のようになるだろう。

FreeBSDページの目次に戻る


光磁気ディスクメディアのフォーマット方法

MOメディアをufs(Unix File System)でフォーマットする方法を簡単に記す。 /stand/sysinstallを使うと簡単にディスクやMOメディアのフォーマットができるらしいが、ここではコマンドラインからフォーマットする方法を解説する事にする。 ここで示す方法は、1枚のMOメディアを1スライス1パーティションのufsで利用可能にするというものだ。 より詳しい説明は、上述のod-driverのドキュメントを参照して欲しい。

ここで使っているメディア/スライス/パーティションという単語は下記の意味で使っている。
メディア(ディスク)
1枚のMOメディアを指す。 ここではMOメディアのフォーマットの話なのでメディアと呼んでいるが、disklabelやnewfsの考え方はHDDの場合も同じなので、HDDの場合はディスク全体のことだと思って欲しい。
スライス
一つのハードディスクなどを複数のOSで利用したい場合、HDDを分割して利用することになる。 分割した部分のことをスライスと呼ぶことにする。 スライスはDOSのFDISKや/stand/sysinstallのfdiskを使って作成できる。 日本語版MS-DOS/PC-DOS(DOS/V版)では「基本区画」「拡張区画」と呼ばれており、「領域確保」をやったことがある人も多いはずだ。 この操作で確保される領域がスライスである。
パーティション
ufsで使用する場合、スライスをさらに分割することができる。 これをパーティションと呼ぶことにする。 古来からの風習でaからhまでの一文字で表す。 そのうちaからcまでには、a(ルート),b(スワップ),c(スライス全体)をあらわすという特別な約束がある。 dからhまでには特別な意味は無いので、自由に使って良い。
余談だが、他のUNIXシステムでは、dパーティションはディスク全体をあらわすという約束があるらしい。 そんなわけで、eからhまでは自由に使っても良いと覚えておいた方がいいかもしれない。

Windows95フォーマットで販売されているMOメディアや、Windows95でフォーマットしたMOメディアをdisklabelすると、

od0(ahc0:3:0): ILLEGAL REQUEST asc:21,0 Logical block address out of range
    
というエラーが出てディスクラベルが書き込めない。 どうやら、Windows95でMOメディアをフォーマットするとMBR(Master Boot Record)に不正な値を書き込まれてしまうのが原因らしい。 現在の所の対応策は二つある。
  1. disklabelを行なう前にMOフォーマットプログラム mei を使って、MOメディアを物理フォーマットする。
    meiはFreeBSD 2.2.5Rではpackageになっており、/cdrom/packages/sysutils/mei-1.53.tgzにあるので、pkg_addすると良い。

    meiでMOメディアを物理フォーマットするには

    などのように -u オプションを付加する。
  2. dd if=/dev/zero of=/dev/od0 bs=2048 count=4 として、メディアの先頭から1024byteを0で潰す。
    物理フォーマットすると結構時間がかかるが、この方法だと手速く処理できそうだ。 (この方法はまだやったことないけど。)

以下に2種類のMOメディアフォーマット方法を示す。 どちらか好きな方を使えばいいと思う。

  1. disktabエントリを用意して、それにしたがってフォーマットする方法。
    /etc/disktabに、mo128やmo230エントリを用意して、この情報を使ってフォーマットする。 手順は以下のようになる。
    1. disktab エントリの準備(/etc/disktab)
      mo128, mo230, mo540のエントリを/etc/disktabに追加する。 具体的な内容は光磁気ディスクの接続設定を参照して欲しい。
    2. ディスク・ラベルの書き込み
      下記のうち、どちらかひとつを行う。
      • disklabel -r -w -B od0 mo128 (128MBytes MO の場合)
      • disklabel -r -w -B od0 mo230 (230MBytes MO の場合)
      • disklabel -r -w -B od0 mo540 (540MBytes MO の場合)
      • 640MOはまだ試していない(^^;)
    3. ファイル・システムの構築
      • newfs -t 64 -u 32 /dev/rod0a として、ファイルシステムを作成する。
    4. 実際に利用する
      mount -t ufs /dev/od0 /mnt などとして、マウントして利用する。
  2. disktabエントリを用意せず、スライス全体をいきなり利用する方法。
    この場合の手順は下記の通り。
    1. ディスク・ラベルの書き込み
      disklabel -r -w -B od0 auto として、MOドライブとSCSIデバイスドライバのメディア自動判別機能を使ってディスクラベルを書き込む。
      この方法では、cパーティション(スライス全体)のみのディスクラベルが書き込まれる。
    2. ファイル・システムの構築
      newfs -t 64 -u 32 /dev/rod0c として、ファイルシステムを作成する。 最初の方法とは異なり、aパーティションを作成していないのでcパーティション(スライス全体)に対して newfs している。
      余談だが、 newfs -t 64 -u 32 /dev/rod0 としてパーティションを指定しないでnewfsした場合は、最初に見つかったパーティションがnewfsされるようだ。 aパーティションがある場合はaパーティションがnewfsされ、cパーティションしか無い場合はcパーティションがnewfsされるらしい。 (2.2.6Rでnewfs -t 64 -u 32 /dev/rod0とやってみたら、「newfs: /dev/rod0: `0' partition is unavailable」なんて言われてしまったので、実はうそかも)
    3. 実際に利用する
      mount -t ufs /dev/od0 /mnt などとして、マウントして利用する。

FreeBSDページの目次に戻る


起動時にブートドライブを指定するには

IDE HDDしか接続していない場合や、SCSI HDDしか接続していない場合は、FreeBSDが起動時に出す「Boot:」のメッセージに対してリターンキーを押すだけでFreeBSDは起動する。 しかし、IDE HDDにWin95、FreeBSDをSCSI HDDにインストールしていて、リターンキーを押すだけだと
change root device to sd1a
panic: cannot mount root
    
というメッセージを出してリブートを繰り返してしまう。 そこで、起動時の「Boot:」に対して以下のように指定する。

[BIOSが認識したドライブ番号]:[HDD type]([ユニット番号],a)kernel

以下、私のドライブ構成を例に説明する。(^^;)。 ドライブ構成は以下のようになっている。

この場合、BIOSが認識したドライブ番号は、それぞれ (win95)が0、(win95 data)が1、(FreeBSD 2.2.1R)が2、(FreeBSD 2.2.2R)が3になる。 通常、BIOSはIDEを最初に認識して、次にSCSI HDDのSCSI IDが小さい順番に認識していくのだ。
HDD typeはIDEの場合は wd 、SCSI の場合は sd になる。
ユニット番号は、接続されている同じ種類のドライブ内で0から順番に付けられる。 上の例だと この例では、ユニット番号とSCSI IDが偶然同じになっているのだが、ユニット番号はSCSI IDそのものではないので注意が必要である。

というわけで、私が(FreeBSD 2.2.6R)から起動する場合は、「Boot:」に対して「3:sd(0,a)kernel」と入力すれば良いことになる。

余談だが、「Boot:」に対してリターンを押した場合は、BIOSが認識したドライブ番号とユニット番号は同じものとして起動しようとする。 上のドライブ構成なら、3:sd(3,a)kernel で起動しようとするわけだ。 (本来ならば、3:sd(0,a)kernelで起動しないといけない。) 存在しない4台目のSCSI HDDから起動しようとしているわけだから、起動する筈もない(^^;)。


練習問題1:上のようなドライブ構成の場合、(FreeBSD 2.2.5R)から起動する場合はどのように入力するべきか?

回答1:4:sd(1,a)kernel


練習問題2:以下のようなドライブ構成の場合、(FreeBSD boot)から起動するにはどのように入力するべきか?

回答:2:sd(0,a)kernel

FreeBSDページの目次に戻る


起動時にブートドライブを指定しなくとも済むようにするには

上記 の項目では、起動時の「Boot:」に対して、BIOSが認識したドライブ番号やユニット番号を指定してFreeBSDを起動する方法を紹介した。 しかし、滅多にリブートしないシステムならともかく、起動時に毎回タイプするのも面倒なものである。 そこで、ちょっと設定を行ってリターンキーだけでFreeBSDが起動するようにしてみる。

FreeBSD 2.2.5R以降では、インストール直後のの状態で /boot.config という空のファイルが存在する。 このファイルに Boot: の所に入力するテキストをあらかじめ書き込んでおく事ができるようになった。 suでスーパーユーザになってからエディタなどを利用して/boot.configに

3:sd(0,a)kernel
    
と記入しておくと、次回リブートする時からリターンキーだけで起動できるようになる。
余談だが、起動時に表示される説明は /boot.hlp というファイルに入っている。

FreeBSDページの目次に戻る


ktermを起動すると、Warningが出るときには(deprecated)

FreeBSD 2.2.6Rからは /usr/share/locale/ja_JP.EUC/ 以下のディレクトリにあるロケール用ファイルがきちんと用意されるようになった。 特に修正作業を行わなくともLANG=ja_JP.EUCの場合には date コマンドの出力結果が
1998年 5月26日 火曜日 19時59分46秒 JST
    
のように表示される。

FreeBSDページの目次に戻る


カーネルオプションについて

FreeBSD 2.2.5R以降 では、デフォルトのカーネルコンフィギュレーション(GENERIC)に shared memory (SYSVSHM)機能が含まれるようになった。 カーネルコンフィギュレーションを行わなくてもja-kon2などが利用できる。

FreeBSDページの目次に戻る


毎回xpg4ライブラリを指定するのが面倒な時には

FreeBSD 2.2.1R以降では、ロケールを設定するsetlocale関数がlibxpg4に分離されてしまった。 (libcに入っているsetlocaleはCロケールしかサポートしていない。) このため、環境変数LANGにja_JP.EUCなどと指定していると

   Warning: locale not supported by C library, locale unchanged
    
のようなメッセージが出力されたり、日本語が正しく表示されなかったりする。

そもそも日本語に対応していないソフトの場合は仕方が無いが、そうでない場合(X Window System上の日本語に対応したソフトなど)でも上のようなWarningが出てくるのだ。

対応策としては /usr/X11R6/lib/X11/config/host.def に、

	#define ExtraLibraries -lxpg4
    
と書くと良い。 以後 xmkmf を実行(あるいは ports を使って make)する際には -lxpg4 オプションをつけてコンパイルする Makefile が作られるようになる。

上の設定は、自分でアプリケーションソフトをコンパイルする場合のみ有効だ。 pkg_addした場合には効果が無いので、注意が必要だ。

FreeBSDページの目次に戻る


手動でタイムゾーンを設定するには

FreeBSDをインストールした後、実はタイムゾーン設定を間違えていたということに気がついてしまった場合(たとえば、ncftpで転送したのにファイルのタイムスタンプが9時間ずれる時など)は、以下のようにして修正しよう。

  1. suでrootになる。
  2. touch /etc/wall_cmos_clock
  3. cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
以上で終了だ。
ちなみに、/stand/sysinstallから設定することもできる。


Copyright(c) 1996,97,98 George(小浜 純). All rights reserved.
私の作成したページは全部リンクフリーです。
このページに間違いや要望などがありましたら george@yk.rim.or.jp まで御連絡ください。

[ホームページ] [日記] [読んでいる日記] [FreeBSD] [FreeBSD LINK] [検索]
home: <george@yk.rim.or.jp> or <george@ceres.dti.ne.jp>