↑ 「FreeBSDで遊ぼう」のページへ

↑ 「デスクトップ環境の構築(LXDE on FreeBSD 8.x)」のページへ

↑ トップページへ

★ [SilverSackの自画自賛] FreeBSDで遊ぼう

★

 デスクトップ環境の構築(LXDE1.0_6 on FreeBSD 8.x) - 1. FreeBSDのインストールとGUI環境構築前に行う作業


ここでは、FreeBSDを日本語デスクトップOSとして使用する場合のインストール方法について、書きます。FreeBSDだけでデスクトップOSになるわけではなく、これはその後の作業の出発点です。デスクトップOSとして利用しようとすると、先にやって置いた方がいい内容もいくつかあって、それについても合わせてここで書いておきます。なんて、えらそうに書いてますが、実際の所、理論の裏付けなく、経験だけで書いていますので、そんなもんだと思って読んでください。

  1. FreeBSDのインストール

    1. インストール前に用意しておく情報

      インストールの途中で、入力を求められる情報があって、そのためにインストール前に調べて揃えておかなければいけない情報があります。ここでは、それをまとめておきます。

      • ネットワーク関連の情報
        まずは、DHCPを使うかどうか(IPアドレスを自動取得とするかどうか)。
        DHCPを使わない場合、
        • IPアドレス
        • DNSサーバーのアドレス
        • サブネットマスク
      • 自分のユーザー設定情報
        • ログインID
        • パスワード
        • フルネーム
      • ディスク容量
        「20GB+自分で使う容量」位ですかね。極力パッケージを使うので、こんなもんで足りると思います。
      補足 FreeBSDは、その後のアプリケーションのインストールとか、セキュリティアップデートとか、セットアップに関する作業は、大抵、ネットワークに繋がっていないと、まず、できません。なので、インストレーションの段階でネットワークの設定をしておいて、インストールが終わったらネットワークは起動できているという状態にする必要があります。
      FreeBSDは、基本的にrootユーザー(=スーパーユーザー)以外は、できる作業に制限があります。なので、rootでログインしていろいろなことをやりたくなるのですが、rootユーザーに割り当てられるディスク領域(ホームディレクトリ)は、結構少ないので、ホームディレクトリの豊富な一般ユーザーを自分用に作成して、それでログインして、セットワーク作業の時にスーパーユーザーになって作業するという方式を採った方が、間違いが起こりにくくなります。その関係で、インストール時に自分用のユーザー設定はやっておいた方が絶対にいいです。
    2. インストールの手順

      1. CDを入れて起動。
      2. 国を選択(選択値 : Japan)。
      3. キーボードを選択(選択値 : Japanese 106)。
      4. SysInstallメニューが表示される。インストール方法を選択(選択値 : Standard)。
      5. User Confirmation Requestedのダイアログ(HDDのシリンダ数等に間違いがないかの確認。)が表示されることがある。Yesを選択。(問題があるかも知れないから、聞かれるわけですが、大抵の場合、問題ないはずなので、このまま行きます。とはいうものの、自己責任でお願いします。)
      6. FDisk Partition Editorが表示される。
        1. インストールする領域が空き領域でない場合は、一旦削除(D(Delete Slice)をキーイン)。
        2. インストールする空き領域を選択してスライス作成(C(Create Slice)をキーイン)。
        3. 作成する領域の容量の確認を求められるので、OK。
        4. ファイルフォーマットの確認を求められるので、[165](FreeBSDのファイルフォーマットの意味)であることを確認してOK。
        5. 念のため、起動可能スライスにする(S(Set Bootable)をキーイン)。
        6. Q(Finish)を選択して、FDisk Partition Editorを終了。
      7. Install Boot Manager for Driveで、ブートマネージャーの扱いの確認を求められるので、適切なものを選択してOK。(私の場合は、別のブートマネージャーを使用して、複数OS使用しているので、「ad0 None」(ブートマネージャーはインストールしない。)を選択してます。)
      8. Disc Label Editorが表示される。画面上部にFreeBSDをインストールする領域が表示されていることを確認して、A(Auto)を選択する。Partitionが作成されたことを確認して、Q(Finish)を選択して、Disc Label Editorを終了する。(特に知識がないのであれば、A(AUTO)しかないです。)
      9. Choose DistributionでFreeBSDの中の何をインストールするかを聞かれるので、「Developer」を選択して、OKを押す。
      10. Documentインストールメニューが開くので、「EN(English)」を選択してOKを押す。
      11. Ports Collectionをインストールするか聞かれるので、NOを押す。
      12. Choose Install Mediaで、どこからインストールするかを聞かれるので、「CD/DVD」を選択して、OKを押す。
      13. User Confirmationで「本当にインストールするか」最終確認を求められるので、Yesを押す。Messageが表示されるので、OKを押す。(ここからファイルのコピーが始まって、インストールが始まります。ここまでの作業は取消可能ですが、このステップが終わるともう取消できません。また、次のステップまではちょっと間が空きます。)
      14. (ここからはインストール後の設定作業です。)Network Setupでネットワークのセットアップをするか聞かれるので、Yesを押す。
      15. 複数ネットワークアダプタがある場合、ネットワークアダプタを選択する画面が表示されるので、使用するネットワークアダプタを選択してOKを押す。
      16. IPv6を使用するか聞かれるので、Noを押す。
      17. DHCPを使用するか聞かれるので、適切な方(Yes or No)を選択する。(WindowsのTCP/IPのネットワーク設定で、IPアドレスとかを「自動的に取得する」としている場合は、Yes、そうではなくてIPアドレスの欄に「196.168.128.64」といったような具体的な値が入っている場合は、Noを選択します。)
      18. ネットワークの設定値を聞かれるので、入力する。
        Host localhostと入力
        Domain localdomainと入力
        DNS Domain Name Serverのアドレスを入力する。(上でDHCPにYesと回答した場合は、既にアドレスが入っているので、特に入力不要。)
        IP Address PCのIPアドレスを入力する。(上でDHCPにYesと回答した場合は、既にアドレスが入っているので、特に入力不要。)
        Mask Subnet Maskを入力する。(上でDHCPにYesと回答した場合は、既にアドレスが入っているので、特に入力不要。)
      19. Network Gatewayとして使用するか聞かれるので、Noを押す。
      20. Network Serviceがどうのこうのと聞かれるので、Noを押す。
      21. SSHログインを使用するかと聞かれるので、Noを押す。
      22. FTPアクセスを受け付けるかと聞かれるので、Noを押す。
      23. NFSサーバーとして使用するかと聞かれるので、Noを押す。
      24. NFSクライアントとして使用するかと聞かれるので、Noを押す。
      25. Console Customizeをするかと聞かれるので、Noを押す。
      26. Time Zoneの設定を求められるので、Yesを押す。
        1. UTCかと聞かれるので、Noを押す。
        2. Select Time Zoneメニューが表示されるので、まず地域を選択して、その後国(orタイムゾーン)を選択する。(通常はAsia→Japan。私は、今は香港在住なので、Asia→Hong Kong。)
        3. 確認を求められるので、OKを押す。
      27. Mouse Typeを聞かれるので、Noを押す。
      28. Package Collectionを見るかと聞かれるので、Noを押す。(ここで見てもしゃあないと思います。)
      29. ユーザーを追加するか聞かれるので、Userを選択してOKを押す。
      30. ユーザー登録画面が表示されるので、
        Login ID ログインIDを入力。
        Password パスワードを入力。(二カ所に入力)
        Full Name ユーザーのフルネームを入力
        Member Groups wheel,operatorと入力。
        を入力してAddを押す。必要な登録が済んだら、Exitを選択してOKを押す。
        補足 Member Groupsにwheelと入力するのは結構ポイントです。FreeBSDだとスーパーユーザーしかできないことというのが結構ある(セキュリティ上の理由ですが。)のですが、wheelをGroup Memeberに設定しておくと、ログオフすることなくスーパーユーザーになれる(suコマンドが使える、逆にwheelユーザーグループに入れておかないとsuコマンドが使えない)ようになります。インストールとか設定でスーパーユーザーでの作業は結構あるので、これはやっておかないと、結構困ります。
      31. 管理者のパスワード設定を求められるので、入力して設定する。
      32. 設定メニューに戻るか聞かれるので、NOを押す。
      33. SysInstallメニューに戻るので、ExitInstallを選択して、SysInstallメニューを終了する。
      34. 本当に終了するか聞かれるので、YESを押す。
      35. CD/DVDドライブがイジェクトされ、「メディアを取り出して、OKボタンを押せ」というメッセージが表示されるので、インストールメディアを取り出して、OKボタンを押す。すると再起動される。
  2. GUI環境構築前に行う作業

    ここからの作業は、rootでログインして行ってください。
    1. sendmailの無効化

      /etc/rc.confを開いて、以下の記述を追加します。デスクトップOSとして使う場合には使わないsendmailを立ち上がらせないようにするための記載です。起動時にsendmailがネットワーク探しに時間を使って、起動が遅くなったりするんですが、それを回避するためです。
          sendmail_enable="NO"
          sendmail_submit_enable="NO"
          sendmail_outbound_enable="NO"
          sendmail_msp_queue_enable="NO"
      コマンドプロンプト(#)で、ee /etc/rc.confと打つとエディタが開きます。上記の記載を入力して、[ESC]→[c]→[c]→[Enter]で、保存、[ESC]→[a]→[Enter]で、エディタ終了です。(UNIXの熟練者は、eeではなく、viとやるようですが、私はまだ修行が足りません。)
      念のため、ここで再起動しておきます。
    2. portsのFTPサーバーの指定

      portsのサーバーを近くのものにすると、ダウンロードが早く済んで設定が楽なので、その設定をします。/etc/make.confに以下の記載をします。
         MASTER_SITE_OVERRIDE=ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
      こちらのサイトにFTPサーバーの一覧がありますので、必要に応じて指定してください。
    3. シェアドメモリの拡張

      /etc/sysctl.confを開いて、以下の記述を追加します。FreeBSDでデフォルトで確保してあるシェアドメモリは32MB程度らしく、メモリがふんだんに搭載されている最近の環境であれば、拡張しておいた方がパフォーマンスが上がるそうです。ザクッと搭載メモリの半分くらいをシェアドメモリとして指定してやるのが良いようです。
         kern.ipc.shmmax=搭載メモリ(バイト単位)の半分
         kern.ipc.shmall=上記で設定したshmmax/4096
      (メモリが2GBの場合
         kern.ipc.shmmax=1073741824
         kern.ipc.shmall=262144)
      (メモリが256MBの場合
         kern.ipc.shmmax=134217728
         kern.ipc.shmall=32768)
      コマンドプロンプト(#)で、ee /etc/sysctl.confと打つとエディタが開きます。eeの操作は、「I. sendmailの無効化」に書いたとおりです。
      なお、メモリ量の確認は、
         # grep memory /var/run/dmesg.boot[ENTER]
      で、できます。
    4. FreeBSDのアップデート

      CDに入っているバージョンが最新とは限らないので、FreeBSDのアップデートをしておきます。コマンドプロンプトから、以下のコマンドを打ってください。(fetchで「アップデートはありません」といわれたら、installは不要ですが。)
         # freebsd-update fetch[ENTER]
         # freebsd-update install[ENTER]
      念のため、ここで再起動しておきます。
    5. portsツリーの更新

      アプリケーションをインストールするためにはportsツリーを構築しておかないといけないので、それをここでします。コマンドプロンプトで、以下の入力をして、Enterキーを押します。
         # portsnap fetch && portsnap extract[ENTER]
      10〜30分ほどかかるので、気長に待ちます。
      (&& というのは、一連のコマンドを続けて実行させるための記号です。こんなんを見るとCUIも便利だなと思います。)
    6. pkgユーティリティのインストール

      package管理の新しいユーティリティ、pkgが導入されて、パッケージの構築も週一で行われるようになったそうなので、可能な限りpackageを使います。そのためにpkgをインストールします。コマンドプロンプトで、以下の入力をしてください。
         # cd /usr/ports/ports-mgmt/pkg && make install clean[ENTER]
         # echo WITH_PKGNG=yes >> /etc/make.conf[ENTER]
         # pkg2ng[ENTER]
      そのあと、「/usr/local/etc/pkg/repos/FreeBSD.conf」というファイルを作成して、以下の内容を記載してください。
         FreeBSD: {
           url: "@.pkg+http://pkg.FreeBSD.org/${ABI}/latest",
           mirror_type: "srv",
           enabled: yes
         }
    7. portmasterのインストール

      週一でpackageが構築されるようになったとはいえ、実は全てが用意されているわけではないので、portmasterもインストールしておきます。コマンドプロンプトで、以下の入力をして、Enterキーを押します。
         # pkg install ports-mgmt/portmaster[ENTER]
      ここで、portmasterを有効にするために、ログインし直します。
    8. pserarchのインストール

      アプリケーションのインストールの際にお目当てのアプリの場所を探すのに使うpsearchをインストールしておきます。コマンドプロンプトで、以下の入力をして、Enterキーを押します。
         # pkg install ports-mgmt/psearch[ENTER]
      FreeBSDに標準で用意されているwhereisコマンドでも似たようなことが出来ますが、psearchはports検索用のツールですから、こっちの方が使い勝手がいいです。
    9. デバイスのインストール

      1. サウンドドライバのインストール

        FreeBSDは、インストールしただけではサウンド機能は無効になっています。以下の手順で、サウンドドライバーを起動時に読み込むようにします。
        1. 以下のコマンドを打って、メタドライバを読み込みます。
             # kldload snd_driver[ENTER]
        2. どのドライバを選んだか調べます。コマンドプロンプトで、以下のように打って、サウンドハードウェアの状況を調べます。
             # cat /dev/sndstat[ENTER]
          snd_xxxという表示があったら、これをメモします。ない場合は、サウンドデバイスの情報とおぼしきものをメモって、そのあと/boot/defaults/loader.confファイルを開いて、対応するsnd_xxxを探します。
          それから、サウンドデバイスがpcm0とかpcm1とかいう番号が振られて表示されますが、自分が使いたいサウンドデバイスがpcm0になっていることを確認してください。なっていない場合は、それがpcmの何番になっているか、メモってください。
        3. 起動ファイルに「snd_xxx_load="YES"」といった内容を追記します。
          /boot/loader.confファイルに以下の記述を追加します。
          (サウンドハードウェアがIntel ICHだった場合)
             snd_ich_load="YES"
          対応するドライバが分からなかった場合は、メタドライバを読み込んでください。
             snd_driver_load="YES"
          ただ、こうすると起動時に全部のサウンドドライバを読み込むようで、起動がちょっと遅くなります。
        4. 自分が使いたいサウンドデバイスがpcm0ではなかった場合、/etc/sysctl.confに以下の記述を追記します。
             hw.snd.default_unit=1
          (デフォルトにしたいサウンドデバイスが[pcm1]だった場合。1のところは、デフォルトにしたいサウンドデバイスがpcm2だったときは2にするとか、適宜替えてください。)
      2. CD/DVDドライブの書込設定

        CD/DVDドライブが、再生専用の場合はデフォルトのままで良いですが、書込可能な場合は以下の設定をします。
        1. /boot/loader.confに以下の内容を書き加えます。
             hw.ata.atapi_dma=1
        2. CD/DVDドライブがATA(IDE)接続の場合は、更に以下の内容を書き加えます。(未確認ですが、S-ATAも同様なはずです。)
             atapicam_load="YES"
        3. /etc/devfs.confに以下の内容を書き加えます。
             link    cd0    cdrom
             link    cd0    dvd
             perm    cd0    0666
             perm    xpt0    0666
             perm    pass0    0666
      3. 無線LANの設定

        無線LANの機能がある場合は以下の設定をします。(本当はもちっと正式な設定の方がいいはずですが、ここでは安直にWEPでいきます。)
        1. 無線LANアダプタの名前を調べ、それと/boot/defaults/loader.confの内容を見比べて、if_xxx_loadのどれを読み込んだらいいのかを決めます。決まったらそれを/boot/loader.confに書き込みます。if_ath_loadの場合は、以下のようになります。
             if_ath_load="YES"
          といったような行を追加する必要があります。
        2. /etc/rc.confに以下の内容を書き加えます。
             wlans_ath0="wlan0"
             ifconfig_wlan0="WEP DHCP"
        3. /boot/loader.confに以下の内容を書き加えます。
             wlan_wep_load="YES"
             wlan_ccmp_load="YES"
             wlan_tkip_load="YES"
          デバイスによっては追加の設定が必要になります。私の手元のDELL x300には、インテルの無線LANデバイスが、on-boardであるようですが、
             legal.intel_ipw.license_ack=1
          の設定が必要でした。
        ここまで設定すると、端末で
           # ifconfig wlan0 ssid [ホスト名] wepmode on weptxkey 1 wepkey [ログインPIN]
        で、無線LANが立ち上がるようになります。

トラブルシューティング等

今回のセットアップでの主なモジュールのバージョン
portmaster 3.17.3
psearch 2.0.2

(2013年 3月16日 記
2013年 7月 7日 更新
2014年 3月29日 更新)