FreeBSD QandA 2001年8月12日 更新分

QandA
QandA Project
登録・更新 QandA 一覧

管理番号 1053 (新規) 更新履歴
Q. スタンドアロンなマシンで、他の user に mail を出したのですが、戻って
   来ました。
   (もちろん、user名はあってますし、ドメイン名も間違ってません。)
  

A. 「ドメイン名も間違ってません。」ということは、"username@domainname" 
   形式で送っていますね?
   "username" のみで送ったら、たぶん届くことでしょう。
   どうしても、「"username@domainname" 形式で送りたい。」と思うなら、
   /etc/host.conf を変更しましょう。

   [管理番号 185]、[管理番号 344] が参考になるでしょう。


管理番号 87 (更新) 更新履歴
Q. セカンダリのマスタに FreeBSD を入れたとき、いつも boot: で
   1:wd(2,a)/kernel を入力するのは面倒なんですが。

A. セカンダリのマスタに FreeBSD を入れると、起動時は wd2 として認識されて
   しまうので、最初は "boot:1:wd(2,a)/kernel" というようにオプションをつけ
   なければ FreeBSD は起動してくれません。

   もし boot でオプションをつけずに直接 FreeBSD を起動させようとするな
   ら、方法は 2 つあります。ひとつ目は [管理番号 85] を参照してくださ
   い。もう一つの方法としてカーネルの再構築をして FreeBSD の入っている
   wd2 のドライブを wd1 として認識させる方法があります。

   必要な作業は
     1. カーネルコンフィグレーションファイルの変更
     2. カーネルの再構築
     3. デバイスファイルの作成
     4. /etc/fstab の変更
     5. 再構築したカーネルのインストール
   です。

   FreeBSD 2.2.x-RELEASE では IDE のみのシステムの場合

   1台目のディスク(wd0)  -       プライマリ マスタ   (wdc0 drive0)
   2台目のディスク(wd1)  -       プライマリ スレーブ (wdc0 drive1)
   3台目のディスク(wd2)  -       セカンダリ マスタ   (wdc1 drive0)
   4台目のディスク(wd3)  -       セカンダリ スレーブ (wdc1 drive1)

   という対応を前提としています。この対応はカーネルのコンフィグレーション
   ファイルで変更できます。
   例えば
      セカンダリのマスタに接続されている2台目のハードディスクを
      起動ディスクとする
   ような場合は wd1 に セカンダリマスタ (wdc1 drive0) を対応させる必要があ 
   ります。  

   注意:
      既にインストール済みの場合、デバイスファイルや /etc/fstab の内容は
      wd2 として作成されていますから、そのまま作り直したカーネルをインス
      トールして再ブートするとファイルシステムがマウントできなくなって何
      もできない状態になってしまうので気をつけて下さい。

   1. カーネルコンフィグレーションファイルの変更
   コンフィグレーションファイルの controller wdc のセクションを
   次のように変更します 

   そのためにはまず (/usr/src)/sys/i386/conf/GENERIC のファイルを
   適当な名前でコピーして以下のように一部変更します。
   変更箇所は 2,3 箇所。
   -------------------------------------------------------------------------
   ident                MYMACHINE ← 新しく作ったファイル名
   .....
   config               kernel  root on wd1 ← "wd0" から "wd1" に変更
   ....
   controller   wdc0    at isa? port "IO_WD1" bio irq 14 vector wdintr
   disk         wd0     at wdc0 drive 0

   controller   wdc1    at isa? port "IO_WD2" bio irq 15 vector wdintr
   # disk          wd2     at wdc1 drive 0              行頭に # を書いて無効化
   disk         wd1     at wdc1 drive 0 
                    ↑ FreeBSD の入っている wd2 を wd1 に変更


   2. カーネルの再構築
   このような設定を行なって カーネルの再構築を行ないます。コンフィグレー
   ションファイルの名前を MYMACHINE とした場合、

    # config MYMACHINE
    # cd ../../compile/MYMACHINE/
    # make depend
    # make

   ここではまだ再起動をしないで、そのまま次の操作に入ってください。

   3. デバイスファイルの作成
   wd1 で足りないデバイスファイルを作ります。2 台目のディスクの場合
    # cd /dev/dev
    # sh MAKEDEV wd1s1a

   4. /etc/fstab の変更
   /etc/fstab の変更を行ないます。

   FreeBSD が wd2 としてインストールしたときの /etc/fstab
   --------------------------------------------------------------------------
   /dev/wd2s1b                     none            swap    sw 0 0
   /dev/wd2a                       /               ufs     rw 1 1
   /dev/wd2s1f                     /usr            ufs     rw 1 1
   /dev/wd2s1e                     /var            ufs     rw 1 1
   proc                            /proc           procfs  rw 0 0
   /dev/wcd0c                      /cdrom          cd9660  ro,noauto 0 0
   --------------------------------------------------------------------------
   このファイルの "wd2*" をすべて "wd1*" に変更。

   5. 再構築したカーネルのインストール
   最後に再構築したカーネルをインストールします。
     # cd /usr/src/sys/compile/MYMACHINE
     # make install

   以上の作業を行なった後、再ブートすれば自動的に FreeBSD が起動するでしょ
   う。


