FreeBSD QandA 2001年4月18日 更新分

QandA
QandA Project
登録・更新 QandA 一覧

管理番号 1128 (新規) 更新履歴
Q. NFS の Server 設定 (/etc/exports の設定) で、
        bad exports list line /hoge/hoge
   または
        could not remount /hoge/hoge: Invalid argument
   などと怒られる

A. /etc/exports の設定を以下の点に注意してもう一度見直してください
   (mountd および nfsd は既に起動されているものとします)。

   (1) マウントポイントは実ディレクトリでないといけない
       (シンボリックリンクでのマウントポイントは不可)。

   (2) -alldirs を指定するマウントポイントは独立したファイルシステム
       (パーティション) でないと不可。
       サブディレクトリに対する -alldirs は上記 2 番目のエラーとなる。


管理番号 1142 (新規) 更新履歴
Q. リモートプリンタへの出力がうまくいきません。
   ただし、プリンタが接続されているホストからはプリントアウトできます
   し、ネットワークの状況にも問題ないようです。

A. 以下では、次のような状態になっていると仮定します。

     remote:   プリンタが直接接続されているホスト
     machine1: remote へプリンタ出力要求を送るクライアント

   machine1 で lpd(8) が動作しているかどうかを確認します。
   そうでないのなら /etc/rc.conf に lpd_enable="YES" をいれ、
   再起動します。

   machine1 の /etc/printcap を確認してください。
   例えば、

     lp|ps-oki:\
         :lp=:rm=hogehoge.kanazawa-gu.ac.jp:rp=lp:\
         :sd=/var/spool/ps-oki:\
         :lf=/var/spool/ps-oki/log:

   のように、rm (remote.host) フィールドと rp (remote.queue) フィール
   ドの指定が正しいかどうかを確認します。各フィールドの意味およびこの
   ファイルの詳しい書式については printcap(5) の man ページを参照して
   ください。

   次に mahcine1 で lpq(1) コマンドを実行してみます。

     (4:08pm)[machine1: 75] % lpq
     machine1: waiting for queue to be enabled on remote
     Rank   Owner      Job  Files                        Total Size
     1st    okada      2    (standard input)             299486 bytes
     remote: /usr/lib/lpd: Your host does not have line printer access

   上記のような出力が得られた場合、remote の /etc/hosts.equiv ないしは
   /etc/hosts.lpd を確認し、machine1 をいずれかのファイルに登録する
   必要があります。これらのファイルの書式については hosts.equiv(5)hosts.lpd(5) そして lpd(8) の man ページを参照してください。
   ホスト名や IP アドレスをいれてもうまくいかない場合には、両方を
   試してみてください。

   注意: /etc/hosts.equiv に machine1 を登録した場合、machine1 からの 
   rlogin(1) などがパスワードのチェック無しで使えるようになってしまい
   ます。これを望まない場合には /etc/inetd.conf を編集しサービスを停止
   する、tcp_wrapper(tcp_wrappers) でアクセス制限を行う、あるいはプリ
   ンタアクセスのみを許可する /etc/hosts.lpd の使用を考える必要があり
   ます。


管理番号 1154 (新規) 更新履歴
Q. 電話料金を節約するため /etc/ppp/ppp.conf の中で、

     set timeout 300

   などと指定して 5 分間ネットワークにアクセスしない時には回線を切るよ
   うにしてありますが、特にアクセスをしていないのに接続が維持されてし
   まいます。

