OpenBSD を current にする
OpenBSD を current にします。
OpenBSD では current を追いかけることを推奨しています。 なので、そのための手順を解説します。
公式のマニュアルにそって行っていますが、正直きちんとできているのか自信がありません。
環境
OS: OpenBSD-current
準備
まず、最新の snapshot 版をインストールします。 release でもいいのですが、こちらの方が手順が少し少なくてすむのでおすすめです。
初期設定
CVS リポジトリにアクセスするため、 「 .profiles 」に以下を追加します。
CVSROOT="anoncvs@anoncvs.jp.openbsd.org:/cvs"
export CVSROOT
再度ログインするか、上記をプロンプトで打って反映させます。
リポジトリのダウンロードと更新
あらかじめ「 src.tar.gz 」をダウンロードし、「 /tmp 」に配置します。
# cd /tmp/
# ftp ftp://ftp.jaist.ac.jp/pub/OpenBSD/5.4/src.tar.gz
# cd /usr/
# tar pxzf /tmp/src.tar.gz
# cd /usr/src/
# cvs -d$CVSROOT up -Pd
アップデートするときも同一の cvs コマンドを使用します。
# cd /usr/src
# cvs -d$CVSROOT up -Pd
カーネルをビルドする。
使用しているアーキテクチャに合わせたカーネルをビルドし、 インストールします。
今回は「 i386 」なので以下になりますが、 異なるアーキテクチャの場合はそれに合わせます。
# cd /usr/src/sys/arch/i386/conf
# config GENERIC
# cd ../compile/GENERIC/
# make clean && make depend && make
# make install
インストールが終わったら再起動させます。
# reboot
ユーザランドをビルド
次にカーネル以外の部分を最新にします。
# rm -rf /usr/obj/*
# cd /usr/src/
# make obj
あとで必要になるため、以下のディレクトリを作成しておきます。
# mkdir /usr/obj/ports
ビルドを行います。 かなり時間(3時間ぐらい)がかかるので、気長に待ちましょう。
# cd /usr/src/etc && env DESTDIR=/ make distrib-dirs
# cd /usr/src
# make build
細かな変更の適用
ビルドが終了したら「 Following -current 」 を確認し、必要な変更を行います。
snapshot 版を使用したのは、 これなら release よりも新しく、 この変更が少なくてすむからです。
例えば 2013/12/04 には、 2013/12/08 に libcompat が廃止されたので、 以下のコマンドを実行し、 必要のないファイルを削除するように書かれています。
# rm -f /usr/lib/libcompat.a /usr/lib/libcompat_p.a
# rm -f /usr/include/{re_comp,regexp,sgtty,sys/timeb}.h
# rm -f /usr/share/man/man3/{re_comp,re_exec,rexec,regexp}.3
# rm -f /usr/share/man/man3/{cuserid,ftime,gtty,setrgid,setruid,stty}.3
これ以外にも様々な指示があるので、 よく内容を読んで実行してください。
ports の初期設定
次に ports の設定を行います。 まず、カーネルと同様ににソースコードをダウンロードして 最新にします。
なお、これ以降は基本的にルートユーザ以外で行っています。 あらかじめ sudo の設定を行ってください。
$ cd /tmp/
$ ftp ftp://ftp.jaist.ac.jp/pub/OpenBSD/snapshots/ports.tar.gz
$ cd /usr/
$ sudo tar pxzf /tmp/ports.tar.gz
アップデートには下記を使用
$ cd /usr/ports/
$ sudo cvs -d$CVSROOT up -Pd
「 /etc/mk.conf 」に以下を追加します。
SUDO=/usr/bin/sudo
USE_SYSTRACE=Yes
WRKOBJDIR=/usr/obj/ports
DISTDIR=/usr/distfiles
PACKAGE_REPOSITORY=/usr/packages
アクセス権を修正します。
$ sudo chgrp -R wsrc /usr/ports
$ sudo find /usr/ports -type d -exec chmod g+w {} \;
フォルダを作成します。
$ sudo mkdir /usr/obj/ports
$ sudo mkdir /usr/distfiles
$ sudo mkdir /usr/packages
基本的な使用方法
検索
$ cd /usr/ports
$ make search key=rsnapshot
必要なものが見つかったら、 そのディレクトリに移動し、 以下のコマンドを使用して、 インストールを行います。
インストール
$ sudo make install
フレーバーの表示
$ make show=FLAVORS
フレーバーの設定してインストール。
$ sudo env FLAVOR=no_x11 make install
サブパッケージの表示
$ make show=MULTI_PACKAGES
サブパッケージを指定してインストール
$ env SUBPACKAGE="-server" make install
以上です。
参考資料・リンク
5 - Building the System from Source
15 - The OpenBSD packages and ports system
更新履歴
2013/12/27 初版
2013/12/29 一部誤字等を修正