管理番号 1126 (新規) 更新履歴
Q. Mule 上で mh-rmail を用いてメールを読み込む時、あるいは MH で inc 
   や scan したときに表示されるメール一覧のメール番号の桁数を変える
   にはどうしたらいいか?

A. デフォルトではメール番号は 4 桁ですが、これを例えば 5 桁に変更
   したい場合には次のようにします。

   (1) まず、 /usr/local/lib/mh/scan.default を ~/Mail/scan.form として
       コピーします。

   (2) ~/Mail/scan.form を次のように編集します。
  
       ---------- ~/Mail/scan.form ------------------------------
       %; NOTE: This file is supplied for reference only; it shows the default
       %;       format string (for non-UK sites) which was compiled into "scan".
       %;       See the source file "h/scansbr.h" for details.
       %5(msg)%<(cur)+%| %>%<{replied}-%?{encrypted}E%| %>\
       ---------------------- end of ~/Mail/scan.form-------------

       4 行目に注目してください。デフォルトでは
         %4(msg)%<(cur)+%| %>%<{replied}-%?{encrypted}E%| %>\
       となっているはずですが、この 4 を 5 に変更します。

    (3) ~/.mh_profile に以下の設定を追加します。
          scan: -form scan.form
          inc: -form scan.form
        以上で inc や scan した際に表示されるサマリーのメール番号
        の桁数を 5 桁にすることが出来ます。

    (4) Mule の mh-rmail を使用する場合には ~/.emacs に次の設定を
        追加記述してください。これを行わないと、フォルダを scan した
        際に表示が乱れたり、削除や refile 等のコマンドを設定した
        時など、取消が出来なくなります。

         (setq mh-cmd-note 5
             mh-good-msg-regexp  "^.....[^D^]"
             mh-deleted-msg-regexp "^.....D"
             mh-refiled-msg-regexp  "^.....\\^"
             mh-flagged-scan-msg-regexp "^.....\\D\\|^.....\\^\\|^.....\\+\\|^......%"
             mh-cur-scan-msg-regexp "^.....\\+")

    また、MIME エンコードされたヘッダーの日本語を正しく処理させるため
    には MH をバージョンアップするのが簡単です。
    [管理番号 1137] [管理番号 458]


管理番号 1129 (新規) 更新履歴
Q. sendmail(8) を daemon mode で起動したり、newaliases(1) を
   したりすると

     hash map "Alias0": unsafe map file /etc/aliases: No such file or directory
     hash map "Alias0": unsafe map file /etc/aliases: Permission denied
   あるいは
     newaliases: cannot open /etc/mail/aliases: Group writable file

   などというメッセージが出ます。
   ひどい時には、メールが配送されなくなります。

