kenkino’s diary

おそらく技術・グッズ・自転車系 ※当ブログは、Amazonアソシエイトやその他アフィリエイト等の収益メディアを表示しております。

年末ッ!!

気がついたら1年半以上更新していなかった・・・・・orz

ネタはあったはずなのだが、最終更新から諸々あり更新する気が
起きずズルズルきてしまったのが現状だったりする orz orz

来年はその辺りのネタを書きつつ、他にネタを書いていこうかと
思う・・・・・

それでは、良い一年を

OSC 2014 Okinawa

先日、OSC 2014 Okinawaということで手伝いにまた沖縄へ
今回もFrogを持ち込もうかと思ったのだが、前日の点検でパーツの一部に問題発見、放置しても問題は無いのだが万が一を考えて今回は自転車を持ち込まずに沖縄へ向かうことにした。

前回の沖縄は往復で747に乗る事ができ、747が引退した後は何になるのかと思ったところ777に乗り込みということに、787に乗ってみたい気持ちはあるのだが、まぁ旅割等で費用を抑えているため仕方ないかなといったところで待合室で待っていたところ、FreeBSD勉強会の後藤大地さんとバッタリ

OSC Okinawaでセミナーを行うということで、会場近くに宿をとったらしく意外にも今回沖縄は初めてということで、自分が知っている沖縄の現地情報を少し説明して、また会場でということで搭乗。

機内ではほぼ寝ており、トイレに行った後に少し寝ていたらあっという間に那覇空港へ到着、その後はモノレールで宿泊先へ。

宿泊先へ到着後、前日入りしていた宮原さん以下の前日入りメンバーと連絡を取ったところ沖縄で有名なステーキ屋さんで夕食を食べるということになりステーキ屋へ向かった。

店自体はかなり有名店らしく車も人も行列で、こちらも2〜30分待ちで入ったのだがこれでもすぐ入れた方だとのこと。

ということでステーキを注文して食べることに、ステーキ自体はなかなか美味しく、流石行列の出来る店だなと感じつつ食べ終わり、明日に備えて各々宿泊先へ戻っていった。

翌日は会場へバスで移動、宿泊先の近くにバス停があり時間をみると20〜30分程余裕があったので「朝飯食べようかな」と思っていたところ会場へ行く系統のバスが来たので慌てて搭乗、道も空いており定時運行できるのではと思ったのだが「まぁ、これがウチナータイムかな・・・」と思いつつ会場へ到着し近くのコンビニで朝食を買って食べて戻ると丁度スタッフ一同到着ということで会場設営を始めることにした。

設営の方は順調に終了、現地のスタッフの方とも近況等色々話しているウチにOSC Okinawa開始、ひとまずカメラを渡されてセミナー風景やら会場の様子等を撮影したり、受付の手伝いやらをしていた。

天気の方も爽やかで、会場も来場者が結構おり中々盛況で、セミナー風景を撮影しようとしてもどこからカメラを構えれば分からない程盛況なセッションもあったりでひとまず安心、スタッフや来場者にも学生がある程度参加しており最近の良い傾向なのではと考えており、今後もこの傾向が続くと良いなと思いつつOSC Okinawa終了、その後は会場の片付け等を行い懇親会へむかった。

懇親会では、会場スタッフだった学生とテーブルが一緒になり、他のOSCで毎回お世話になっている方々と彼を囲んで色々聞いたり、OSCの関してあれこれ話していたところ、彼の大学が会場に使えるのではという話になり要検討ということで話が進んだりしながら、懇親会は終了して宿へ。

翌日、飛行機が午後イチで出るので観光は出来ないかと思っていたのだが調べたところ首里城公園が意外と早くから開いていることと空港へ行くモノレールが時間がかからないということが分かり朝早くに首里城公園へ、ひとまずスマホGPSロガー機能でログを取りつつ首里城を見て回った。

山城ということもあってか、規模はそれ程大きくはなかったが、石垣とか中々の偉容で、本土とは違った建物の作りや眺めの良さもあってそれなりに楽しめる場所で、機会があったらユックリ巡ってみたいなと思わせる場所だった。

