QNAP TS-209 ProII で Perl を動かす

NAS選び

会社のファイルサーバが老朽化してきたので、NASの導入を検討していました。

  • 詳しい人がいなくても運用できる
    • ブラウザで管理できる
    • ある程度放置しておける
  • でも定時処理がしたい(古いゴミファイルを消すなど)
    • Perl・cron が動作させられる
    • リモートアクセスできる(ssh
  • 二重化しておきたい(RAID 1
  • プリントサーバにもなるといい
  • iTunesサーバも使うかも

普通に使う分には簡単に使えて、さらに LinuxBox的にも使えるもの・・・ということで選んだのが、QNAP TS-209 ProII です。先日、秋葉のオリオ・スペックに行って買ってきました。

Perlで定時処理する

もろもろの設定を済ませた後、早速 QNAP TS-209 ProIIPerlを実行できる環境を作ったので、その時のことをメモしておきます。ちなみにファームウェアのバージョンは「2.1.0 Build 0624T」です。

もっといろいろやりたい人は Debian化したりするそうですが、導入した TS-209 はファイルサーバとしての運用しかしないつもりなので、最低限 Perlを動かす最も簡単そうな方法として、QNAP純正の「QPKG」から ipkgを導入する方法にしてみました。

ipkgとは、以下のようなものだそうです(管理画面の「QPKGの取得」で出てくるページから引用)。

Ipkg、またはItsy Package Management System(Itsyパッケージ管理システム)は埋め込みデバイス用に設計された計量のパッケージ管理システムです。OpenWRT、 OpenMoko、Gumstix、iPAQ、QNAP NASでLinksys NSLU2用のUnslungオペレーティングシステムで使用されます。

参考)QNAP TS-109 Japanese Forum などが大変参考になりました。

QPKG から Optware-ipkg を入手
  1. ブラウザで TS-209 にアクセス。
  2. 管理画面から「システムツール」→「QPKG」に移動
  3. 画面右上の方(QPKGの見出しの帯)にある「QPKGの取得」をクリック
  4. 出てきた画面から、「Optware IPKG (Itsy Package Management System)」をクリックし、TS-209用のファイルをダウンロード。
  5. 管理画面の「システムツール」→「アップデート」に移動。上記でダウンロードしたファイルを指定して、更新。
  6. 更新が終わったら、管理画面「システムツール」→「QPKG」から「Optware-ipkg」をクリックして、有効にする。
ipkg から Perl をインストール
  1. ssh で TS-209 にログイン
  2. まずは ipkg のリストを更新  $ /opt/bin/ipkg update
  3. perl をインストール  $ /opt/bin/ipkg install perl
perl の実行

Perlを実行する際には chrootする必要がある。そうしないと、以下のようなエラーが出る。

perl: relocation error: /opt/lib/perl5/5.8.8/arm-linux/CORE/libperl.so: symbol __aeabi_uidiv, version GCC_3.5 not defined in file libgcc_s.so.1 with link time reference

予め、

$ /usr/sbin/chroot /share/MD0_DATA/optware

としておくか、

$ /usr/sbin/chroot /share/MD0_DATA/optware /opt/bin/perl ... 

とすればいい。

参考)chroot とは?

crontab の設定

単に crontab -e admin としても、crontab を書き換えることができない(書き換えたつもりでも、元に戻ってしまう)。

/etc/config/crontab を書き換えれば、再起動後に反映される。

参考)crontab はreboot すると初期化されてしまう | Nyan-Chew's Digital Life