A. /etc/mail/aliases.db や /etc/mail/aliases
   (4.2-RELEASE 以前は、それぞれ /etc/aliases.db と /etc/aliases)
   が存在しているか、またファイルの所有権とパーミッションが適正か
   どうかをチェックしてください。このメッセージは /etc/mail/aliases
   のパーミッション等が不適切な場合に出ます。

   参考までに、パーミッションや所有権の 4.3-RELEASE のデフォルトでの
   適正な状態は次の通りです。

     -rw-r--r--   1 root  wheel   1410 Dec 19 08:31 aliases
     -rw-r--r--   1 root  wheel  32768 Apr 17 06:30 aliases.db

   また / と /etc と /etc/mail のパーミッションについても注意を
   払う必要があります。いずれのディレクトリも owner、group は
   それぞれ root、wheel でパーミッションは 755 でなければなりません。

   /etc/mail/aliases.db が存在しない場合には、上記をチェックした上で
   newaliases(1) コマンドを実行します。これでうまくいかない場合には
     # touch /etc/mail/aliases.db
   と空のファイルを作成してから newaliases してください。

   なお、このような場合に sendmail(8) はメールをいったんキューに
   落し、メールを配送しなくなることもあります。/etc/mail/aliases
   等のパーミッションなどを補正してから、sendmail -q とすれば
   キューにたまったメールが処理されるようになります。

   パーミッションやファイルの配置が原因で、NIS マップの初期化や
   更新の際に mail.aliases を作成する場合にも同様の問題が生じます。


管理番号 1497 (更新) 更新履歴
Q. NIS って何ですか? NIS を導入したいのですが、やり方がよくわかりません。

A. 簡単に言うと、複数のホストで /etc/passwd や /etc/hosts などの
   情報を共有する仕組みです。例えば、複数のホストにアカウントを
   持っているユーザがパスワードを変更したいとき、NIS がない場合は
   全てのホストにいちいちログインして、passwd(1) コマンドで
   パスワードを変更しないといけません。

   一方、NIS を導入しておけば、1つのホストでパスワードを変更すれば、
   自動的に他のホストにも新しいパスワードの情報が反映されます。

   NIS の概念、用語、関係コマンドについてはハンドブック
     <URL:http://www.jp.freebsd.org/www.FreeBSD.org/ja/handbook/nis.html>
   に丁寧な説明がされています。また、NIS マスタサーバ、
   NIS スレーブサーバ、NIS クライアントのセットアップの方法も
   具体例にもとづいて書かれています。

   このほかに、NIS の導入時には、以下のページが参考になるでしょう。

      <URL:http://surf.ap.seikei.ac.jp/%7Enakano/linux/NIS-j.html>


管理番号 1152 (新規) 更新履歴
Q. ppp(8) で接続した直後から

     Apr 17 04:38:39 somehost sendmail[39248]: NOQUEUE: SYSERR(root):
        opendaemonsocket: daemon MTA: cannot bind: Address already in use
     Apr 17 04:38:39 somehost sendmail[39248]: daemon MTA: problem creating SMTP socket

   などという変なメッセージが限りなく出てきます。

A. すでに sendmail(8) が daemon mode で起動しているのに、更に
   /etc/ppp/ppp.linkup に
     !bg sendmail -bd -q30m
   などと書かれていませんか?

   既に sendmail(8) が daemon mode で起動しているのにもかかわらず
   新たに sendmail(8) を daemon mode で起動するとこのようなメッセージが
   出ます。とりあえず、sendmail(8) を停止すればこのメッセージは
   止まります。ps -auwx | grep sendmail して sendmail の PID を
   確認し、kill -TERM で停止させてください。


管理番号 1306 (新規) 更新履歴
Q. perl のソースを CPAN などから入手し、自力で build してインストール
   しましたが、色々なトラブルが起こるようです。

