2012/12/23(日)FreeBSD ソースツリーは subversion 管理へ

2017/10/12 5:12 サーバ運営・管理
ということで、面倒だなぁと思いつつ・・・
#個人的にはあまり subversion の使い勝手が好きになれなくて、、、orz

今まで csup 使っていたのですが、「もうサポートしないすよ」みたいな感じですので、、
#とはいえ、csup で 9.1R に出来たのだが、、、

○最初の1回
# cd /usr/src
# rm -rf *
# svn checkout svn://svn.FreeBSD.org/base/releng/9.1 /usr/src


releng/9.1 の部分が、リリースの度に変わります。
FreeBSD 9.2 だと、おそらく、releng/9.2 になります。

○次回から
# svn update /usr/src


尚、 subversion は、 FreeBSD ベースシステムには入っていません。ports や packages から手動インストールする必要があります。

2012/12/23(日)FreeBSD 9.1R

2017/10/12 5:11 サーバ運営・管理
未だ正式アナウンスないのですが、リリース自体はされているらしく?
先日(12/18) に、どういうわけか PC-BSD 9.1 が先行してリリースされています。

試しに、実験運用用途のサーバにアップデートインストールしてみたら、ご覧のようにインストール出来てしまいました。
20121223.png

ここらへん あたり眺めると、IntelなGDC がまともに動かない場合があるとか。

実運用環境への適用は、やはり、正式アナウンス後です。

2012/12/16(日)FreeBSD 9.1-PRERELEASE

2017/10/12 5:10 サーバ運営・管理
FreeBSD 9.1R リリース、いよいよか?と思いきや・・・
#日本語文は下のほうにあります。

---原文ここから
From: Glen Barber <gjb@FreeBSD.org>
To: freebsd-announce@FreeBSD.org

I am pleased to announce the re-availability of FreeBSD development
snapshots provided by the FreeBSD Project.

As with any development branch, these snapshots are not intended
for use on production systems. However, we do encourage testing on
non-production systems as much as possible.

At this time, installation images are available for

- 10.0-CURRENT/amd64
- 10.0-CURRENT/i386
- 10.0-CURRENT/powerpc
- 10.0-CURRENT/powerpc64
- 9.1-PRERELEASE/amd64
- 9.1-PRERELEASE/i386

Snapshots for the stable/8 branch are currently not available.

Please note, the 9.1-PRERELEASE images are the stable/9 branch,
not what will be 9.1-RELEASE.

Also note, the 10.0-CURRENT powerpc and powerpc64 builds do not
currently include a memstick image.

Users interested in testing the development branches are also
encouraged to subscribe to the freebsd-snapshots@ mailing list,
where new snapshot availability, including corresponding
installation image checksums, and any additional noteworthy
information about the images will be announced.
---原文ここまで

---機械的適用訳文ここから
FreeBSDプロジェクトによって提供されるFreeBSD開発スナップショットを発表できて、私は嬉しい。
任意の開発ブランチ同様、これらのスナップショットはプロダクション・システム上の使用を意図しません。

しかしながら、私たちは、できるだけ非生産品システム上のテストを促進します。
この時に、インストール・イメージは次のものに利用可能です:
  • 10.0-CURRENT/amd64
  • 10.0-CURRENT/i386
  • 10.0-CURRENT/powerpc
  • 10.0-CURRENE/powerpc64
  • 9.1-PRERELEASE/amd64
  • 9.1-PRERELEASE/i386
stable/8 ブランチのためのスナップショットは現在利用可能ではありません。
9.1-PRERELEASEイメージが、9.1-RELEASE ものではなくstable/9 ブランチであることに注意してください。

さらに、ノート、10.0-CURRENT powerpcおよびpowerpc64 プラットフォームは現在memstickイメージを含んでいません。

対応するインストール・イメージ・チェックサムを含む新しいスナップショット有効性、およびイメージに関するどんな付加的な注目すべき情報も発表される場合、開発枝のテストに興味を持っているユーザもfreebsd-snapshots@ メーリング・リストに参加するように激励されます。
---機械的適用訳文ここまで

