ファイルサーバーがほぼ完成したのでファイルサーバーにバックアップデータを転送して・・・と言うところです。
で、ちょっと思い立ったのが
「ファイルサーバーが一番強力なCPUを積んでいるのでメインサーバーを最低限の能力に落とす+親のPCの能力アップを図ろう」
ということで、今までのメインサーバーと親のPCを交換することにしました。
そしてファイルサーバーをエンコードサーバーにすべく、HandBrakeをインストールしてみました。
昔に安く上げようとしすぎてPCの能力が・・・
2009年あたりですか。親のPCの変更が必要だったので一式を変えそろえたのですが、買ったマシンがなんとAtomのベアボーンだったりします。
Windows7も動くのでそのときはとりあえずよしとしたのですが・・・。
やはりWindows7をAtomで動かすにはいろいろとパワー不足の状態だったようで、「動作が遅い」と言われまして、金のかからない方法で高速化しようか、と考えていました・・・。
単純にメインサーバーのHDDと親のPCのHDDを取り替えるだけでほとんど終わってしまう
当たり前ですが。Windows7側はドライバが完全に間違った物が当たっているため一度セーフモードで動かしてドライバを完全に入れ替える必要があります。
本来ならそれだけで済むはずですが、今回は念のため別のHDDにバックアップをとったりといろいろとしていたのでかなり時間がかかってしまいました。
それでもそちら側の移行はかなり簡単に終わってしまいました。
問題はメインサーバー側で、AtomのベアボーンにFedora系OSを乗せたときにおこるNICの問題(r8168/r8169の認識ミス)にかかってしまい、ドライバをコンパイルして入れ直す羽目になりました。
しかもNICが使えない状態になってしまったためにTelnetでのログインなどネットワーク経由でのアクセスがすべて封じられて直接コンソールを操作することになってしまい、Webからの検索結果をまともに参照できない、と言う状態のまま作業を継続していました。
仕方がないのでスマートフォンからブラウザで説明を見ながらやりましたが・・・。
次はKernelをアップデートしたときにNICが認識されないような気がしてちょっと怖いです。
HandBrakeのインストールはかなり力業
ffmpegであればyum(+repoforge)経由でインストールが出来るのでほとんど問題ありません。使うかどうかを別として。
で、もう少し使いやすいようにするためにHandBrakeをインストールしてみよう、と言うことで頑張ってみました。
パッケージを自動インストールできるようならそれをインストールするのが手っ取り早いです。パッケージがないときはソースからのコンパイルなのでちょっとやっかいです。特に様々なパッケージが不足しているのでエラーが出た時点で入れ直す必要があります。
ちなみに、HandBrakeはAllInOneのパッケージで、Makeの途中に自分に必要となるパッケージ(かつライブラリとして自身に連結した方が分かりやすいもの)を自動でダウンロードしてコンパイルする、と言う動作を行います。
そのため、必要になるパッケージもちょっと不思議な物が入ったりします。
私の場合、必要になったパッケージが
# yum install fribidi fribidi-devel libogg-devel bzip2-devel gtk2-devel gstreamer-devel gstreamer-plugins-base-devel webkitgtk-devel libnotify-devel libgudev1-devel
です。gtk2-devel以降のライブラリはすべてGUI用のもので、CUIのみを作成するときは必要ありません。
なお、この中でちょっと注意なのがlibogg-develで、HandBrakeに連結されるliboggはちゃんと自力で落としてきた物を連結するのですが、libvorbisのコンパイル時にシステムにあるlibogg-develを参照してしまう、と言う現象が起こります。
これの回避のために一時的にlibogg-develが必要になります。終わったら削除してもかまいません。・・・バージョンが違うのだけれども、いいのかな・・・。
また、libvorbisのコンパイル時にAC_CONFIG_MACRO_DIRの定義により失敗することがありますが、これはcontrib/libvorbis/module.defs(buildにいるときは../contrib/libvorbis/module.defs)を
LIBVORBIS.CONFIGURE.bootstrap = rm -fr aclocal.m4 autom4te.cache configure; autoreconf -I m4 -fiv;
から
LIBVORBIS.CONFIGURE.bootstrap = rm -fr aclocal.m4 autom4te.cache configure; sh autogen.sh;
に書き換えて突破してください。
コンパイルを行うのにかなりの時間がかかりますが、エラーが出ない限りは頑張って待ってみてください。(様々なコードを途中でダウンロードするため)
エラーが出たときはだいたいはパッケージ不足なので、不足したライブラリをGoogleで調べるなりしてパッケージを追加していってください。
力業というのも苦労しますね
簡単にコンパイルできる物ならいざ知らず、です。まあLinuxの良いところはこのようにソースコードを集めてコンパイルすればだいたいのものは使えるようになる、と言うところですね。
Windowsのインストール形式の方が圧倒的に簡単なのは言うまでもないですが。パッケージシステムのありがたみがよく分かります。