A. perl(1) の build は非常に難しく、ヘッダーファイルの依存関係、
   システムコールやライブラリ関数の仕様を完全に理解していない限り
   簡単に build できるものではありません。また、システムに
   インストールされている /usr/bin/perl も、FreeBSD 固有の変更が
   施されたもので、CPAN などで配布しているソースは、そのまま
   コンパイルして動くような状態になっているとはいえません。
   システム標準の /usr/bin/perl か ports/packages のものを用いるのが
   無難です。

   このようなシステム非標準の perl を用いた場合、たとえば
   apache に mod_perl を組み込む際にコンパイルできないなどの
   様々な問題が生じる可能性があります。


管理番号 1340 (新規) 更新履歴
Q. カーネルを再構築しようと思い、ハンドブックなどを参考に config、
   make depend、make という順番で作業を進めていきました。
   すると config と make depend までは正常に終了するのですが、
   make をすると error を出して止まってしまいます。

A. カーネルコンフィギュレーションファイルに間違いはありませんか?
   config(8) コマンドは可能な限りカーネルコンフィギュレーション
   ファイルのチェックを行いますが、限界があります。
   このような場合、原因は色々考えられますが、次のような点をチェック
   してください。

   (1) pseudo-device などのエントリの誤り。

   (2) 依存する options の指定がない。
       例えば 4.3-RELEASE の場合、options として DUMMYNET や
       BRIDGE を指定する場合には同時に IPFIREWALL も指定しなければ
       なりませんが、options IPFIREWALL が欠けていても
       config(8) は warning も error も報告しません。しかし、
       カーネルをリンクする際に失敗します。
       このような options は LINT や NOTES などに注意が記述されて
       いるので必ず目を通してください。
    
   (3) 依存するデバイスの指定がされていない。
       例えば、device atadisk が指定されているのに device ata など
       が指定されていない場合などにはコンパイル時やリンク時に
       エラーになります

   この他に、テストの十分でない機能やデバイスを指定した場合に
   類似の問題が生じることもあります。


管理番号 1676 (新規) 更新履歴
Q. 動作確認が取れている型式の NIC を導入しましたが、うまく認識しません。
  

A. 一般に原因としては、
     (1)NIC が故障している
     (2)カーネルが対応していない
     (3)チップが対応していない
   という 3 つの可能性が考えられます。次の順序で確認をしてみてください。
   
   (1) MS-Windows や MS-DOS で使用することが出来ますか?
   
        (出来る場合) → NIC は正常です。次の確認へ進んで下さい。
        (出来ない場合)→ NIC が故障している可能性があります。
          NIC のマニュアルなどを確認の上、問題がありそうなら、
          製造元に確認されることをお勧めします。
   
   (2) カーネルで NIC が使用できるようになっていますか?
       確認は、起動時の User Configuration mode や dmesg で行なえます。
   
       (ない場合)→ カーネルの再構築を行なって下さい。
       (あった場合)→次の確認へ進んで下さい。
   
   (3) NIC に塔載されているチップの型番は、どうなっていますか?
   
       これはかならず NIC を実際に見て確認してください。
       同一型番であっても製作時期(ロット)が変われば使用されているチップが
       異なることもあり得ます。もしチップの型番が異なるようであれば、あきら
       めて他の NIC を購入するか、patch を作りましょう。
  


管理番号 1894 (新規) 更新履歴
Q. 3.x-RELEASE から 4.x-RELEASE にアップグレードしたら ls(1)
   などで表示されるタイムスタンプの形式が変わってしまいました。
   
     3.4-RELEASE :
     -rw-r--r--  1 user   group  1718 Apr 12 21:29 filename
     4.2-RELEASE :
     -rw-r--r--   1 user   group  1718   4/12 21:29 filename
   
   3.x-RELEASE と同様の形式にするにはどうしたらよいですか?
  

