• FreeBSD では、OpenSSL はベースシステムに含まれている。
  • ports にも OpenSSL がある(security/openssl)が、これはベースシステムを更新せずに、OpenSSL のみ更新する時に使う。

FreeBSD 5.3R で ports から OPENSSL_OVERWRITE_BASE=yes でインストールできない。

# make OPENSSL_OVERWRITE_BASE=yes install

以下のエラーメッセージが出て、ベースシステムに上書きできない。

# this ports does not support the dynamic root
# please undefine OPENSSL_OVERWRITE_BASE
# and use WITH_OPENSSL_PORT=yes instead.

ベースシステムと ports でインストールするものとを分離して、 ports でベースシステムを直接上書きしなくなったというのがミソ。 (考えてみれば、上書きは確かに危険。)

/etc/make.conf に

WITH_OPENSSL_BASE=yes

と書くと、ベースシステムが有効になり、

WITH_OPENSSL_PORT=yes

と書くと ports でインストールした OpenSSL が有効になるという仕掛け。

FreeBSD 4.x への OpenSSL のインストール

トラブル回避のため、FreeBSD 5.x 同様カーネルごとコンパイルする。

openssl-overwrite-base はもう使わない。

(なんか、もはやつじつまが合わないらしい… 毎回 OpenSSL が未インストールのように言われてしまう。)

よって、以下は、Obsolete

FreeBSD に標準添付されているが、セキュリティホールが発見されてたびたびバージョンアップしている。そのため、別個にインストールした方が更新しやすい。

make.conf に以下の設定を追加する。

NO_OPENSSL=yes

package で openssl をインストールする。

ports からのインストール

設定を忘れないように make.conf に以下の行を追加しておく。

.if ${.CURDIR}=="/usr/ports/security/openssl"
OPENSSL_OVERWRITE_BASE=yes
.endif
# cd /usr/ports/security/openssl
# make install

以前の OpenSSL がインストールされている場合は注意。 単純に pkg_delete してしまうと、libssl.so.3, libcrypto.so.3 が消されてしまい、これを利用しているインストール済みパッケージ情報が見えなくなってしまう。

このとき、以下のようなエラーが出る。

# pkg_info
/usr/libexec/ld-elf.so.1: Shared object "libssl.so.3" not found

make install 時に問題になるかどうかは未確認。 (問題になるなら、一旦 libssl.so.3, libcrypto.so.3 をどこかに退避する必要がある。)


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-01-18 (月) 08:30:10 (233d)