早速方針転換です。前回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で書こうと思います。
投稿者プロフィール

最新の投稿
Raspberry Pi2023年11月30日Raspberry Pi zero 2 WからBluetoothで音楽を流す
ラーメン2023年11月26日ラーメン山岡家 ネギ味噌ラーメン
Windows2023年11月23日Windows11マシン不調
TrueNAS2023年11月17日TrueNAS SCALEサーバーのエラー
