早速方針転換です。前回 FreeNAS 上に FreeBSD の仮想環境を作成しました。何をしたいのかを書いていませんでしたよね。そこから説明しようと思います。
当初の目的
私の FreeNAS の場合、 PentiumG4400 3.3GHz 2Core2 スレッドの CPU を使っています。 FreeNAS と言うぐらいですので、このマシンの本業はファイル共有になります。そして、今となってはやや非力な CPU ではありますが、余裕はたっぷりあるわけです。 FreeNAS の CPU 消費率はほぼ 5 %未満に落ち着いています。
根っからの貧乏性としてはもったいないわけですよ。 Pentium は 100 %にしたとしても発熱は小さいですよね。 5 %未満では CPU は遊んでいるだけです。それでも電力は食います。じゃぁということで、 FreeNAS に備わっている機能で遊んでみようと思い立ったわけです。何で遊ぶか。 BOINC を真っ先に思いつくのですよ。 ET を見つけようという SETI@home が有名ですが ( 残念ながら休眠に入りましたね ) 、 CPU の余剰を利用してグリッドコンピューティングしようというヤツです。これを動かせないか。これが当初の目的です。
挫折 ( コンパイルはできたものの動かない )
さて、 FreeBSD というのは私にとっては道のディストリビューションです。そもそもパッケージ管理ソフトがあるのかどうかも知りません。ググってみると、 port だとか pkg などという言葉は出てきますが、使い物になるかどうかはさっぱりわかっていませんでした。
そして、情報が少ない。 FreeBSD で BOINC を動かそうという情報が非常に少ないのです。その少ない情報も英語が圧倒的。最近使い始めた DeepL 翻訳を駆使して何とかコンパイルする方向が見えてきたのですね。これが「その 1 」前後のことです。
port というのが
Ports Collection は、
4.5. Ports Collection の利用Makefile
, 修正パッチ、 説明文などの一連のファイルのことです。 これらのファイルの各セットは、 個々のアプリケーションをコンパイルして FreeBSD にインストールするために用いられ、 port と呼ばれています。
ということも知りませんでした。しかし、この port に BOINC client があるんですね。私、それを見つけたところでできたと思いました。 port を実現するために、先に引用したウェブページの手続きを踏みます。曰く、
# portsnap fetch
# portsnap extract
これで、 /usr/ports/ 以下に膨大なコレクションが展開されます。その中から BOINC-Client を探して、 make && make install これで完成! と思っていました。
エラーとの格闘とバイナリとの格闘
まず、 Makefile は port の各ディレクトリにできていますので、 BOINC のディレクトリに行って make すればいいのですが、エラーが出て通りません。最初に出たのは Conflict が発生しているからダメよ。というエラー。これは思いっきり苦労しました。出たのが python のライブラリのようでして、 2 つのバージョンが混在しているというものでした。
Mac の Homebrew のようなパッケージマネージャーを想像していたのですが、 Conflict までは面倒みてくれないんですね。知識がないので、 Google さんに頼ります。頼りますが、これは! というのになかなか当たりません。見つけたのが、同じライブラリで同じエラーが出ている情報。実は、 BOINC とは全く関係ない、 NVIDIA のドライバをインストールできないという書込みでした。しかし、同じライブラリで同じエラー。もしかしたらと思いまして、 NVIDIA のドライバをインストールしてから、再度 BOINC の make を実行。なんと通りました。
Pentium の CPU ではコンパイルも時間がかかりまして、実に 15 時間近くかかりましたが、無事エラーを回避して make が完了。インストールも OK です。
しかし、ここからまた問題発生。 boinc-client が動きません。いろんなサイトを見て回ったのですが、何せ古い情報しかない。どこをどういじったのか、このブログに書こうと思ってメモりながら進めていたのですが、システムのあっちこっちをいじったため、訳がわからなくなりました。
最終的には、 root で起動しているにもかかわらず、 permission でエラーが出ていてもう訳がわからなくなりました。ということで、挫折です。断念しました。
現在テスト中
挫折したものの、得るものも多かったのですが、それで終わるのも面白くありません。この Jail という仮想環境。マウントポイントという機能があります。仮想環境と NAS の環境は厳密に分けられており、相互干渉はありません。しかしそれでは面白くないので、 NAS のフォルダを仮想環境のフォルダに割り当てて使うのが、マウントポイントです。 NAS のデータを壊さないように、リードオンリー属性で使うことが推奨されていますが、私はそのチェックボックスを外して使っています。
NAS にはいろんな動画ファイルを入れてあるのですが、この動画ファイルを再エンコードして容量を小さくできないかと思っているのですね。 h.264 でエンコードされているのがほとんどなのですが、これを h.265 に再エンコードすると最大 50 %も容量が小さくなります。
Pentium ですので、エンコード速度は遅いのですが、時間はたっぷりあります。現在テスト中です。またその 3 で書こうと思います。
投稿者プロフィール
最新の投稿
- ノン・カテゴリ2025年1月12日2 つになってしまった
- Mac2025年1月10日iPhone の保護フィルムが割れた
- ノン・カテゴリ2025年1月2日正月早々、階段から落ちた
- Windows2024年12月18日Windows11 のログインについて