その後は那覇空港へ戻り羽田へ、ボーディングブリッジでは無く久々にタラップ車を降りてバス移動で待合所まで移動し無事に帰宅した。

今回が2回目だが、ホント沖縄は面白いなと思う、来年も可能であれば行ってみたいと思う。

スタッフ・参加者の皆さん有り難うございました。

FreeBSDでSamba4 ActiveDirectory Domain Controller


去年の頭に「Samba4でActiveDirectory のDomain Controllerが構築出来るらしい」ということで調べて見たところCentOSとかでの設定手順があり、試しにやってみたところアッサリ設定が完了WindowsPCのドメイン認証・ユーザー設定も問題無く設定を行う事が出来た

Linuxでもやれるって事はFreeBSDでも」ということで調べたところ
https://forums.freebsd.org/viewtopic.php?t=36137
http://www.whitneytechnologies.com/?p=422
を発見、「これなら出来そうか」ということで試して見ることに、FreeBSDportsを確認したところsamba4があったのだがSambaがLinux向けに手順を公開していたのでgitからソースをダウンロード->ビルドしてみることにした。

インストール前の設定の設定としてはまずはaclsだろうこれは/etc/fstab のルートディレクトリのオプションにaclsを加えれば良い、そのあと

mount -o acls / 

でマウントし直し次にresolv.confで自マシンのIPアドレスを追加する、その後はportsよりgitをインストール

cd /usr/ports/devel/git 
make
make install
clean

必要なパッケージのダウンロード・設定で色々聞かれるがデフォルトで進めてしまって問題無い、インストール後はgitでソースをダウンロード

cd /root
git clone git://git.samba.org/samba.git samba4

ダウンロード後、python2.7 をpythonにリンク

ln -s /usr/local/bin/python2.7 /usr/local/bin/python

その後ビルド・インストール

cd samba4
./configure --enable-debug --enable-selftest
make
make install

問題無くインストールができたら以下コマンドでドメインを設定、諸々設定項目を聞かれるが、上に紹介したページを参照しながら設定は出来ると思う

/usr/local/samba/bin/samba-tool domain provision

ドメインの設定が終わったら/usr/local/samba/share/setup/krb5.conf を/etc/にコピーして上記紹介したページでの記述を元に修正、後は

/usr/local/samba/sbin/samba

でsamba4を起動してdnsやkerberosの設定に問題も無く無事に設定が完了した


FreeBSD 10.0RELEASEではldapのライブラリを求められたためportsよりopenldap-serverをインストール、しかしgitよりソースをダウンロードしてビルドしようとしたところエラーでビルドが停止

ソースのダウンロードで問題があったかと思い9.2RELEASEで使用したソースを使用してみたが、やはり結果は同じで首を捻っていたところsambaのMLでCコンパイラのclangでビルドした際にトラブルが発生したとの記述を発見
https://lists.samba.org/archive/samba-technical/2013-June/093391.html

10.0RELEASEではビルドの際に使用するコンパイラgccからclangに変わっている関係でソースを変更する必要があったようで

'--- a/lib/util/string_wrappers.h
'+++ b/lib/util/string_wrappers.h
@@ -62,7 +62,7 @@ char * __unsafe_string_function_usage_here__(void);

  size_t __unsafe_string_function_usage_here_size_t__(void);

'--#define CHECK_STRING_SIZE(d, len) (sizeof(d) != (len) && sizeof(d) != sizeof(char *))
'++#define CHECK_STRING_SIZE(d, len) (sizeof(d) != sizeof(char *) && sizeof(d) != (len))

を修正したところ無事にビルド・起動しドメインの設定も無事に行えた

LinuxFreeBSDでSamba4のインストール・ADの設定をやってみたがLinuxが事前にパッケージを入れる必要があるのに比べてFreeBSDの方はportsでgitとopenldap-serverをインストールするだけで構築・AD設定が行えたのが意外だった。9系統からインストーラーも変わりCUIに慣れた人ならFreeBSDで設定する方がやりやすいのではと思う、規模がそれ程でも無く費用をかけずに手軽にADを導入したいという場合にはかなり良い選択肢になるのではなかろうか・・・・