要は、FreeBSD 9.1R の正式リリースは「ちょっと待てくれ」という意思表示のような、、
この状態では、年を越しそうな雰囲気です。

2012/11/27(火)冬支度

2017/10/12 5:05 サーバ運営・管理
撮影は先週ですが・・・orz
20121128_1.jpg

20121128_2.jpg

エアコン室外機の設置場所が雪に埋もれる場所なので、雪の重みで壊れるのを防ぐ目的で雪害防護板(?)みたいなものを今月上旬に設置しました。

この手の作業は自力ではできないので、知人にお願いしました。
冬はほとんど使いませんが、夏は灼熱地獄になるので欠かせないのです。。

2012/10/28(日)Perl 5.16 では、Net::Twitter の OAuth が効かない?

2017/10/12 5:03 サーバ運営・管理
いつのまにか Twitter 連携(ここにブログを投げると、更新が3分以内に自動ツイートされる)が動作しなくなっていたので、原因究明。

どうも Net::Twitter で、OAuth のエラーが出る模様。
設定は何回確認しても問題なし。各種 Key を再発行して設定してみたりしたが、状況は変わらず。

皆目、訳がわからないので、
Net::Twitter::Lite を導入し、これでやってみたら上手くいきました。

ということで、Net:Twitter は現時点で Perl 5.16 環境では使えない。
以前は、当たり前のように使用できたのに、、、

〔2012/11/03 追記〕
あれから、HDDの一部が逝ったらしく、fsck でかなり大量の復旧をしたところ、Perl モジュールの一部が消えてしまったことが判明し。。。再インストールしたら復旧。orz

どうもHDD上のファイルシステムの一部に問題があったのが原因。
モジュール自体の問題ではなさそう。。orz

2012/10/27(土)FreeBSD ports にて cvsup 利用の場合は、portsnap へ移行必要

2017/10/12 5:03 サーバ運営・管理
元ネタはこちら → 2012年9月12日 FreeBSD Ports Collection,CVS/CVSupは2013年2月で終了 〔技術評論社〕

Ports に cvsup が「そのうち(来年2月末に)使えなくなる」という話です。
FreeBSD 本体のソースツリー管理に cvsup をご利用の諸氏は多いと思いますが、現時点ではこちらの方は提供継続のようです。

慣れ親しんだ管理手法が変わるので面倒くさいのですが、提供する側も面倒くさいことしているそうなので。。orz

portsnap というものを cvsup/csup の代わりに使うのですが、
使い方が日本語で以下で掲載されています:
A.6. Portsnap を使う 《リンク切れ確認 2022/11/07》

しかし、cvsup/csup から、 portsnap へ移行する場合は、最初の1回は移行作業が必要で、以下で日本語にて示されています:
5.5. Ports Collection の利用
(このページの 5.5.2. CVSup/csup から portsnap への移行 を参照)
移行には10分程度かかります。コーヒーブレイクでもしながら待ちましょう。 :-)

あとは、portversion,portupgrade などが今までとおり使うことができます。

2012/08/12(日)samba 3.6.7 は FreeBSD 8.3R でソースコードからそのまま構築できない

2017/10/12 5:01 サーバ運営・管理
今日は、珍しく連投です。

samba は、構築に難儀するサーバアプリケーションのひとつで、個人的にはどうも好きにはなれません。Windows 絡みというものもあるが(爆)

