12月 08
2011

今日は、Lion君にbazaarを入れてみたのです。MacPortsを使っても良いのですが、bazaarのレポジトリサーバを上げるとなると、apacheまでインストールされてしまいます。
今回は、Lion君の純正で入っているApacheやPythonを使いたいと思います。

まずは、http://wiki.bazaar.canonical.com/MacOSXDownloads からbazaar本体を持ってこようと思いますが、何とも悲しい注意があります。

Note: to use Bazaar in OS X Lion (10.7), you should change the default version of Python to 2.6 :

なに!? Lionにデフォルトで入っているPythonは2.7ですよ!
わざわざ2.6にバージョンを下げて使えと。。。すでにPythonにせっせと入れたモジュールが使えないじゃないか。

ここは、Python 2.7の環境で使ってやる! だって、既にApacheでPythonは2.7で動かしてるもん!!

ということで、ソースコードからインストールします。

Lion君はデフォルトでeasy_installが入っているので非常に簡単です。Pythonへのモジュールのインストールはこれを使います。
まずは、bazaarではCythonが必要なようなので、こいつからやっつけます。

wget http://cython.org/release/Cython-0.15.1.tar.gz
tar zxvf Cython-0.15.1.tar.gz
cd Cython-0.15.1
sudo python setup.py install

では、御本体のbazaarをいよいよインストール。

wget http://launchpad.net/bzr/2.5/2.5b3/+download/bzr-2.5b3.tar.gz
tar zxvf bzr-2.5b3.tar.gz
cd bzr-2.5b3
sudo python setup.py install

これで、bzrコマンドが使えるようになります。
bzrtoolを入れておくと色々役に立つので入れておきましょう。

wget http://launchpad.net/bzrtools/trunk/2.3.0/+download/bzrtools-2.3.0.tar.gz
tar zxvf bzrtools-2.3.0.tar.gz
cd bzrtools
sudo python setup.py install

ここからが、本番。

レポジトリサーバを立ち上げるためにApacheに色々登録しなければなりません。
その設定は、google君に聞けば教えてくれると思います。でも、それでも起動できない人はたぶんFastCGIでつまずいているのだと思います。

他のサイトの説明だと、bzr-smart.fcgiとか用意すればOKだと書かれているところが多いのですが、だいたいがこのbzr-smart.fcgiファイルで使っているfcgiモジュールの事が記載されていません。良く書いてあっても、

http://svn.saddi.com/py-lib/trunk/fcgi.py

からこのモジュールを持ってこい。でも、このサイトすでにありません。実は、WSGIのモジュール関連をまとめてflup.orgに引っ越されています。

ということで、flupモジュールをインストールすればOK

sudo easy_install flup

これで、すべてのモジュールがそろいました。bazaarのレポジトリサーバを立ち上げて、堪能してください。

あ、言い遅れましたが、私はレポジトリサーバはsvn派で、クライアント側でbzrを使っていたりします。(^_^)

11月 16
2011

サーバでJenkinsを使ってCIを行っているのですが、ちょっとした実験するときに自分のMac上で動かしてみたいと思い、jenkins-ci.org からネイティブパッケージ(Mac用インストーラ)を持ってきてインストールしてみました。

今回利用したJenkinsのバージョンは ver. 1.439 です。

インストーラを、ダブルクリック!

終了したら、http://localhost:8080/ をブラウザでアクセスすればOK!

