タグ「autorun」が付けられているもの


QNAP TurboNASのautorunについて

  • 投稿日:
  • by
  • Category:

QNAPの起動時にスクリプトを実行したい場合、普段はマウントされていないフラッシュメモリ部分をマウントして、そこにautorun.shを作って書き込んでいくという方法が定石でした。

多くのWebページで解説されていますが、次のようなものです。

mount -t ext2 /dev/mtdblock5 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
umount /tmp/config

しかしここ最近、autorun.shが思い通りに動作していないことに気がつきました。どうやら、autorun.sh自体が実行されていないようです。

NAS本体がおかしくなったのかと思い、暫くほっといたところQNAP wikiのautorun解説に「 3.8.2以降のファームウェアでは上記の方法だと実行できない」と書いてあります。まさしくコレ、出来ないはずですわ。

回避策として、ファームウェア3.8.2以降のTurboNASのために新しい方法が紹介されています。NAS起動時にQPKGのアプリケーションの起動と一緒にautorun.shを実行してしまおうというもの。
Wikiの日本語訳になってしまいますが、簡単に書くと

1.SSHでNASに入ってqpkg.confファイルを開きます。

vi /etc/config/qpkg.conf

2.qpkg.confファイルの末尾に以下の文を追記します。

[autorun]
Name = autorun
Version = 0.1
Author = neomilium
Date = 2013-05-06
Shell = /share/MD0_DATA/.qpkg/autorun/autorun.sh
Install_Path = /share/MD0_DATA/.qpkg/autorun
Enable = TRUE

赤字の部分について、TS-112のような単一ドライブしかないTurboNASの場合、/share/MD0_DATA ディレクトリがないので "/share/MD0_DATA/" を "/share/HDA_DATA/" に置き替えてください。
例えば次のようになります。
   /share/HDA_DATA/.qpkg/autorun/autorun.sh   

3.上記の"Shell= "で指定したディレクトリを新規に作成します。

# mkdir /share/MD0_DATA/.qpkg/autorun

ここでも単一ドライブのNASの場合、/share/MD0_DATA/ → /share/HDA_DATA/ に置き換えてください。以降も同様です。

4.autorun.shファイルを新規に作成します。書き方は普通のShellスクリプトの書き方と同じです。

# vi /share/MD0_DATA/.qpkg/autorun/autorun.sh

5.最後にautorun.shに実行権限を与えます。

# chmod +x /share/MD0_DATA/.qpkg/autorun/autorun.sh

あとはautorun.sh を実行してみて希望どおりの動作をするか確認し、その後「reboot」して起動時にautorun.shがきちんと実行されることを確認してください。

私のTS-112のファームウェアは「3.8.3 Build 20130426」ですが、この方法でNAS起動時にautorun.shを動作させることができました。