A. set timeout による idle timer の設定で、一定時間パケットが流れない
   場合には回線を切るようになっていますが、デフォルトでは ping、 
   NetBIOS などのパケットにも反応して、接続を維持してしまいます。例え
   ば、外部から ping を一定間隔で打たれると、その都度 idle timer がリ
   セットされ、見た目にネットワークアクセスをしていなくても ppp(8) は
   接続を維持しようとします。また、接続を維持する上で意味のないパケッ
   トも idle timer に影響を与えることがあります。

   このために、idle timer に影響を与えるパケットと与えないパケットを
   指定して timeout の動作を変更することができます。これは
   alive filter を利用し、例えば、

   [2.2.8-RELEASE 以降]   
     set filter alive 0 deny udp src eq 137
     set filter alive 1 deny udp src eq 138
     set filter alive 2 deny udp src eq 139
     set filter alive 3 deny udp dst eq 137
     set filter alive 4 deny udp dst eq 138
     set filter alive 5 deny udp dst eq 139
     set filter alive 6 deny icmp
     set filter alive 7 permit 0/0 0/0

   [2.2.7-RELEASE 以前]
     set afilter 0 deny udp src eq 137
     set afilter 1 deny udp src eq 138
     set afilter 2 deny udp src eq 139
     set afilter 3 deny udp dst eq 137
     set afilter 4 deny udp dst eq 138
     set afilter 5 deny udp dst eq 139
     set afilter 6 deny icmp
     set afilter 7 permit 0/0 0/0

   などと /etc/ppp/ppp.conf に指定すると、ポート 137 〜 139 を出入りす
   る UDP datagram と ICMP message (ping が代表的)については、idle
   timer に影響を与えませんが、その他のパケットが流れると idle timer 
   をリセットし、接続は維持されます。

   詳しいことは ppp(8) の man ページおよび /usr/share/examples/ppp/
   以下のサンプルファイルを参考にしてください。


管理番号 372 (更新) 更新履歴
Q. 以下のような、ISA PnP の LAN カードは使えますか?
   例: アライドテレシス    LA-ISA                       (ed)
       AceR                ISA PnP Ethernet ALN-101T    (ed)
       3Com                3C509-TPO EtherLink III      (ep)

A. 使えますが、以下に述べる作業が必要な場合があります。
   通常、カードの設定を参照、変更する DOS 用の utility software がつい
   ているはずですので (ベンダーが web で公開している場合もあります)、
   それを用いて他の ISA カードと IRQ、I/O アドレスが衝突していないか確
   認し、必要なら変更します。

   4.0-RELEASE 以降は、ISA PnP をきちんと扱うようになっていますので、
   特にリソースを指定する必要はありません。
   具体的には、kernel configuration file  の記述は 3Com 3C509 を使う場合、
     device    ep
   だけにし、
        at isa? port 0x280 irq 10 iomem 0xd8000
   のようなリソースの指定は省略します。

   2-STABLE、3-STABLE では ISA PnP はうまく扱えませんので、上記
   utility で PnP を OFF にし、確認した IRQ、I/O port 及び iomem の情
   報を指定する必要があります。
   尚、これらリソース情報は、kernel を再構築しなくても、kernel.conf ファ
   イルや、boot 時の userconfig で指定可能です。


管理番号 1859 (新規) 更新履歴
Q. FreeBSDのインストールが終った HDD を まるごとコピーしたいの
   ですが、具体的な手順を教えてください。

A. コピー先の HDD を接続して、オリジナルの HDD から起動します。

   root でログインして /stand/sysinstall を実行します。

   Configure -> Fdisk の画面からコピー先の HDD のスライスを作成
   します。ブートマネージャもインストールしておきます。

   Configure -> Label の画面から、オリジナルの HDD と同じように
   パーティションを作成します。newfs もここで行っておくとよいです。

     例:
       Part      Mount           Size Newfs
       ----      -----           ---- -----
       da1s1a    /mnt           100MB UFS Y
       da1s1b    swap          1024MB SWAP
       da1s1e    /mnt/var      1024MB UFS Y
       da1s1f    /mnt/usr      2048MB UFS Y
       da1s1g    /mnt/home     4550MB UFS Y

   /mnt 以下に新たに作成したパーティションをマウントします。

     # mount /dev/da1s1a /mnt
     # mount /dev/da1s1e /mnt/var
     # mount /dev/da1s1f /mnt/usr
     # mount /dev/da1s1g /mnt/home

   それぞれのパーティションをコピーします。

     # dump 0af - /     | ( cd /mnt      && restore rf -)
     # dump 0af - /var  | ( cd /mnt/var  && restore rf -)
     # dump 0af - /usr  | ( cd /mnt/usr  && restore rf -)
     # dump 0af - /home | ( cd /mnt/home && restore rf -)

   restoresymtable を削除します。

     # rm /mnt/restoresymtable
     # rm /mnt/var/restoresymtable
     # rm /mnt/usr/restoresymtable
     # rm /mnt/home/restoresymtable

   コピー先の HDD から起動した際にブートデバイス名が変わるのであれば
   /mnt/etc/fstab も書きかえておきます。この場合、デバイスファイルも
   /mnt/dev 上で忘れずに作成しておきます。

   オリジナルの HDD を切り離して、コピー先の HDD から起動することを
   確認します。


