趣味の備忘録
 

HDLP-G500をプチハック

title_101123_01.jpgせっかく安定動作していたLandiskがつまらないバグで使い物にならないのは勿体ないので、自己責任でバグ修正をやってみました。スケジュールバックアップ機能には他にも不満な点がありますが、まずは不具合の修正だけにチャレンジです。


■Linux環境を作成
いろいろなところでやり方が紹介されていますが、Landiskのバージョンアップイメージをいじくる場合、Linux環境が必要となります。別PCを用意しても良かったのですが、今後の事も考えてVMwareで仮想環境を作ることにしました。

VMwareはこちらから無料でダウンロードが可能。VMwarePlayerというのを使用します。
http://www.vmware.com/jp/

ちなみにVMwareはあくまで仮想デスクトップ環境ですので、次にLinuxイメージを入手。今回は比較的身近で説明サイトの多いFedoraを使用。現時点では14が最新版のようです。

VMwareを起動したら、画面の「新規仮想マシンの作成」を選択します。
2010_1123_03.jpg

次に先ほどダウンロードしたFedoraのイメージファイルを読み込ませます。
Fedoraは最初LiveCDとして提供され、LiveCD起動からHDDへのインストールが実行できますので、
1度きりしか使わないならLiveCD起動で十分でしょう。
2010_1123_04.jpg

この辺の環境構築の方法はその手のサイトを参考にして貰うのが一番なので説明は割愛。
出来上がった環境だとこんな感じでWindowsPC上にFedora14が起動します。
2010_1123_05.jpg

ただ、私のメインPCはAtom330の為、VMwareを起動するとすごく重い。Core2DuoやCorei3以上の環境をオススメします。

■HDLPのバージョンアップデータの展開
さて、ここまでくれば後は簡単です。
アイオーデータが公開しているHDLPシリーズのバージョンアップイメージをダウンロードしてきます。
今回はすでにバージョンアップ済みであり、最新の1.16を使用しました。

まず、Windows上でバージョンアップファイルを解凍します。「hdls_f116」というフォルダの中に展開されたファイルが出来るのでこれをFedora環境へ持って行きます。私の場合、USBメモリ経由でFedora環境へファイルを持っていきましたが、ネットワークフォルダを作成して、Fedora環境からそれを覗く方が楽だと思います。

さて、ではファイルの展開作業に入りましょう。
今回はFedoraのHomeディレクトリ内にあるユーザー領域に「share」というフォルダをつくり、ここで作業します。
2010_1123_06.jpg

ここにWindowsで展開した「hdls_f116」を丸ごとコピーします。ここまではマウスで作業しましたがコマンドでも構いません。


次にファイルを展開します。私はこちらのサイトを参考にコマンドで作業しました。
  LANDISK Home HDLP-Gシリーズ sshサーバ有効化手順
  http://tiramisu.sakura.ne.jp/file/hdlp-g.htm
  超簡単にHDLP-S500のsshを起動する方法
  http://nyon2.blog.so-net.ne.jp/2010-06-10

まずはrootになります。

[hoge@localhost] $ su -p root
Password: ←パスワードを入力


次にバージョンアップファイルのある場所に移動

[root@localhost] $ cd /home/username/share/hdls_f116


で、参考サイトと同じように展開コマンドを打ちます。

[root@localhost] $ mkdir hdlpg_f101
[root@localhost] $ tar zxvfp update.tgz -C hdlpg_f101


さらに下の階層に移動して展開

[root@localhost] $ cd hdlpg_f101
[root@localhost] $ mkdir update-files
[root@localhost] $ tar zxvfp update-files.tar.gz -C update-files

      展開処理がズラズラと流れる

[root@localhost] $


これで展開作業は完了です。

※rootになってから作業しないと展開中にエラーが出ることがあるようなので注意。


■バックアップスクリプトの修正
早速、問題のバックアップスクリプトを修正します。せっかくなのでこのままコマンドで作業をします。

問題のスクリプトファイルの編集へ。

[root@localhost] $ vi update-files/usr/local/bin/backup.php


エディタが開くので89行目の★マークの部分を変更します。

exec("sudo df -k | grep ".LD_SHARE_ROOT_DIR." | awk '{print $3}'",$source_size,$source_size_result);
exec("sudo df -k | grep ".LD_TMP_MOUNT_DIR." | awk '{print $4}'",$dest_size,$dest_size_result);
if($source_size_result == '0' && $dest_size_result == '0'){
  if($dest_size[0] > $source_size[0]){
    $check_size='0';
  }else{
    $check_size='0';   ★
  }
}


すっきりさせたいなら

exec("sudo df -k | grep ".LD_SHARE_ROOT_DIR." | awk '{print $3}'",$source_size,$source_size_result);
exec("sudo df -k | grep ".LD_TMP_MOUNT_DIR." | awk '{print $4}'",$dest_size,$dest_size_result);
if($source_size_result == '0' && $dest_size_result == '0'){
    $check_size='0';   ★
}


でもOK。編集が終ったら保存して終了します。

■再圧縮
編集したファイルを再圧縮してバージョンアップイメージを作成します。

[root@localhost] $ tar zcfp ../update-files.tar.gz .
[root@localhost] $ cd ../
[root@localhost] $ rm -rf update-files

       注1:バージョン番号更新はここ

[root@localhost] $ tar zcfp ../update.tgz *


バージョン番号の変更を行う場合、注1の段階で番号の変更を行ってから最後の圧縮ファイルを生成して下さい。

■バージョン番号の変更
さて上の再圧縮の手順で少し触れていますが、私のようにすでに最新版にしてしまった場合、バージョン番号を無理やり増やす必要があります。
理由はLandiskはバージョンダウンを認めていないため、このままだとバージョンアップのファイルチェックに引っ掛かるからです。

バージョン番号の変更は以下のように行います。
コマンドラインから

[root@localhost] $ vi for_HDLP-G_series


エディタが開くと番号だけが淡白に書かれていますので、適当に変更して保存終了。
私はベースバージョンが1.16だったので2.16にしました。
これにて改造版イメージ完成です。

■動作確認
早速、改造版のバージョンアップイメージでLandiskを更新します。
手順は通常と同じなので割愛。

バージョンアップ後、バックアップを5回ほど走らせましたが、全て正常に動作するようになりました。めでたしめでたし。ちなみに今回バージョン番号を詐称したわけですが、設定メニューを開くとバージョンも詐称したとおりに表示されます。
2010_1123_08.jpg
関連記事
 
 
コメント






(編集・削除用)

 

管理者にだけ表示を許可
 
 
トラックバック
http://bibo6.blog34.fc2.com/tb.php/104-803ff063
 
 
備忘録検索
 
カテゴリ
 
スポンサードリンク
 
月別 備忘録
 
人気記事
 
最近のコメント
 
ランキングに参加中
ページ先頭へ
Copyright © bibo6@管理人 / Designed by Paroday 改