のはずですが、おかしい (^_^;
Winstone Servlet Containerさんが、コンテナがないよ。ってエラーを返してきます。

ここは、素直に/var/log/system.log を見てみます。

java.io.FileNotFoundException: /Users/Shared/Jenkins/Home/war/META-INF/MANIFEST.MF (No such file or directory)

なるほど、例外が出てます。
たしかに、こんなファイルは無いですし、ディレクトリもありません。
では、自動起動用のplistを見てみます。

more /Library/LaunchDaemons/org.jenkins-ci.plist

ユーザがデーモン(daemon)さんで起動するようになってますね。
起動スクリプトの /Library/Application Support/Jenkins/jenkins-runner.sh は、問題なさそうです。
では、ファイルがないなら作成できなかっただけかな。と、思い、、、

ls -l /Users/Shares

あれれ、Jenkinsディレクトリが

drwxr-xr-x 2 root wheel 102 11 15 19:09 Jenkins

rootさんの所有になってますね。
daemonさんで起動されるのにパミッションが無いです。

sudo chown daemon /Users/Shares/Jenkins

として、オーナーをdaemonさんに変更します。
Jenkinsさんを再起動しましょう。

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

よしよし、これでhttp://localhost:8080/ で見慣れたJenkinsさんが現れてくれました。

でも、この対応ってあんまりよろしくないんですよね。
たとえば、Gitなんかを使うときに認証鍵とかを使う場面が多々あるのですが、daemonさんのHOMEは、/var/rootなので、/Users/Shares/Jenkins/HOMEに鍵をおいてもそのままじゃだめなんですよね。dscl コマンドでちゃんとユーザ設定しないと競合しちゃいます。ま、今回はこれでいいか。。。

これって、インストーラのバグなのかな? 私の環境だけなのか。
同じ症状の方がいらっしゃったら教えてください。バグ報告します。

追記:jenkins-ci.orgのBug Trackerにも同じ事象の方がいらっしゃいました。明らかBugですかね。

2月 18
2011

sftpにchrootdirectoryを適用するときに悩まないために for Leopard

2月 18th, 2011 sftpにchrootdirectoryを適用するときに悩まないために for Leopard はコメントを受け付けていません

Snow Leopard に標準で付いているOpenSSHでsshサーバ運用しています。

そこで、第三者にsftpを提供することになったのですが、普通に提供すると他のディレクトリまで見えてしまいますね。パーミッションでがちがちにするのも良いのですが、抜けがあったりするとこれまた大変です。(^_^)

そこで、特定のユーザには chroot して、完全に隠蔽したsftp環境を提供しようという算段です。
最近にOpenSSHは標準で簡単にchrootの設定が出来ますのでこれはラッキー。(ちょっと前まで大変だったんですよ。。;p)

でも、sftpでchrootなんて皆さんやっていることですね。(^_^)
今回は、Mac の Leopard 環境でコマンドラインだけをもちいて、パスワード認証ではなくて、ちゃんと公開鍵を使う環境構築をやります。

何を言いたいのかというと、、、、
公開鍵を使って、なおかつ、chrootにて安全なsftp環境をユーザに提供する設定例です。

作業は、大体3つです。

1, ユーザの作成とホームディレクトの作成(鍵置き場)
2. chrootしてユーザに提供するsftp環境の作成
3. sshdの設定(sshd_config)

では、さっそく。。。

1. ユーザの作成とホームディレクトリの作成(鍵置き場)

Leopard では、ユーザの情報などはDirectry Serviceで行っております。なので、dsclコマンドを使います。dsclって覚えにくいですが、これはDirectory Service command lineの略ですね。
普段は /Users の直下にホームディレクトリを作成します。他のは書でも良いのですが、とりあえず、sftpuser という名前で作成しましょう。

まずは、利用されていないUID(UniqueID)とGID(PrimaryGroupID)を得ます。

$ dscl . -list /Users UniqueID
$ dscl . -list /Groups PrimaryGroupID

既に登録されているUIDやGIDが表示されます。まだ、登録されていない数字を選びます。今回はめんどくさいので両方とも600にします。

さあ、作成します。sudoコマンドにて実行してください。

$ sudo dscl . -create /Groups/sftpuser PrimaryGroupID 600
$ sudo dscl . -create /Users/sftpuser UniqueID 600
$ sudo dscl . -create /Users/sftpuser RealName Sftpuser
$ sudo dscl . -create /Users/sftpuser PrimaryGroupID 600
$ sudo dscl . -create /Users/sftpuser NFSHomeDirectory /Users/sftpuser
$ sudo dscl . -create /Users/sftpuser Password “*”
$ sudo /usr/sbin/createhomedir -b -u sftpuser

これで、ログインするためのユーザが作成されました。

2. chrootしてユーザに提供するsftp環境の作成

ユーザから何をされて良い環境、おっと、ユーザがいろいろファイルを置くための環境を作成します。
今回は、/Users/sftpwork を割り当てましょう。

ますはディレクトリを作成します。ただし、ココが重要。オーナはrootです、またパーミッションもrootさん以外は書き込みできないパミッションにします。

$ sudo mkdir /Users/sftpwork
$ sudo chown root:admin /Users/sftpwork
$ sudo chmod 755 /Users/sftpwork

/Users/sftpwork直下はsftpuserさんが書き込みできないので、sftpuserさんのオーナのサブディレクトリを作ってあげます。
たとえば、webページのドキュメントルートに指定してあげるなら /Users/sftpuser/docroot とか、ログファイルを提供してあげるなら、/Users/sftpuser/logs とか。ま、いろいろ考えられますね。

3. sshdの設定(sshd_config)

最後に、sshの設定です。
Leopardには、ssh(sftp)にOpenSSHがあらかじめインストールされています。ここでは、sftpuserさんに安全にsftpを提供するところだけ説明します。ご存じのように、/etc/sshd_config ファイルを編集します。パスワードで認証するのは心許ないので公開鍵でのみの認容にします。

sshd_config ファイルの最後に、

Match User sftpuser
ChrootDirectory /Users/sftpwork/
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

それから、Subsystem の記載の所を探して

#Subsystem sftp /usr/libexec/sftp-server
Subsystem sftp internal-sftp

というように、外部コマンドの/usr/libexec/sftp-serverを使用しないようにコメントアウトして、sshd組込のsftpサーバを利用する既述を追加します。もちろん、パスワード認証しないので、

PasswordAuthentication no

は、どこかに記載しておいてください。

さて、最後に公開鍵を設置します。

公開鍵は、もちろんユーザさんが作成します。作り方は、省略しますがssh_keygenコマンド作成できます。
公開鍵は、/Users/sftpuser/.sshディレクトリにauthorized_keysというファイルで保存します。その時、もちろんファイルのオーナはsftpuserさんですが、.sshディレクトリのパミッションは700、authorized_keysファイルのパミッションは600で無ければなりません。つまり、drwx——、-rw——- となります。

これで、安全にsftp環境を提供できるようになります。

しかし、、、私の環境ではこれではアクセスできませんでした。(^_^;
実は、次のようなエラーメッセージがサーバのログに出てました。

fatal: bad ownership or modes for chroot directory component “/”

なになに? /ルートのオーナがモードが変だと? たぶんに、パミッションが変なのでしょう。
“ls -al /” で調べると 確かに”/”(ここでは”.”ですね) にパーミッションのgroupとotherにw(書き込み)権限が付いてます。

sudo chmod go-w /

これで、/にはrootさん以外、書き込みできなくなりました。
結構、これに気が付くのに手間取ってしまったんですよ。同じ、事象の人の助けになれば幸いです。でも、sftp環境を他の人に提供している人なんてそんなに居ないか。。。それも、Macで(^_^;

5月 07
2010

Snow Leopardの標準PHPにgettext拡張を追加しようと思います。

Snow Leopardには、もちろん標準でPHPがインストールされています。
それに、Snow LeopardになってからGDやiconv等は標準で入っています。随分使い安くなりました。
でも、いまだにgettextは標準でPHPに入っていません。

そうなると、普通はMacPortなどを使ってインストールするのですが、PHPでgettextを使うだけで、ものすごく沢山のport(パッケージ)がインストールされてしまいます。これもなんだかですね。。。。

そこで、さっくりとgettextとそのPHPのextensionだけをインストールできれば楽ちん(?)ですし、時間もさほどかからないと思って作業したので、そのメモです。いつものように Your Own Risk です。(^_^)

前提として、XCodeはインストールしておいてください。お約束です。

1.お好きなところに作業ディレクトリを作成してください。

mkdir -p /tmp/hoge
cd /tmp/hoge

2. gettextソースコードを取ってきてコンパイルです。

curl -O ftp://ftp.gnu.org/gnu/gettext/gettext-0.17.tar.gz
tar xzpf gettext-0.17.tar.gz
cd /tmp/hoge/gettext-0.17/gettext-runtime
./configure
sudo make

3. gettextのインストールです。

sudo make install

これにて、gettextがインストールされました。次は、gettextのPHP Extensionを作りましょう。

4. Darwinのオフィシャルサイトから自分が使っている標準PHPと同じバーンのソースを取ってコンパイル・インストールです。私の環境はMacOS X 10.6.3で、PHPは5.3.1 でした。

cd /tmp/hoge
curl -O http://www.opensource.apple.com/source/apache_mod_php/apache_mod_php-53.1.1/php-5.3.1.tar.bz2
tar xjf php-5.3.1.tar.bz2
cd /tmp/hoge/php-5.3.1/ext/gettext
sudo phpize
./configure
sudo make
sudo make install

さあ、これでMacOS Xの標準PHPで利用できるgettext Extensionがインストールされました。sudo make installしたときに、どのディレクトリにライブラリをインストールしたか表示されると思います。私の環境では、/usr/lib/php/extensions/no-debug-non-zts-20090626/gettext.soにインストールされております。

さてさて、ここからが重要。(^_^)
gettextの拡張モジュールをPHPが認識出るようにphp.iniを変更します。

5. PHPとgettextの融合

viが使えると話は早いのですが。。。。とりあえずテキストエディタで /etc/php.iniを編集します。もしかすると、/etc/php.iniファイルがないかもしれません。その時には焦らず、/etc/php.ini.defaultとか、/etc/php.ini.orgとかからコピーしてください。

まずは、/etc/php.ini ファイルの適当な行に

extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/gettext.so

を1行追加します。私の場合は 953行あたりに入れました。コメントアウトされたextensionの定義がずらずら並んでいるの箇所があるのでわかると思います。

以上で終了です。

本当にgettextが組み込まれたか確認するには、定番の

<?php
phpinfo();
  ?>

ファイルをApache経由のcgiで表示させれば確認できると思います。

4月 29
2010

私の友人が、私が以前にハマってしまった事で悩んでいたので、結構あるんだなと思いメモしておきます。

MacOS Xは外付けHDD(USBやFireWire)を繋げると自動的にマウントしてくれます。
ま、これは普通と言えば普通なんだけど。。。

でも、MacOS Xの場合、このときのmountでnoownersのオプションがデフォルトで付いてしまいます。
これは、これで外付けは信用しないというポリシーはわかるのですが、外付けディスクをデーモンなどに安全に触らせるとなると、やっかいです。

そこで、登場するのが vsdbutil です。

外付けディスクがマウントされたところで、

sudo /usr/sbin/vsdbutil -a /Volumes/hoge

これで、noownersのオプションが外れてマウントされているはずです。
mountコマンド叩くとわかります。

4月 25
2010

なにげに、SCPluginのホームページを覗いてみたら。。。
Snow Leopard に対応しただって? (^_^)

なになに、、、

But still, no contextual menu or badging.

コンテキストメニューで動かない?!

おまけに、アイコンでの表記を出来ないのか。。。orz

でも、対応しているので、インストールして見ました。(^_^)

http://scplugin.tigris.org/からダウンロードしてきていつものインストーラでインストールします。
でも、コンテキストメニューに対応してないので、マウス右クリックしてもメニューは相変わらずインストール前と同じ。。。そこで、Snow Leopardは、ちょっとゴニョゴニョして、使えるようにします。

まず、
SCPluginUIDaemonをバックグランドで起動しておきたいので、ログイン項目に登録しておきます。
手順は、/Library/Contextual Menu Items/SCFinderPlugin.plugin/Contents/Resources/S​CPluginUIDaemon をシステム環境設定のアカウントにある、ログイン項目にこのファイルを追加するだけです。
でも、SCFinderPlugin.pluginはフォルダで見るとPluginファイルになっているので、その下のファイル等を指定することが出来ません。そこで、、、、ファインダーであらかじめ​SCPluginUIDaemonを表示して起きましょう。SCFinderPlugin.plugin以下のファイルは「パッケージの内容を表示」でその下のフォルダの内容が見えます。
ログイン項目を”+”で追加するときにファイルを指定しますが、その時にファインダーで表示しておいた SCPluginUIDaemon ファイルをドラッグ・アンド・ドロップでファイルチョーザーに落としてやります。

これで、SCPluginUIDaemonの自動起動の設定は完了。

最後に、アプリケーションのフォルダにインストールされた SCToolbarButtonをファインダのツールバーに、これまたドラッグ・アンド・ドロップして、登録します。
あの”S”マークのアイコンがファインダーのすべてのウィンドウのツールバーに表示されましたよね。(^_^)

そのアイコンをクリックした見てください。(^_^)

つまり、、、コンテキストメニューの代わりに、ツールバーにメニューを置きました。という、手に出たようです。;p

これが正式な対応なのかな。。。。(^_^;

SCPlugin.tiff

4月 08
2010

Mac OS X Snow Leopard (もちろんMac OS X Serverじゃないよ) に MacOSforgeで公開されている Darwin Calendar Serverをインストールしたので、ここにメモをしておこうと思います。

いやー、なかなか情報が転がって無くて、./run コマンドと格闘しましたが、ビール片手に一通り機能を確認できましたので、この手順で大丈夫でしょう。

このメモは./runコマンドでテスト的にサーバを動作して検証するものではなく、/usr/local/bin/ や、/Systtem/Library/Frameworks/Python.framework/配下や/Library/Python配下へのインストールをしますので慎重に自己責任でお願いします。

1.まずは、モノを取ってきます。

最新のリリースは2.4のようです。もうすぐ3.0が出そうですね。
ということで、好きな自分のディレクトリで、

svn co http://svn.calendarserver.org/repository/calendarserver/CalendarServer/tags/release/CalendarServer-2.4

として、チェックアウトします。

2. runコマンドで必要なモノのPythonモジュールを取ってきて確認です。

CalendarServer-2.4のディレクトリに移動してrunコマンドを探してください。

$ ./run -s

これで、必要な構成やファイルを自動的に取得して、コンパイル等も行われます。
この辺は、情報はいろんなサイトが紹介しているので大丈夫だと思います。

$ ./run

これで、テスト的に動作させてちゃんと動くかテストできます。
このあたりも他のサイトが参考になるともいます。

3. さて、いよいよ実環境へのインストールです。

まず、いったん/tmp/dstディレクトリに実行ファイルや定義ファイルなど環境に合わせた形に吐き出します。
以下のコマンドはsuでrootになるか、sudoコマンドで実行してください。

# ./run -i /tmp/dst

/tmp/dstを見てもらうと、なるほど、こんなファイルが環境にインストールされるんだとわかると思います。
つまり、/tmp/dstディレクトリの内容を/ に配置すれば良いわけです。

いよいよ、/に配置しましょう。

# cd /tmp/dst
# pax -pe -rw . /

これで、Calendar Serverのデーモンが /usr/loca/bin/caldavd を使って起動できます。
しかし、環境によってはシンボリックリンクを張らなければならないかもしれません。
  エラーファイルを見ればすぐにわかると思いますが、私の環境では

can’t open file ‘/usr/share/caldavd/bin/twistd’: [Errno 2] No such file or directory

なんて、表示され。。。おいおい。。。

# ln -s /usr/local/bin /usr/share/caldavd/bin

と、してやりました。(もしかして、./run -I で上手くいくのかも。。。)

4. Launchdによる自動起動の設定

svnでチェックアウトしてきた中のCalendarServer-2.4/contrib/launchd/calendarserver.plistファイルを適当に編集します。もちろん、/Library/LaunchDaemons/ へコピーしておきます。

ここで、ProgramArgumentsの引数(array)にcaldavdのディレクトリを変更するのと、caldavdの設定ファイルを指定するように記載してください。この、設定ファイルcaldavd.plist自身に中身は各自の環境に合わせてください。

<key>ProgramArguments</key>
    <array>
    <string>/usr/local/bin/caldavd</string>
    <string>-X</string>
    <string>-R</string>
    <string>caldav_kqueue</string>
    <string>-f</string>
    <string>/System/Library/Frameworks/Python.framework/Versions/2.6/caldavd/caldavd.plist</string>
    </array>

後は、LanuchDaemonに自動起動をお願いします。

# launchctl load -w /Library/LaunchDaemons/calendarserver.plist

最後に、私がはまった事を。。。といっても常識なのかもしれませんが。。。

uidが4文字以下だとアカウントを認識してくれないんです。orz
__uids__のファイルシステムを使う仕様なのかもしれませんが。。。uidの先頭2文字で第階層のディレクトリ名、2,3文字目で第2階層のディレクトリ名をつかってディレクトリの木構造を使うなんて。。。やはり、Kerberos使うべきだった。。。(^_^;

11月 11
2009

新しく発表されたプログラミング言語 Go を Snow Leopardにインストールしてみました。

まずはXCodeToolsは入れておいてください。これを入れておくとbisonも入るので後々楽ちんです。

次に環境変数を定義しておきます。
私の場合、ホームディレクトリの下のgoというフォルダにインストールします。
不要になったらこのディレクトリごとゴミ箱に捨てればいいので。。。(^_^)

ですので、環境変数は以下のようにして、.bashrcに追加します。

# Go Langage
export GOROOT=$HOME/go/src
export GOOS=darwin
export GOARCH=386
export GOBIN=$HOME/go/bin
export PATH=$PATH:$HOME/go/bin

source ~/.bashrc なんてやっとくと確実ですね。

では早速、インストール作業開始します。

mercurialを使いますので、まだインストールしていないときはまずこれからインストールします。

sudo easy_install mercurial

次に Go を Google Codeから取ってきます。

hg clone -r release https://go.googlecode.com/hg/ $GOROOT

では、Goのインストール。

cd $GOROOT/src
./all.bash

これにてインストール完了。8gコンパイラなど使えるようになってます。

10月 18
2009

サーバのJRubyが1.2だったのでJRuby 1.3.1に上げてみた。
一緒に開発環境も。。。

JRubyはここから持ってきて、展開すればインストール完了。(^_^)
ま、なんてこと無い。おわり。。。

で済まされなかった。。。(^_^)

毎度曲者のgem。RailsはすんなりとOK。

つぎは、、、ruby-debug関連。

まずは、ruby-debug-base。
これは、ここからruby-debug-base-0.10.3.1-java.gemをもらってくる。
いつものコマンドで、
jruby -S gem install -l ruby-debug-base-0.10.3.1-java.gem

次は、ruby-debug-ide。
これも、ここからもらってくるのだが最新だとうごかない。
たとえば、、、

Building native extensions. This could take a while…
rake aborted!
Don’t know how to build task ‘2>&1’

(See full trace by running task with –trace)
ERROR: Error installing ruby-debug-ide:
ERROR: Failed to build gem native extension.

こんなエラーなる。
なので、JRuby1.3.1で動作する ruby-debug-ide-0.3.4.gem をもらってくる。
jruby -S gem install -l ruby-debug-ide-0.3.4.gem

次は、rcov。これあると便利なので。。。(^_^)
JRuby1.3.1で動くものは Githubにあるので、
jruby -S gem install –source http://gems.github.com jruby-rcov
で完了。

ふぅ。ワイン片手にやると、良い感じにtypoする。。。(^_^;
おやすみーーー。

12月 12
2008

OpenSolaris 2008.11がリリースされていた。

以前からZFSが気になっていたので、ちょっと触ってみるためにインストール。
そうだ、MacのVirtualBoxにOpenSolaris 2008.5が入れてあったので、そこに入れてみる。

Solarisも以前にも増してインストールしやすくなった。
#といって、私はSolaris以前のSunOSからのユーザだけど。。。;p

「タイムスライダ」
これこれ。これは自分が以前にとっておいた時のスナップショットに、スライダー一発で戻れるもの。
これで、MacOS Xのタイムマシンみたいな事が簡単にできる。

システム->システム管理->タイムスライダの設定 で、タイムスライダの設定を起動する。
ありゃりゃ???
Snapshot manager service dependency error
いきなりエラーですか。。。(^_^;

焦らず、
# svcs -a
おおおお、svc:/system/filesystem/zfs/auto-snapshot:*** が軒並み maintenance になってる。
これじゃ、snapshotとれませんね。(_;
# zfs list
なりほど、以前入れていた2008.5のブート環境がいますね。おまけに、これ現在使っているのとおなじ “/” になってるし。。。orz

では、定石にならって、古いブート環境をマウントすべく、
# mkdir /BE
# zfs list
ここで、rpool/ROOT/opensolaris (古いブート環境)だけを /BE にマウントするので
# zfs set mountpoin=/BE/opensolaris rpool/ROOT/opensolaris
# zfs mount rpool/ROOT/opensolaris
# zfs umount rpool/ROOT/opensolaris
私の環境ではrpool/ROOT/opensolaris-1が現在のブート環境なのでこうなりますが、古いブート環境が複数ある場合には、その古いブート環境も/BEに持っていてください。

やっとここで、svcadmの出番です。
先ほどの svcs -a で maintenance になっていた svc:/system/filesystem/zfs/auto-snapshot:*** を online にするために restart してやります。
# svcadm clear svc:/system/filesystem/zfs/auto-snapshot:hourly
# svcadm enable svc:/system/filesystem/zfs/auto-snapshot:hourly
私の環境では、
svc:/system/filesystem/zfs/auto-snapshot:hourly
svc:/system/filesystem/zfs/auto-snapshot:weekly
svc:/system/filesystem/zfs/auto-snapshot:monthly
svc:/system/filesystem/zfs/auto-snapshot:daily
の4つが maintenance になっていたので、4つとも clear, enable をしました。

さて、あとはrebootします。

。。。。ほうほう、なるほど。良い感じです。。。。
いつでも過去に安全に戻れそうです。
あとは、バックアップのためのハードディスクと連携させれば、枕を高くして寝られそうです。(_)

12月 05
2008

MacBook Whiteのバッテリーが、、、

200910301704.jpg

バッテリーちゃんと付いてるよ。(^_^)
でも、充電してくれません。
バッテリーの残量LEDを光らせると、最後の一つが付いて、、、あれ? 消えない。

外出時の持ち出し用なので、充放電の回数なんてしれているので、劣化も考えにくいし。。
そうか、例のパワーマネージャのリセットで治るかな。と、楽観視。
バッテリーを外して、電源ボタンを5秒以上押しっぱなし。。。。
再度、電源を入れると。。。。
お、良さそうジャン。。。(^_^)

が、数分後にまた充電をやめてしまう。。。。

こりゃ駄目だ、、、と思ったら、アップルがバッテリーの交換プログラムをやっているじゃないですか!
でも、いきなりバッテリーがお亡くなりになることもあるんですね。。。

10月 14
2008

今日は過ごしやすい一日。

そうだ、AppleがMacBookの新製品を発表しました。
何もかも、リニューアル!

なぜか、目の前にあります。(^_^)
Proくんの現役交代です。

しかし、なかなかの質実剛健です。
新しいタッチパッドも良い感じ。
MacBook Pro。頑張って、働いてもらいます。(^_^)

200910301706.jpg

9月 24
2007

しくじりました。

さっきまでBlogサーバがダウンしていることに気が付きませんでした。。。
たぶん、、、1ヶ月ほど。。(^_^;

ま、誰も見てないので気にしてませんが。。;p

11月 06
2006

忘れないために、、、

MacOS Xに標準ではいっているPHPはGDに対応してないんですよね。

ソースを持ってくるとか、Finkでバイナリをいれるとか、色々やり方はあるのでしょうが、他の環境まで入れ替えるのは大変。

そこで、見つけたのが、

http://www.entropy.ch/software/macosx/php/

だったんです。

先日、ふとしたことで思い出したので、これも何かの縁。とりあえず備忘録として書いておこうと思います。

ま、気まぐれです。