Samba4のActiveDirectoryについては情報が少ないながら、こういう本も出ているので参考にしてみると良いのではと思う。

OSC 2014 Hamanako

先週の連休、浜松でOSCが開催ということで手伝いに浜松へ向かうことに
今回はとあるミッションをこなす必要があったためバスで移動ということ
にしたのだが、出発直前にミッションをこなす必要が無くなりどうしようか
と思ったのだが結局そのまま行く事にした。

渋谷のマークシティでバスに乗車、前日首都高の渋谷部分で火災があり
「大丈夫なんかな〜」と思ったのだが火災現場を通り過ぎ(マスコミの
取材が結構いた)別の場所から高速に乗り浜松へ

連休初日ということもあり、高速は渋滞しており最初の休憩場所に2時間
遅れで到着、その後は寝ていたのだが順調だったようで最初の2時間の遅
れのまま浜松に到着。

前回は浜松基地のエアパークへ行ったのだが、行く前に浜松の地図を見た
ところ浜松城公園内の道等がないことに気づき、今回は浜松城公園へ行き
公園内をマッピングすることにした。

市内にある城跡の公園なので何となく平城なのかと考えていたのだが、着
いて見て見ると小高い丘の上に天守閣が聳えており「これは結構手応えが
ありそうだ」と感じつつGスマホマッピング開始

公園内は天守閣がけっこうな高さの場所にあるのに加えて起伏に富んでお
りちょっとした曲輪のような平坦部もあり、道もかなり入り組んでいて
一人でマッピングしようとしたことを少し後悔したのだが、気を取り直し
て歩き回り、一通りの道と曲輪に関してのログは取れたと思う、しかし
木が結構生い茂っている部分でGPSの電波が切れたためか本来の道とデータ
が一致しない部分が出てきており、今回スマホでデータを取ったが「本格
的なGPSナビを買った方が良いのか?」と少し感じる結果となってしまい
これについては今後の課題といったところになるかもしれない

ログデータを取り終わって宿泊所に戻ると別ルートで入っていた宮原さん
より夕食はどうするのか?というメールが、とりあず予定は無い旨返信
すると地元でよく知られているハンバーグチェーンで食べようということに
なり地元の実行委員の方の車に乗りお店へ

お店では、実際にハンバーグやステーキを調理しているところを直接見る
事が出来たりでなかなか面白く、地元の方オススメのゲンコツハンバーグ
を堪能しつつお店について色々伺ったところ、どうも静岡県内では割と
有名なチェーン店で県内の方は全国展開してるものと思っていて県外に無
い事をしって驚くという不思議なチェーンであるとの事

食後、宿泊所まで車で送ってもらい自分の部屋に着いたところで午後に
とったログデータのアップロードとマップの作成、何も無かった公園敷地
だったが今回作成したことにより結構ルートを書き込めたと思う。

翌日、少し早めに会場へ向かい開くのを待ち設営へ、浜松会場はセミナー
会場を取り囲むように展示を配置するという構成である程度配置が終わっ
た後に地元の担当の方とUst機材配置・設営をして少し機材の使用方法と
打ち合わせが終わった頃に開始となった。

セミナーの構成としては一コマ15分で3団体のセミナーが終わった後に
休憩といったところで、大体45分〜1時間程度の発表になれている方は
ちょっと難しい部分があったかと思ったが、皆さん慣れたモノでほぼ
制限時間内にこなしていった。

地元の方も中々のセミナーでOSCでは定番ネタになりつつある(いいの
か悪いのかわからないが・・・)土下座を評価するアプリを作成して
OSCの土下座の第一人者であるOさんにセミナー中に実際に使ってもらう
など他の会場では滅多に無い事をやってたりと何かと濃い内容になっていた。

そうこうするうちにLTに入り5分のプレゼンに突入、大体慣れた方ばかり
なので制限時間内でプレゼンを終了し無事に終了。

普通はこの後懇親会なのだが、今回は会場の都合と参加者多数ということ
小江戸らぐ方々と合流して浜松で有名な餃子屋さんの打ち上げに参加。