samba 3.6.7 をソースコードから構築しようとすると、以下のような md5 部分のコンパイルエラーで途中で停止します:
../lib/crypto/md5.c:142: error: 'struct MD5Context' has no member named 'bits'
../lib/crypto/md5.c:144: error: 'struct MD5Context' has no member named 'buf'
../lib/crypto/md5.c:144: error: 'struct MD5Context' has no member named 'in'
../lib/crypto/md5.c:145: error: 'struct MD5Context' has no member named 'buf'
../lib/crypto/md5.c:146: error: 'struct MD5Context' has no member named 'buf'
The following command failed:
gcc -O -I. -I/usr/local/src/samba-3.6.7/source3
-I/usr/local/src/samba-3.6.7/source3/../lib/popt
-I/usr/local/src/samba-3.6.7/source3/../lib/iniparser/src
-Iinclude -I./include -I. -I. -I./../lib/replace
-I./../lib/tevent -I./librpc -I./.. -I./../lib/talloc -I../lib/tdb/include
-DHAVE_CONFIG_H -Iinclude -I./include -I. -I. -I./../lib/replace
-I./../lib/tevent -I./librpc -I./.. -I./../lib/popt -I/usr/local/include
-I/usr/local/src/samba-3.6.7/source3/lib -I.. -D_SAMBA_BUILD_=3
-D_SAMBA_BUILD_=3 -fPIC -DPIC -c ../lib/crypto/md5.c -o ../lib/crypto/md5.o
gmake: *** [../lib/crypto/md5.o] エラー 1


これは、FreeBSD8.3R の場合、samba で意図している <md5.h> の構造体の定義が異なっているためで、lib/crypto/md5.h を下記のように一部をコメントアウトする必要があります:
#define MD5_H
#ifndef HEADER_MD5_H
/* Try to avoid clashes with OpenSSL */
#define HEADER_MD5_H
#endif
/* #ifdef HAVE_MD5_H */
/*
* Try to avoid clashes with Solaris MD5 implementation.
* ...where almost all implementations follows:
* "Schneier's Cryptography Classics Library"
*/
/* #include <md5.h> */
/* #else */

struct MD5Context {
uint32_t buf[4];
uint32_t bits[2];
uint8_t in[64];
};
typedef struct MD5Context MD5_CTX;
void MD5Init(struct MD5Context *context);
void MD5Update(struct MD5Context *context, const uint8_t *buf,
size_t len);
void MD5Final(uint8_t digest[16], struct MD5Context *context);


/* #endif !HAVE_MD5_H */

#endif /* !MD5_H */


赤文字部分のようにコメントアウトします。
さらに、lib/crypto/md5.c を以下のように変更します:
#include "replace.h"
#include "md5.h"
変更 → #include "../lib/crypto/md5.h"


これらの変更後、コンパイルすると上手くいくようです。

2012/08/12(日)JETWAY PA74M2-LF では FreeBSD 9.0R は使えない?

2017/10/12 5:00 サーバ運営・管理
以下のマザーボードに見覚えがある方(数少ないと思うが・・・)に要注意な情報。
20120812.jpg

JETWAY 社 PA74M2-LF という サイズが microATX のマザーボード。
こちらで FreeBSD 8.3R-p1 から FreeBSD 9.0R-p4 へアップデートしようとしたが、
FreeBSD 9.0R-p4 は起動しない。

どうやら ACPI まわりの問題です。
現在、実運用しているサーバなので、いろいろ調べることもできず、とりあえず FreeBSD 8.3R に戻しました。設定が一部消えたので難儀しました。
9.1R がリリースされたときに再挑戦しようと思います。

起動オプションにて、ACPI サポートをOFF にするといけそうなのですが、
このマザーボードで FreeBSD 9.0R が使用できたという奇特な方が居られたら、コメントお願いします。

2012/07/06(金)FreeBSD 9.1R を出すらしい&8.1R/8.2R サポート終了間近

2017/10/12 4:59 サーバ運営・管理
9.1R リリース作業は始まったようです。
20120706.png
予定では来月のようですが、いつものように期待しないほうが無難です :-)

また、FreeBSD 8.1Rと8.2Rは今月いっぱいでサポートは終了します。
8.3R が安定バージョンとして推奨されます。
20120706_2.png

更に 7.4R もサポートは終了方向ですので、可能な限り、早めの8.3R への更新が推奨されます。

弊社ではすでにすべてのサーバにて 8.3R への移行を済ませ、一部は 9.0R を導入しています。

〔2012/12/27 追記〕
 FreeBSD 9.0R のサポート終了が、9.1R リリースが遅れた影響で、2013/03/31 に延期されています。

2012/05/10(木)Apache 2.4 + mod_perl を導入してみた