管理番号 1857 (更新) 更新履歴
Q. ネットワークに関する情報を得るにはどうすればいいのでしょうか?

A. netstat(1) を使います。netstat はオプションによって全く違う出力を
   行いますので、それぞれの簡単な使い方を覚えておくといいでしょう。

     - TCP の再送状況を知る
         % netstat -p tcp

     - mbuf の状態を報告する
         % netstat -m

     - インタフェースの一覧と統計を見る
         % netstat -i

     - 特定のインタフェースの5秒ごとのトラフィックを表示する
         % netstat -I fxp0 -w 5

     - routing table の状態を知る (現在のデフォルトゲートウェイを確認する)
         % netstat -r

     - サーバプロセスが使用しているソケットも含め、全ソケットの状態を表示
         % netstat -a
       このサーバにポート 80 を LISTEN しているサーバはいるのかな?
       というときは
         % netstat -na | grep '\.80.*LISTEN'

       また、あるポートを使用しているのはどのプロセスかを知るには
       [管理番号 800] を参考にしてください。


管理番号 1861 (新規) 更新履歴
Q. FAT パーティションにある日本語ファイル名を扱いたいのですが。

A. 以下の ports / packages にあるアプリケーションで、FAT パーティション
   の Unicode LFN をサポートしています。

   1. ja-msdosfs (ports/japanese/msdosfs)

     ports/japanese/msdosfs または packages の ja-msdosfs を導入し、
     mount_jamsdos を使って FAT パーティションをマウントしてください。
     日本語は EUC で表現されていますので、アプリケーションが EUC を
     扱うことができれば、cp や tar などのコマンドを普通に使うことが
     できます。(4.2-REREASE 以降)
     <URL:http://www.linkclub.or.jp/~clover/msdosfs.html>

   2. ja-mtools (ports/japanese/mtools) [管理番号 640]

     GNU の mtools に Unicode LFN サポートを加えたものです。mtools に
     含まれるコマンド (mdir や mcopy など) だけで取り扱うことができます。

   3. fd (ports/misc/fd) [管理番号 133]

     いわゆる FDclone です。DOS 時代の FD に似た (といっても知らない
     人も多いかもしれませんが) CUI ベースのファイル操作ツールです。


管理番号 1864 (新規) 更新履歴
Q. handbook、FAQ、jman などの日本語ドキュメントを、cvsup を使って
   最新の状態に保ちたいのですが、どのようにしたらいいですか?

A. まず、cvsup で、コレクション doc-all をダウンロードします。
   以下のファイルを用意してください。

     # cat supfile-doc-all
     *default host=CHANGE_THIS.FreeBSD.org
     *default base=/usr
     *default prefix=/usr
     *default release=cvs tag=.
     *default delete use-rel-suffix
     *default compress
     doc-all

     # cat /usr/sup/refuse
     doc/de_DE.ISO_8859-1
     doc/es_ES.ISO_8859-1
     doc/fr_FR.ISO_8859-1
     doc/nl_NL.ISO_8859-1
     doc/ru_RU.KOI8-R
     doc/zh_TW.Big5

   CHANGE_THIS.FreeBSD.org の部分 (cvsup サーバ名) は、
     <URL:http://www.jp.freebsd.org/mirror.html#cvsup>
   などを参考に書き換えて下さい。

   そして、
     # cvsup -g -L 2 supfile-doc-all
   すると、以下のようになります。

     # ls -l /usr/doc
     total 6
     -rw-r--r--  1 root  wheel  1245   9/22 05:48 Makefile
     -rw-r--r--  1 root  wheel   377   4/13  2000 README
     drwxr-xr-x  5 root  wheel   512   3/17 06:08 en_US.ISO_8859-1
     drwxr-xr-x  6 root  wheel   512   3/16 04:17 ja_JP.eucJP
     drwxr-xr-x  6 root  wheel   512   3/15 21:33 share

   次に、make 時に必要なので、ports の textproc/docproj を
   インストールしてください。

     # cd /usr/ports/textproc/docproj
     # make JADETEX=no install
     # make clean

   ただし、docproj は依存する ports が多いので、ダイアルアップ接続の
   場合は、あらかじめ
     <URL:http://www.jp.freebsd.org/www.FreeBSD.org/ja/ports/index.html>
   などで調べて用意しておくと吉かもしれません。

   ここまで準備できたら

     # cd /usr/doc/ja_JP.eucJP
     # make
     # make install
     # make clean

   としてください。

   これで日本語マニュアルは /usr/share/man/ja に、その他のドキュメントは
   /usr/share/doc/ja にインストールされます。