参加メンバーはOSCの常連ばかりで、しかも野郎ばかりということで色々
怪しげな話題が飛び交いながら、ひとまず2次会へ

2次会も似たような雰囲気だったのだが、もう少しいろいろ話す機会があり
最近のOSCの傾向などを話しつつ2次会会場を後にした。

翌日、帰りも高速バスだったのだが何故か予約を間違えていたらしく浜松
インター入口近くの停留所で乗車ということになっており、浜松駅から乗
れるかもしれなかったがどうなるかは分からなかったのでインター近くの
停留所へ向かい無事乗車、しかし出発後に遅れてきた乗客がいてピックア
ップしてから出発となった。

行きは渋滞でかなり時間はかかったが、帰りは順調に走行しほぼ時間通り
に到着、何とか無事に戻ることが出来た。

連休を目一杯使ったが、それなりの甲斐はあった連休だったと思う。

OSC 2014Tokyo/Spring

開催されてから大分日が経ってしまったがボチボチ書いていこうかと・・・・
ここ2、3年Tokyo会場の前日準備はオフィスで積み込みを手伝った後に前日
準備に会場へ向かうか、オフィスで電話対応や業務を片付けた後に合流という
パターンが多かったのだが、今回は業務が一段落していたのと人員が増えたと
いうこともあり、直接会場に向かうことに。

今回、OSC開催から通算100回目(確か.DBとかも含めた総数だったと思う)
ということで、コミュニティー企画のイベントや併催イベント、それに関わる
様々な調整もあり、前日準備もかなりするべき事が多く設営やら荷物の搬入
やらであちこちに人が行き交う状態に、しかし事務局の事前の手回しが良かっ
たため、いつもよりやや早めに前日準備は終了、翌日へ備えて早く帰って寝る
事となった。

翌日、会場へ入り出展者や併催のHTML5 Web Application Conference
の会場との調整を行い何とか落ち着いたところで開場に、1日目は出展者さん
セミナー会場での機器調整や操作対応を行うことに、合間合間に展示やその
他を見に行くことにした。

今回は通算100回目ということでこれまでの開催したOSCの写真の展示があり
1回目のOSCから関わっていた自分としては結構懐かしい写真等があり、時の
流れを感じると同時に始めの頃「いつまで続きますかね・・・」と何かとなし
に話していた頃から考えると大きなイベントになったなぁ、という感慨も感じ
ながら写真を眺めていた。

反対側にはOSSコミュニティやOSCに積極的に取材し、OSSの普及に多大なる
貢献をしていただきながらも惜しくも去年末に亡くなられた日経BPの高橋信頼
さんを偲ぶ展示ということで、これまでの記事や在りし日の写真等の展示が
あり、今回OSS貢献者賞を受賞したことやOSCの記録写真と変わらない展示規
模を考え合わせながら業績の大きさを改めて感じていた。

その後、毎回お世話になっている出展者さんや展示会場内の機器調整をしている
内に、大きなトラブルも無く1日目が終了、今回懇親会は2日目ということでそ
のまま帰宅。

2日目はコミュニティ企画のキャラクター対決開催ということで朝から対決
会場入口には長蛇の列が・・・ちょっと気にはなったが、対決会場のスタッフ
さんに任せてUstreamの配信へ。

配信会場については、色々と興味深い講演が多く、これからについて考えさせ
られながら配信終了、ひとまずOSCの全日程は終了し、その後は会場の撤収を
行い懇親会へ。

自分達が懇親会場へ来たときにはかなり佳境に入った状態で、各々入り乱れて
あれこれ話をしている中知り合いを見つけて近況を話したり、これまでについ
て色々と話していると100回記念のケーキが搬入、切り分けられたケーキの
ご相伴に預かったりしつつ懇親会も終了。

その後は電車で帰宅時に途中まで濱野さんと相席になり、日経BPの高橋さんの
受賞についてやOSCのこれまでについて色々話ながら新宿で別れて帰宅