A. LANG や LC_TIME などの環境変数を確認してみて下さい。
   4.0-RELEASE 以降 /usr/share/locale/ja_JP.EUC/LC_TIME が変更され、
   出力の書式が変更されています。
   
   このため emacs の dired など一部のアプリケーションでは正常に動作しない場合
   もあります。従来の書式にしたい場合は、
   
   Bourne shell 系
   $ LC_TIME=C
   $ export LC_TIME
   
   C shell 系
   % setenv LC_TIME C
   
   emacs 内のみで設定を行う場合
   ~/.emacs に以下の設定をいれる
   
   (setenv "LC_TIME" "C")
   
   等の方法があります。


管理番号 798 (更新) 更新履歴
Q. FreeBSD の各バージョンの配布ファイルの内容や変更点を調べたいのですが。

A. CVS リポジトリを CVSweb で見てください。
      <URL:http://www.jp.FreeBSD.org/cgi/cvsweb.cgi?lang=ja>

   例えば、/etc/rc の内容を見たい場合は
      <URL:http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/etc/rc?lang=ja>
   で、ファイルの変更履歴を見ることができます。

   また FreeBSD 3.2-RELEASE で配布された /etc/rc を見たければ、
   RELENG_3_2_0_RELEASE というタグを探します。
      1.169.2.11 Mon May 3 8:13:26 1999 UTC by grog 
      CVS Tags: RELENG_3_2_PAO_BP, RELENG_3_2_0_RELEASE, RELENG_3_2_PAO;
         Branch: RELENG_3
   ですね。

   /etc/rc の 4.1-RELEASE と 4.2-RELEASE との変更点を見たければ、一番下の
      Diffs between ... and ....
   とあるところで、一方の SELECT BOX で「RELENG_4_1_0_RELEASE」を、もう
   一方で「RELENG_4_2_0_RELEASE」を選択し、「Get Diffs」ボタンを押すと
      <URL:http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/etc/rc.diff?lang=ja&r1=1.212.2.4%3ARELENG_4_1_0_RELEASE&tr1=1.1&r2=1.212.2.8%3ARELENG_4_2_0_RELEASE&tr2=1.212.2.23&f=u>
   という差分が得られます。


   FreeBSD は、最先端の開発は -CURRENT で、安定版は -STABLE で、
   というふうに2本立てで行われています。
      <URL:http://www.jp.FreeBSD.org/www.FreeBSD.org/ja/handbook/current-stable.html>
   2001/04/22 現在では、5-CURRENT/4-STABLE となっています。

      <URL:http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/etc/rc?lang=ja>
   で、
      1.254 Sat Mar 10 5:33:37 2001 UTC by dougb
   などとリビジョン番号 (バージョンのようなもの) が 1.xxx となっているものが
   -CURRENT です。現在は 1.xxx = 5-CURRENT ですが、そのうち 1.xxx = 6-CURRENT に
   なり、1.xxx = 7-CURRENT となっていくでしょう。

   一方 -STABLE は
      1.212.2.21 Wed Mar 7 20:13:56 2001 UTC by jkh 
      Branch: RELENG_4 
   のように「Branch: RELENG_4」とあり、1.xxx.y.zzz という形のリビジョン
   番号になっています。

   cvsweb では、-CURRENT/-STABLE の変更が時系列順に並んでいますので、注意して
   下さい。4-STABLE のみの変更点を見たい場合は、一番下にある
      ここでは一つのブランチの履歴だけを選んで表示することができます。
      Branch: ...
   というところで「RELENG_4」を選択し、「View Branch」ボタンを押します。
      <URL:http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/etc/rc?lang=ja&only_on_branch=RELENG_4>
   これが、4.0-RELEASE がリリースされてから、4-STABLE で /etc/rc に
   加えられた全ての変更です。

   CVSについては [管理番号 649] を参照してください。


管理番号 841 (更新) 更新履歴
Q. FreeBSD で使える Pascal の処理系はありますか?