2017/10/12 4:58 サーバ運営・管理
今年2月にリリースされた Apache 2.4。
まだ置き換えるには時期尚早ではありますが、近い未来 2.0系/2.2系から置き換わっていくのは流れとしては自明なので、取り扱いを確立させるために、弊社の実験サーバにて、2.2.22 から、最新バーション 2.4.2 へ置き換えてみました。

20120510_1.png

付属マニュアルの日本語訳は、現状、2.2 系のものが流用されているようです。
上記のような感じです。

20120510_2.png

perl 5.14.2 + mod_perl 2.0.6 + Apache 2.4.2 + PHP 5.4.2 という組み合わせですが、
mod_perl がまだApache 2.4 には対応しておらず、そのままでは、コンパイル自体が通りません。

既に幾つか言及されていますが、2.2系からの変更が地味に多いです。
正直なところ、しばし嵌りましたorz
気づいた点を列挙してみましょう:

○ apr, apr-util, pcre は、ビルドインで提供されなくなった
  apr 、apr-util、 pcre 、これら3つのユーティリティ は、Apache の構築に欠かせないものですが、それ故 2.2 系までは Apache ソースツリーと一緒に配布されていました。
 なぜか 2.4 系では、これらは提供されなくなり、自前で構築するか、拾ってくる必要があります。
 先ず、apr と apr-util を ここからダウンロードで持ってきて、 apache ソースツリーの srclib ディレクトリ配下にソースツリーごと置きます。
 現在(2012/05/10) のバージョンは、 apr-1.4.6 , apr-util-1.4.1。
#英文ですが、 INSTALL ファイルにそう書いてある模様です。
 ソース配置手順はこんな感じ:
# cd httpd-2.4.2/srclib
# cp ../../apr-1.4.6.tar.bz2 ./
# cp ../../apr-util-1.4.1.tar.bz2 ./
# tar xvzf apr-1.4.6.tar.bz2
# tar xvzf apr-util-1.4.1.tar.bz2
# mv apr-1.4.6 apr
# mv apr-util-1.4.1 apr-util


 apr と apr-utilを事前インストールする方法もあるようですが、筆者の環境ではApache本体のコンパイルそのものが上手くいきませんでした。

○ pcre , expat は ports 等で。
  pcre は 8.20 以降、 expat は 2.0 以降が必要です。
  事前にインストールしておくとよいです。

○ Apache 2.2系では、構築デフォルトが「スタティックリンク」
  Apache 2.4系では、構築デフォルトが「DSO」
→ ソースコードからコンパイルする際、2.2系の configure オプションそのままでは、同じように構築されず、結局は httpd.conf の構文エラーとなって不具合を起こす。
  エンタープライズ系には有益な場面も多いのでしょうが、この変更は「何を勘違いしたか?」的な感覚を覚える。
 2.4系では、明示的に「スタティックリンク」を指定することで、凌ぐ。

○ Apache 2.4 系で アクセス制御の文法が変わっている
20120510_3.png

httpd.conf などのサーバ設定ファイル、.htaccess などの挙動変更設定ファイルは全て見直して、変更する必要があります。

 ここまでは、結構記載があります。
 しかし、嵌ったのは SSI の挙動。どこにも記載がない。

 2.2.22 で普通に動作していた、以下のような SSI が認識されません。
<!--#if expr="'$REMOTE_ADDR' = '/^192.168.1.1/'" -->

 このような評価式は、perl と同じ書式にすることで解決しました。
<!--#if expr="'$REMOTE_ADDR' eq '/^192.168.1.1/'" -->


 構築オプションの問題かもしれませんが、原因はわかりません。
 2.2系までは、pcre が内包された形で配布されていたけれども、2.4系では、予め別途インストールするようになったため、数式評価の部分で挙動が変わったということでしょう。

○ 削除ディレクティブなどがある

 LockFile    ← 文法エラー
 SSLMutex    ← 文法エラー
 DefaultType   ← text/plain の指定は、「無視する」と警告が出る。
 NameVirtualHost ← 「次バーションで削除」という警告が出る。
 
当面は、弊社実験サーバでの運用の留めたいと考えています。