管理番号 1601 (更新) 更新履歴
Q. TDK LAK-CD021BX のように fe driver で動く PC Card ether device が
   FreeBSD 4.0-RELEASE で使えません。何故でしょうか。

A. FreeBSD 4.0-RELEASE では PC Card 周りが newbus 化されましたが、
   この時点では fe driver はまだ newbus 化されておらず、PC Card
   では利用できませんでした。

   2000年9月14日に fe driver も newbus 化され、FreeBSD 4.1.1-RELEASE
   以降では PC Card でも使えるようになりました.


管理番号 1866 (新規) 更新履歴
Q. FreeBSD 4.2-RELEASE において、jail 環境上でシェアードメモリを使う
   ソフトウェアを動かしたいのですが、たとえば PostgreSQL ならば

   IpcMemoryIdGet: shmget failed (Function not implemented) key=5432010, size=144, permission=0
   IpcMemoryAttach: shmat failed (Function not implemented) id=-2
   FATAL 1:  AttachSLockMemory: could not attach segment

   とのエラーメッセージが報告されて起動できません。
   カーネルは options SYSVSHM をつけて構築してありますし、jail 環境上
   で ipcs -M を実行しても有意な数値が出るのに何故でしょうか。

A. 4.2-RELEASE の場合 jail の親環境でシェアードメモリがサポートされて
   いたとしても、名前空間が jail 環境と親環境、あるいは別の jail 環境
   で共用されていることに起因するセキュリティ上の危険性を理由として
   標準状態では jail 環境からシェアードメモリへのアクセスはできません。

   危険性をふまえた上でこの制限を解除するには、システム変数
   jail.sysvipc_allowed を 1 にする必要があります。
   コマンドラインから手動でこれをセットする場合には、次のようにします。

   # sysctl -w jail.sysvipc_allowed=1

   あるいは、/etc/sysctl.conf に jail.sysvipc_allowed=1 という
   記述を入れれば、親環境の起動時に自動的に上のコマンドが実行される
   ようになります。

   詳しくは jail(8) の Sysctl MIB Entries の項目を参照してください。

   なお、この制限は 4.1.1-RELEASE (正確には 2000/11/01 以前の 
   4.x-STABLE) 以前のバージョンにはありません。[FreeBSD-users-jp 60031]


管理番号 401 (更新) 更新履歴
Q. a.out 形式のシェアドライブラリを作成、利用する例があったら教えてください。