当初は普通の人や学生の皆さんにオープンソースを知ってもらうためのイベント
として始まったのだが、最近は来場者も増えてそれなりに知名度のあるイベント
となってきたが少し「関係者だけの内輪のイベント」とか「難しいことをやって
いる学会の様なイベント」と思われてきているという話が少し耳に入っており
ちょっと誤解されている部分がある気がしている、良さを保ちつつ前提知識の
無い一般の方や学生が興味を持ってきてくれるイベントにした方が良いのか、
それともこのままの方向性で行くのがいいのかという部分はあるのだが個人的に
は皆さんと一緒にこれからも来て良かったと思えるイベントにしていければ
と思いつつ続けていければなぁと思う。

皆さんお疲れ様でした。

MacBookProをSSDに換装(導入・設定篇)

去年、Internet Weekに興味のあるセッションがあって秋葉原へその際、オフィスからの依頼で入荷連絡のあったパーツを受け取ることとなりセッション終了後にショップへ、パーツを受け取った後はショップ巡りを・・・目当ての512GBのSSDをチェックしていると「2,3年前と比べて512GBもお手頃になってきたなぁ〜」と思っていたらいつの間にか自分の左手に512GBのSSDの箱が握られていたw
www.amazon.co.jp


ということで買ってきたのだから換装する事に、ひとまず現行のHDDの速度を計測とTimeMachineでバックアップ、SSDは外付けHDDケースに入れてUSBで接続後、MacBookの電源を一旦落としてOPTIONキーを押しながら起動してリカバリー領域を選択しディスクユーティリティーを立ち上げてSSDをフォーマット、その後ディスクユーティリティーでHDDの丸ごとコピーを行ってデータ移行は完了、その後はMacBookProの電源を落として裏蓋を開けて換装が完了電源ボタンを押したところ無事に起動した。
※換装手順については他のブログ等で写真入りで紹介されているのでそちらを参照してほしい・・・・

その後の作業としては以下の作業を行った

NVRAM/PRAMリセット
MacBookProの電源を落とした後に、電源ONして「コマンドキー+OPTIONキー+P+R」を押し続けてMacBookProを再起動
詳細はこちらを参照

SMCリセット
MacBookProの電源を落とした後に、本体キーボード左側の「SHIFTキー+CONTROLキー+OPTIONキー」を押しながら電源ボタンを押した後に上記3つと電源ボタンを同時に離した後にMacBookProを起動
詳細はこちらを参照

Trim enabler ダウンロード・起動
こちらよりTrim enablerをダウンロードして起動後Trim enabler
のスイッチをONに変更した後にMacBookProを再起動

OSX 10.9系では、普通にダブルクリックでは起動しないらしくCONTROL+クリックでメニューを出して一番上の「開く」を選択すると起動できる

上の3つは大体定番らしいのだが、自分の場合は追加で以下もおこなった

atime 無効化
atimeとはファイルを読んだ時刻の記録機能で、無効にする事により書き換え頻度が減るので書き換え制限のあるSSDには優しい設定となるとのこと

一番手っ取り早いのは毎回起動時にターミナルで

$sudo mount -vuwo noatime /

と入力するのが良いらしいが、/Library/LaunchDaemons/以下にファイルを作成してファイルのオーナーをrootにしておけば起動時に設定が読み込まれるとのこと自分の場合は以下の内容でcom.kenkino.noatime.plistという名前で作成

<!--?xml version="1.0" encoding="UTF-8"?-->
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> 
<dict>
        <key>Label</key>
        <string>com.my.noatime</string>
        <key>ProgramArguments</key>
        <array> 
                <string>mount</string>
                <string>-vuwo</string>
                <string>noatime</string>
                <string>/</string>
        </array> 
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

以下コマンドでオーナーを変更しておいた

$sudo chown root:wheel /Library/LaunchDaemons/com.kenkino.noatime.plist 

ジャーナリング無効化
最近のOSファイルシステムは非同期書き込み(ディスク変更をすぐには書き込まず時間やデータ量が一定になったら書き込む)というタイプが多く、この場合障害が発生したらデータの不整合が発生する可能性があるためそれにできるだけ対処しようとするのがジャーナリングである、勿論これもSSDへのアクセスが増えるために無効化した。こちらは以下のコマンドを実行するだけでよい

sudo /usr/sbin/diskutil diableJournal /