A. Pascal のソースを C 言語のソースに変換し、それをさらに C コンパイラで
   コンパイルするタイプのものは、p2c と ptoc があります。どちらも
   ports/packages に含まれています。sqrt(3) などの libc に含まれない関数を
   使う場合は、オプションに -lm を付ける必要があります。→ [管理番号 1609]

   また、ネイティブコンパイラ (C 言語に変換しないタイプ) の GNU Pascal
   Compiler というものもあります。lang/gpc として port/package が用意されて
   います。


管理番号 180 (更新) 更新履歴
Q. カーネルが panic する場所を特定したいのですが、
   デバッグ用シンボルテーブルを含んだカーネルはどうやったら
   作れるのですか?

A. config(8) コマンドに -g オプションをつけて
     # config -g MYKERNEL
   とするか、カーネルコンフィギュレーションファイルに
      makeoptions     DEBUG=-g    #Build kernel with gdb(1) debug symbols
   などという行を付け加え、config(8) コマンドを実行します。

   あとは普通に make すればいいのですが、このように作成された
   カーネルはデバッグ用の情報を含むためサイズが大きなものとなります。
   たとえば 4.3-RELEASE の場合、通常 2 MB 強のカーネルが
   9 MB 弱程度にまで大きくなるので、ルートファイルシステムの
   残り容量に気をつける必要があります。strip(1) したカーネルを
   インストールしましょう。

   [4.0-RELEASE 以降]
   普通にカーネルの再構築の要領で make すれば、デバッグ用のカーネル
   kernl.debug が作成され、make install の際には objcopy(1) で
   デバッグ情報の取り除かれたカーネルが自動的にインストールされます。

   [3.x-RELEASE 系列まで]
   次のようにして、デバッグ情報を含んだカーネルのバックアップを作成し、
   デバッグ情報を取り去ったものをインストールします。
     # cp kernel kernel.debug
     # strip -x kernel
     # make install

   kernel デバッグの時は、次の例のように kernel.debug の方を指定します。
     # cd /usr/src/sys/compile/MYKERNEL
     # gdb -k ./kernel.debug /var/crash/vmcore.0     

   デバッグの際には次のページが参考になるでしょう。
   <URL:http://ganko.eps.nagoya-u.ac.jp/~kato/FreeBSD/debug/>


管理番号 60 (更新) 更新履歴
Q. FreeBSD を 複数の CPU が付いたマシンで動かせますか?

A. 動きます。まずは
     <URL:http://people.freebsd.org/~fsmp/SMP/SMP.html>
   を見ましょう。
   SMP で動いたハードウェアの一覧もあります。
     <URL:http://www.bremen.or.jp/shigeru/FreeBSD/SMP/smp.html>
   また FreeBSD に直接関係ありませんが、
     <URL:http://wwwcsif.cs.ucdavis.edu/~wen/dual-cpu.html>
   SMP 対応 Motherbord の一覧です。


管理番号 749 (更新) 更新履歴
Q. Sendmailをバージョンアップしたい。インストールするためのパッケージは
   ありませんか。

A. 特にありませんが、最新の FreeBSD-current, -stable では RELEASE に
   付属のバージョンよりも新しい sendmail が付属していることが多いので
   これのソースを持ってきてコンパイルするのが比較的簡単です。

     <URL:ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/sendmai
   l/>
     <URL:ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/src/usr.sbin/sendmail
   />

   から入手できます。バージョンアップに際しては以下の Web サイトを
   参考にするとよいでしょう。

     - Sendmailの公式ページ
       <URL:http://www.sendmail.org/>
     - WIDEプロジェクトの「Information about the Sendmail」
       <URL:http://www.kyoto.wide.ad.jp/mta/sendmail.html>
     - コンピュータ緊急対応センター (JPCERT/CC)
       「技術メモ - sendmail バージョンアップマニュアル -」
       <URL:http://www.jpcert.or.jp/ed/2000/ed000005.txt>

   古いバージョンで使用していた設定ファイル sendmail.cf はたいてい継続して
   使えますが、新しく導入された機能を使うためにはそれに対応した設定を行う
   必要があることもあります。