A. 以下に例を説明します。
   
   まず、同じディレクトリに shared.c、test_shared.c を以下の内容で作成
   します。

   以下は shared.c (共有ライブラリ) の内容です。

     ----------------- ここから ---------    
      int
      shared(int a)
      {
        a *= 5;
        return(a);
      }
     ----------------- ここまで ---------    

   以下は test_shared.c (ライブラリを使用する実行ファイル) の内容です。

     ----------------- ここから ---------    
      #include <stdio.h>

      extern int shared(int);

      int
      main(void)
      {
        int a;

        printf("number ?:");
        scanf("%d", &a);
        printf("result: %d\n", shared(a));
        return(0);
      }
     ----------------- ここまで ---------    

   まず、シェアドライブラリを構成するオブジェクトを作成します。オプション 
   -fpic はシェアドライブラリを構成するオブジェクトを作成するために必要
   です。オプション -c はリンクを行わないでソースをコンパイルするために
   必要です。

     % gcc  -fpic -o libshared.SO -c shared.c

   次にシェアドライブラリを作成します。

     % gcc -shared -Wl,-soname,libshared.so.1 -o libshared.so.1 libshared.SO

   そして、ld(1) に見つけてもらうために リンクを張ります。

     % ln -s libshared.so.1 libshared.so

   最後に、このシェアドライブラリを利用する実行バイナリを作成します。

     % gcc -L. -lshared -Wl,-rpath=. -o main test_shared.c

   さあ、実行してみましょう。"number ?:" の後に数字を入力してください。こ
   こでは 5 を入力しています。

     % ./main
     number ?:5
     result: 25

   ダイナミックリンクが本当に行われているか、shared.c を変更し、
   libshared.so.1.0 を再作成して、main を実行するとその変更が反映される
   ことを確認しましょう。たとえば、shared.c の "a *= 5;" を "a *= 10;" に
   変更します。

   ----参考----
   コンパイル時に -fpic を付ける意味
     [FreeBSD-tech-jp 2036]
     <URL:http://hawk.ise.chuo-u.ac.jp/student/person/tshiozak/FreeBSD/shlib1/>

   Linux とは違い、FreeBSD では lib${name}.so.X だけ作ればよい。
     [FreeBSD-users-jp 60134]

   -rpath や $LD_RUN_PATH の $LD_LIBRARY_PATH との違い。
   共有ライブラリとのリンクから実行までの過程。
   推奨されるライブラリ作成の手順。
     [FreeBSD-users-jp 60135]

   Executable and Linkable Format (ELF) V1.1 
     <URL:http://developer.intel.com/vtune/tis.htm>

   The Linux Japanese FAQ Project
   ELF HOW-TO, GCC HOW-TO など。
     <URL:http://netvillage.www.linux.or.jp/JF/JFdocs/INDEX-programming.html>


管理番号 1289 (更新) 更新履歴
Q. 新規ファイルをエディタで作成したときの、文字コード (JIS、EUC など) を
   指定したいのですが。