SSDの換装の効果はてきめんで、電源を入れれば一瞬でログイン画面が表示され、Parallels仮想マシンを使っている時も16GBメモリで改善されたパフォーマンスが更に改善されて上々と言ったところだったのだが・・・・(トラブル・解決篇へ続く)

MacBookProをSSDに換装(トラブル・解決篇)

それは、仕事納めの夜のことだった・・・・自宅に戻りいつものようにMacBookProを開けたらスリープ復帰の画面が、いつもならパスワードを入れれば復帰するのだが、今回はキーボード操作も受け付けない状態に・・・・

「固まったか、まぁ一旦落とせば復帰するだろう」と軽い気持ちで電源をOFFにして再度ON、こういう場合のは大体そうなのだがセーフモードでファイルシステムのチェックが行われてその後ログイン画面・・・・のハズがいきなり再起動、その後は セーフモードでファイルシステムチェック->再起動->セーフモードでファイルシステムチェック・・・のループとなってしまった。

MacBookProは最近メインで使っているマシンで、これが駄目な場合かなり大変な事態となるため、かなり焦ってしまったがひとまず起動時にOPTIONボタンを押してリカバリー領域より起動、幸いこっちは無事でディスクユーティリティーで本体の領域を検証しようとしたところアクセスが拒否され背中に冷たいモノが・・・・・・

その後は夜が明けるまで復旧策を探ることに、ひとまずはリカバリー領域より起動はできるので、ターミナルからメインの領域をマウントしようとしたところ以下のメッセージでマウント拒否

Resource is busy

「こりゃファイルシステムが壊れてんだよな・・・」ということで以下コマンドでファイルシステムを修復しようとしたが失敗

fsck_hfs -fy /dev/disk0s2

復旧中に調べたところセーフモードで一番始めにfsck_hfsをやっているらしくどうも

fsckが失敗->mountできない->OS起動できないので再起動

という事になっていたらしい、おそらくは

スリープ復帰で固まったので電源OFFでファイルシステムに不整合発生

電源投入

セーフモードでファイルシステムを復旧しようとしたが不整合が大規模
過ぎて修復できず

ということで恐らくはジャーナリングをしていれば被害は少なかったと思えるのだがもう後の祭り

一晩明けて、寝てないことに気づいて少し眠った後にどうするべきか考えてひとまずオフィスへ行って使える機材で復旧できそうかなと思い、年末の誰もいないオフィスへ・・・・・

ひとまず、オフィスのMacで最悪の事態を想定してインストールUSBを作成、再び復旧を進めたが、Resources is busyは解決できず、これはもうクリーンインストールしかないと思いインストールUSBを使ってインストールしようとしたが何とResources is busyの領域を削除できず失敗してしまった。

Appleのサポートフォーラム等を参照してみたが「これはSSDを交換するしかない」というようなやり取りばかりで、購入一ヶ月ちょっとで交換かという落胆と、年末で店は開いているのかどうかも分からない状態で復旧は年明けにしようかと諦めようとした時フト「Windowsで見えるかな?」と思いつき、MacBookProからSSDを取り外して外付けHDDケースに入れオフィスのWindows マシンに接続

マシンを起動後Windowsのディスク管理を立ち上げたところ未定義のパーティションとしてSSDのそれぞれの領域が認識されていることを確認

問題の領域を削除後、オフィスのMacに接続してディスクユーティリティーで確認したところ未使用領域となっており、試しにディスクの消去を行ったところ問題無く消去に成功

再度MacBookProに付けてインストールUSBからインストーラーを起動したところ今度はOSインストールが進行

インストール終了後、自宅のバックアップディスクからTimeMachineで設定やデータを戻して何とか復旧する事ができた。

復旧後は、ジャーナリング無効化以外の前回SSD換装時に行った作業を行い現在まで使っているが、問題無く動作はしているようで一安心といったところ、Resources is busyの解消は出来なかったのは残念なのだが、復旧方法は分かったので良い経験になったといったところだろう。

転ばぬ先のバックアップというか、バックアップに伴う煩わしい作業が少ないMac OSの発想には頭が下がる思いである。