FreeBSD をゼロから設定するには
Prev |  | Next

# 5. 第 2 段階: ports のインストール

> Note: この段階で ports をコンパイルするのではなく、 (コンパイルずみの) packages をインストールすることもできます。 その場合、`stage_2.sh` は 単に `pkg_add` コマンドを羅列するだけになるでしょう。 読者のみなさんにとって、そういうスクリプトを書くのは難しくないと思いますので、 ここではもっと柔軟で、ports を使った伝統的な方法について考えることにします。

次に紹介する `stage_2.sh` スクリプトは、 わたしが好みの ports をインストールするために使ったものです。 これは何度でも実行でき、インストールずみの ports があれば、 飛ばして処理されます。スクリプトは 実行せず、実行される内容だけ を表示する (dryrun) オプション (`-n`) があります。実行時には `stage_1.sh` と同様、 設定スクリプトを示すためのひとつの引数を指定します。

    # ./stage_2.sh default

これは、ports のリストを `stage_2.conf.default` というファイルから読み込みます。

ports リストは、空白で区切られた 2 個以上のキーワードからなっています。 カテゴリ、port 名に始まり、オプションとして port をコンパイルしてインストールするためのコマンド (デフォルトは `make install BATCH=yes < /dev/null`) が続きます。 空白行と # から始まる行は無視されます。 おそらく多くの場合に考えなければならないのは、カテゴリ名と port 名だけでしょう。 ports によっては、たとえば次のように `make` 変数を使って微調整することができます。

    www mozilla make WITHOUT_MAILNEWS=yes WITHOUT_CHATZILLA=yes install

実際には任意のシェルコマンドを指定できますので、 `make` を使う以外にも応用は可能です。

    java linux-sun-jdk13 yes | make install
    news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" make install

`news/inn-stable` の行は、 `CONFIGURE_ARGS` という シェル変数を定義した例です。 この port の `Makefile` は、 この指定した値を変数の初期値として、その他の必須の引数と一緒に使います。 これと

    news inn-stable make CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" install

のようにして make 変数をコマンドラインに設定した場合との違いは、 こちらの場合に変数そのものを完全に上書きしてしまうという点です。 どの方法を使えばいいのかについては、各 port によります。

インストールしたい ports が、 対話的インストールを使っていないことを確認してください。 ports は、あなたが標準入力に明示的に指定したもの以外、 標準入力を読み込む動作をしてはいけません。 もし ports がそのように作られていると、ports はヒアドキュメントにある ports リストの次の行を読み込んで混乱してしまいます。 `stage_2.sh` を実行した時、 ある port が飛ばされたり、動作が止まってしまうようなことがあれば、 おそらくこれが原因でしょう。

次に示すのは `stage_2.conf.default` です。 これは、インストールされる port それぞれに対して `LOGDIR/category+port` という名前のログファイルが作成されます。

    # vim: syntax=sh
    # $Id: stage_2.conf.default,v 1.2 2004/03/06 12:50:30 toor Exp toor $
    # $FreeBSD: doc/en_US.ISO8859-1/articles/fbsd-from-scratch/stage_2.conf.default,v 1.4 2008/12/03 21:59:51 schweikh Exp $
    ports-mgmt portaudit
    devel ccache
    shells zsh
    devel gettext
    archivers unzip
    archivers zip
    security sudo
    x11 xorg
    x11-servers xorg-server
    x11-fonts xorg-fonts-100dpi
    x11-fonts xorg-fonts-75dpi
    x11-fonts xorg-fonts-miscbitmaps
    x11-fonts xorg-fonts-truetype
    x11-fonts xorg-fonts-type1
    x11-fonts gnu-unifont make install && mkfontdir /usr/local/lib/X11/fonts/local
    x11-fonts urwfonts
    x11-fonts webfonts
    x11-toolkits open-motif
    x11-wm ctwm
    x11 wdm
    security openssh-askpass
    astro xplanet
    astro xephem
    editors vim
    print ghostscript8
    print psutils-a4
    print a2ps-a4
    print gv
    print transfig
    print teTeX
    print cups-base
    emulators linux_base-fc6
    print acroread8 yes accept | make install PAGER=ls
    java jdk16 echo true > files/license.sh; make install BATCH=yes < /dev/null
    www apache22
    www amaya
    www firefox3
    www checkbot
    www p5-HTML-Parser
    www validator
    www mplayer-plugin
    math p5-Math-Combinatorics
    math p5-Bit-Vector
    graphics evince
    graphics xfig
    graphics xv
    graphics gphoto2
    multimedia xawtv
    lang expect
    lang gawk
    lang python
    news tin
    net freebsd-uucp
    net cvsup-without-gui
    net rsync
    ftp wget
    textproc ispell
    german ispell-neu
    german ispell-alt
    textproc docproj
    sysutils samefile
    sysutils smartmontools
    sysutils pstree
    sysutils cdrtools
    sysutils dvd+rw-tools
    sysutils grub
    sysutils lsof
    devel subversion-freebsd
    devel bcc
    devel ddd
    devel gindent
    devel ctags
    devel ElectricFence
    devel strace
    devel perltidy
    mail procmail
    mail metamail
    mail mutt-devel
    ports-mgmt portupgrade
    news inn CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" make BATCH=yes install < /dev/null
    misc figlet-fonts
    security gpa
    mail spamoracle
    textproc rman
    multimedia mplayer
    multimedia mplayer-fonts
    multimedia acidrip
    multimedia ogle
    multimedia ogle-gui
    audio pacpl
    audio p5-CDDB_get
    audio cowbell
    shells bash
    editors openoffice.org-3-RC
    java eclipse
    java netbeans

ダウンロード: `stage_2.conf.default`.

Prev | Home | Next
第 1 段階: システムのインストール |  | 第 3 段階