管理番号 852 (更新) 更新履歴
Q. FreeBSD では ATA HDD (EIDE) 及び ATAPI デバイスの DMA 転送をサポート
   していますか?

A. FreeBSD のバージョンによりサポート状況は異なります。また、以下の記述は
   基本的に FreeBSD/i386 (いわゆる PC/AT 互換機) の話です。FreeBSD(98) で
   は全く事情が違いますので注意してください。

   1. FreeBSD 4.3-RELEASE 以降

     まず IDE コントローラが DMA をサポートしていれば、HDD に関しては自動
   的に DMA 転送を有効にしようとします。それに対して ATAPI デバイス 
   (CDROM, ZIP, LS-120 など) は、デフォルトでは DMA は無効にされています。
   この動作は次の MIB によって制御できます。

     hw.ata.ata_dma   ‥‥ ATA HDD
     hw.ata.atapi_dma ‥‥ ATAPI デバイス

   この MIB に対して `1' を設定すれば DMA 転送を有効に、`0' を設定すれば 
   DMA 転送を無効にすることができます。設定方法は、/boot/loader.conf に
   次のような行を追加するか、

     hw.ata.ata_dma="0"   ‥‥ ATA HDD の DMA 転送を無効化し PIO モードへ
     hw.ata.atapi_dma="1" ‥‥ ATAPI デバイスの DMA 転送を有効化

   boot loader(8) のプロンプトで set hw.ata.atapi_dma="1" などとします。
   詳しくは ata(4) と loader.conf(5) の man page を参照してください。

   2. FreeBSD 4.0-RELEASE 以降 4.2-RELEASE まで

     デフォルトの動作に関しては 4.3-RELEASE 以降と同じですが、HDD につい
   てはブート時に DMA 転送を強制的に無効にすることができません。これは
   特定のハードウェアの組み合わせによっては問題となることがあります。
   起動後であれば sysctl(8) を使って、次のようにすれば良さそうです。

     # sysctl -w hw.atamodes=pio,pio

     ATAPI デバイスについては、カーネルオプションを使用することで DMA
   転送に対応します。GENERIC カーネルではこのオプションはコメントアウトさ
   れていますので、カーネルの再構築が必要です。

     options     ATA_ENABLE_ATAPI_DMA    #Enable DMA on ATAPI devices

   3. FreeBSD 3.x-RELEASE

     wd ドライバの flags を指定することにより、DMA 転送が可能になります。
   マニュアル wd(4) を御覧下さい。ただし、サポートされている ATA chipset 
   は Intel PIIX のみのようで、他の chipset で有効かどうかは不明です。
   (src/sys/i386/isa/wdreg.h 参照)

     controller  wdc0  at isa? port "IO_WD1" bio irq 14 flags 0xa0ffa0ff

     0x8000 … 32bit 転送
     0x4000 … スリープモードによる HDD の一時停止への対応
     0x2000 … DMA 転送
     0x1000 … LBA モード
     0x00ff … 下位 8bit は multi-sector 転送。0xff はドライブの最大数。
     下位 16bit が Master、上位 16bit が Slave に対する設定です。

   4. FreeBSD 2.2.x ではサポートされていません。


管理番号 714 (更新) 更新履歴
Q. ユーザ、グループの新規追加をしようと思うのですが、ユーザ ID、
   グループ ID の付け方には何か決まりはあるのでしょうか?

A. 既存の ID と重ならない番号を使えばいいだけです。
   ただし、一般に UNIX の「慣習」としてユーザ ID は、

   0〜99 : root、daemon、bin、sys などのマシンの管理に必要なアカウントや
           アプリケーションのための特別なアカウント
   100〜 : 一般ユーザアカウント

   とすることが多いです。参考にして下さい。

   グループ ID についても、/etc/group にシステム予約のグループが書かれて
   おり、同様の事が言えます。

   なお、adduser(8) コマンドでユーザの追加を行なうとユーザID、
   グループ ID ともに 1000 から割り当てられます。


QandA
QandA Project
登録・更新 QandA 一覧