A. エディタによって設定が違います。

     mule-2.3 をお使いなら、 ~/.emacs に
       (set-default-file-coding-system *euc-japan*)

     emacs20/xemacs20 なら、 ~/.emacs に
       (set-default-file-coding-system 'euc-japan)

     mule-4 対応となった emacs20 以降は
       (prefer-coding-system 'euc-japan)

   と書くと、それ以降 作成されたファイルは、EUC コードになります。また、

     euc-japan でなく iso-2022-jp とすれば JIS コード
     euc-japan でなく sjis とすれば SJIS コード

   になります。


   ただし、既に存在するファイルを編集・保存した場合は、emacs/mule は
   文字コードを変換せずに、元の文字コードのままにします。

   ですから、既存ファイルの場合は、明示的に変換しないといけません。
   emacs/mule 上からだと

     M-x set-file-coding-system RET *euc-japan* (mule2.3の場合)
       (C-x C-k f *euc-japan* でも可)
     M-x set-buffer-file-coding-system RET euc-japan (emacs20/xemacs20の場合)
       (C-x RET f euc-japan でも可)

   でできます。また、一度 emacs/mule から抜けて、nkf や qkc を使っても
   いいでしょう [管理番号 1253] 。


   kterm 上で jvim などを使って編集する場合は、
      kterm -km euc
   として、EUC コードで kterm を立ち上げた上で編集しましょう。

   また、Terminal 等から emacs で日本語を使う場合は、
     (set-terminal-coding-system 'euc-japan)
   です。


管理番号 1870 (新規) 更新履歴
Q. NetBSD/i386 と FreeBSD を1台のハードディスクに共存させて、ブート時に
   切り替えて使いたいのですが、どうすればいいでしょうか?
 

A. 結論から言えば、現在では特別な小細工は不要です。

   しかし以前は、複数の BSD パーティション (ここでいうパーティションは 
   FreeBSD で言うところのスライス) に各々 FreeBSD をインストールしても、
   始めに見つかった BSD パーティションからしかブートできませんでした。
   また NetBSD と FreeBSD は、パーティションID が 165(0xa5) と同じだった
   ので、同様に2番目以降の BSD パーティションからはブートできませんでし
   た (現在の NetBSD/i386 では 169)。

   これには NetBSD, FreeBSD 共に、
    1. MBR にインストールされるブートマネージャ (ブートセレクタ)
    2. BSD パーティションの先頭に書き込まれるブートブロック
    3. カーネル
   の何れかに制限があったためです。

   SYSTEM COMMANDER などのいくつかのブートセレクタは、この2.以降の制限を
   出し抜くために、一時的に問題となるパーティションを隠す機能が付いてい
   ます。[FreeBSD-users-jp 29512] [管理番号 797]


管理番号 1871 (新規) 更新履歴
Q. ADSL/xDSL を使い PPPoE nat+ppp で内部ネットワークから閲覧できない
   サイトがあります。どうすればいいですか?
     (対象 OS: FreeBSD 3.4-RELEASE〜FreeBSD 4.2-RELEASE)

A. ADSL の場合パケットサイズが 1454 になっており通常の 1500 より少なく
   なります。原因として、そのサイトは「Path MTU discovery」機能をサポート
   していないと思われます。

   解決策
     1. tcpmssd モジュールを使い送り出す前に問題が発生しないようにする。
        /ports/net/tcpmssd
     2. 4-STABLE が利用可能なら Version2.3 以降の ppp にアップデートする
        (4.3-RELEASE 以降の ppp は Version2.3 です)。4-STABLE な CVS の
        ソースを取ってきてコンパイル。
     3. 内部ネットワークのマシンの MTU を 1454 に変更する。

   参考 URL
     <URL:http://www.daemonnews.org/200101/pppoe.html>


管理番号 274 (更新) 更新履歴
Q. FreeBSD 終了時に自動で電源を切ることが出来ますか。

A. 多くのノートパソコンや apm BIOS と ATX 電源を持つマシンなら可能です。
     1. BIOS 設定で APM を有効にします。
     2. (まだインストールしていなければ) FreeBSD をインストールします。
     3.a kernel に apm device が組み込まれていない場合には apm device が
        有効になるように kernel を作り直します。
        例えば、3.4-RELEASE の (i386 platform の) GENERIC では

        device    apm0    at isa? disable flags 0x31

        となっていますので、下記のように、disable を削除し、flags を 0x20 
        とします。flags の意味について詳しいことは LINT もしくは
        /usr/src/sys/i386/include/apm_bios.h を参照して下さい。

        device    apm0    at isa? flags 0x20

     3.b GENERIC kernel のように apm が組み込まれているものの無効になって
        いる場合には apm が有効な状態で起動されるように設定します。これは、
        起動時に USERCONFIG (boot -c) にて行なうか、kernel.conf に apm を
        有効にする記述を加えます。
        また、flags で 0x10、0x11 (またはいずれかと OR をとったもの) が指
        定されている場合も、これを外す必要があります。

   [4.0-RELEASE 以降で GENERIC kernel の場合]
     3.a /boot/kernel.conf に
         enable apm
       を追加します。
     3.b /etc/rc.conf に
         apm_enable="YES"
       を追加します。これは /stand/sysinstall を起動し、
       メニューの Configure/Startup/APM のトグルをオンにすることでも
       可能です。
     4. shutdown -p で電源が切れます。

   [3.1-RELEASE 以降の場合]
     3. /etc/rc.conf に
         apm_enable="YES"
       を追加します。これは /stand/sysinstall を起動し、
       メニューの Configure/Startup/APM のトグルをオンにすることでも
       可能です。
     4. shutdown -p で電源が切れます。

   [2.2 系列の場合]
     3. PAO を持って来てドキュメントに従ってインストールします。
        shutdown コマンドが新しくなり、kernelも入れ替わります。
     4. shutdown -x で電源が切れます。

     2.2.8 で pccard は使わないという場合には 
       * shutdown コマンドに対する patch
         <URL:http://www.st.rim.or.jp/~motoyuki/FreeBSD/apm-pao19981225-sbin.patch>
       * kernel の apm デバイスに対する patch
         <URL:http://www.st.rim.or.jp/~motoyuki/FreeBSD/apm-pao19981225.patch>

       を当ててコンパイルする、という方法もありますが、ドキュメントが
       整備されていないため、**AS IS** で利用してください、ということです。

   尚、3.0-RELEASE をお使いの場合は新しい RELEASE にバージョンアップする
   のが最も楽な方法でしょう。


管理番号 1874 (新規) 更新履歴
Q. ポインティングデバイス(ラップトップによくついてるマウスの代わりに
   あるデバイス)のタッピング機能(指をそのまま触れるとマウスクリック
   効果がある機能)を止める方法は?

A. 以下のどちらかを試してみてください。

   1. 単にタッピング機能を無効化します。
     moused -m 6=4 -p /dev/psm0 -t auto

   2. 代わりにホイールモードによるスクロール機能をサポートします。
     moused -3 -w 4 -z 4 -p /dev/psm0 -t auto

   これで問題なければ /etc/rc.conf に moused_flags="-3 -w 4 -z 4" の1行
   を追加すれば良いでしょう。ただし、この技が使えるのは ALPS GlidePoint 
   および Interlink VersaPad の一部モデルに限定されます。詳しくは 
   moused(8) の CAVEATS (警告) を参照してください。


管理番号 600 (更新) 更新履歴
Q. 標準の vi では日本語が正常に表示されません。そこで package の nvi 
   をインストールしてみたのですが、やはり日本語が正常に表示されません。
   pkg_info で見るかぎり、きちんとインストールできているのですが。

A. まず始めに、
    % which nvi
   と入力してみてください。結果が
    /usr/bin/nvi
   となるようでしたら、それは FreeBSD システムに標準の、日本語に対応して
   いない nvi が実行されているからです。ports/packages でインストールさ
   れるソフトウェアは、特に指定しない限り /usr/local 以下に配置されます。
   標準の vi(1)nvi(1) との hard link になっています (実体が同じもの
   という意味です)。日本語対応版である

       パッケージ名      | FreeBSD Ports Collection 
      -------------------+--------------------------------
       nvi-m17n          | ports/editors/nvi-m17n
       ja-nvi-sjis       | ports/japanese/nvi-sjis
       ja-nvi-iso2022jp  | ports/japanese/nvi-iso-2022-jp
       ja-nvi-eucjp      | ports/japanese/nvi-euc-jp

   などは /usr/local/bin/nvi としてインストールされるので、コマンド検索 
   PATH で /usr/local/bin を先に参照するように設定するか、alias を設定す
   るなどしてください。

   それでも正常に表示されない場合は、次に画面表示の設定を確認しましょう。
   [管理番号 356]、[管理番号 474] 等を参考にしてください。
   他の端末エミュレータを使っている場合は、そのソフトウェアの日本語機能
   やその設定を確認する必要がありますので、マニュアル等で調べてください。


管理番号 392 (更新) 更新履歴
Q. FreeBSD で動く DHCP サーバ、DHCP クライアントにはどんなものがありますか?

A. FreeBSD 3.2-RELEASE 以降では、DHCP クライアントは標準で Internet
   Software Consortium (ISC) <URL:http://www.isc.org/> のものを採用しました。
   また標準の GENERIC カーネルで Berkeley Packet Filter (bpf) が有効となり、
   インストールフロッピーでもサポートしています。使用法は dhclient(8) をご
   覧くだだい。

   その他では ports 及び packages に、ISC と WIDE による実装があります。
   どちらも、DHCP サーバ、リレーエージェント、クライアントの機能が含まれて
   います。また、MacTCP を使う古い MacOS (MacOS 7.5.3 以降では RARP/BOOTP/
   DHCP/MacIP に対応) や X 端末などで必要になる BOOTP サーバの機能も合わせ
   持っています。

   <URL:http://www.jp.FreeBSD.org/www.FreeBSD.org/ja/ports/net.html>

   ・WIDE-DHCP (ports/net/wide-dhcp)
     <URL:http://www.wide.ad.jp/software/index-j.html>
     dhcps (サーバ), dhcpc (クライアント)
     WIDE-DHCP については以下の QandA も参照してください。
     [管理番号 189] [管理番号 190]

   ・ISC-DHCP Version 2 (ports/net/isc-dhcp2)
     ISC-DHCP Version 3 (ports/net/isc-dhcp3)
     <URL:http://www.isc.org/products/DHCP/>
     dhcpd (サーバ), dhclient (クライアント)
     現在のところ Version 3 は開発中のものです。

   それぞれの対応プラットフォームは、付属ドキュメントなどによると
                           |  WIDE 版  |  ISC 版
     ----------------------+-----------+----------
     Sony NEWS-OS4         |  ○       |
     BSD/386 1.1           |  ○       |
     BSDI BSD/OS           |  ○(*1)   |  ○
     FreeBSD               |  ○       |  ○
     NetBSD                |  ○       |  ○
     OpenBSD               |  ○(*4)   |
     DEC Alpha OSF/1       |           |  ○
     Ultrix                |           |  ○
     SunOS 4.1.4           |  ○       |  ○
     Solaris 2.[567]       |           |  ○
     Linux                 |           |  ○
     HPUX                  |           |  ○(*3)
     Mac OS X              |           |  ○
     NextStep              |           |  ○
     Rhapsody              |           |  ○
     bpf を持つ UNIX       |  ○(*2)   |

   (*1): BSD/OS 3.0 標準添付
   (*2): 付属ドキュメントに「bpf(Berkeley Packet Filter) を持つ OS への移植
         は容易だと思われます。」との記述あり
   (*3): WWW に "Partial functionality: only systems with a single network
         interface are supported." との記述あり
   (*4): 上記 URL にパッチあり

   となっています。DHCP サーバとして使う場合で、WIDE 版が動かないシステムと
   設定ファイルを併用したり、そういった OS を今後利用する可能性がある場合は、
   ISC 版がいいかも知れません。

   ISC 版には、MAC アドレスの集合にはある範囲の IP アドレスを割り当てるといっ
   た、多対多の割り当ての機能があります。WIDE 版にはありませんが、これを可
   能にする非公式なパッチが存在するようです。その他、ISC 版の長所としては、
   複数のネットワークインターフェイスを持つマシン上で動かした場合に、インタ
   フェースと対応するネットワークの設定を自動的に使用する、という点がありま
   す。加えて、定義ファイルが C ライクな文法を持ち、可読性に優れているとい
   うのもあげておきます。

   ISC 版の設定例としては
     <URL:http://www.mars.sphere.ne.jp/tbs-i/sol_pc/dhcp.html>
   があります。ここで使われている OS は Solaris ですが、設定ファイルに違い
   はないので、参考になる筈です。


管理番号 474 (更新) 更新履歴
Q. コンソール画面で漢字/日本語が表示できません。

A. IBM PC/AT 互換機のコンソールはそのままでは漢字を表示できません。
   ports/packages から kon2 をインストールすれば漢字を表示できます。
   原理は DOS/V と同じです。

   FreeBSD のバージョンによって、パッケージ名は多少変更されていますが、
   現在では以下のどちらかをインストールすれば良いでしょう。どちらを入れて
   も実体は同じで、設定ファイル (/usr/local/etc/kon.cfg) を編集すれば、
   切り換えることが可能です。

   1. ja-kon2-16dot (ports/japanese/kon2-14dot)
   2. ja-kon2-14dot (ports/japanese/kon2-16dot)


管理番号 1882 (新規) 更新履歴
Q. XFree86-3 から XFree86-4 にアップグレード (Upgrade) しました。
   TrueType フォント を使いたかったので、module xtt を Load する様に 
   /etc/XF86Config を変更しました。

   しかし xfontsel 等で確認してみると 全く表示されませんし、xfontsel の起
   動時に Warning: ... が出ます。

   また、X の ログ(log) を見てみると *.so が上手く Load 出来ていないよう
   です。

A. /usr/X11R6/lib/module/ 以下に、XFree86-3 用の module を含んでいるのが
   原因のようです。 古い module ディレクトリを 移動させてから 
   ports/x11/XFree86-4 をインストールしましょう。
   {例: (setenv FORCE_PKG_REGISTER; make clean all install) }

   もしくは、ports/x11/XFree86-4/pkg-plist で、 *.so を検索し 該当しない
   ものを module/ から移動してしまいましょう。

   --参考--

   [FreeBSD-users-jp 52354]
   *.so の方をロードしにいってるので、古い X-TT のモジュールが残っている
   ようです。/usr/X11R6/lib/modules 配下の古い shared なモジュールは消し
   ておく必要があります。


QandA
QandA Project
登録・更新 QandA 一覧