【QPKG】RunLast

説明

RunLastは、QTS NASの起動時にQPKGの再統合が行われた後にコマンドやシェルスクリプトを実行するための環境を作成します。

これにより、QTSの起動時にQPKGに依存するスクリプトを実行することができます。

機能

このパッケージは、パッケージインストールパスにスクリプトディレクトリを作成します:

  • init.d
  • scripts

SysVスタイルのスクリプトをinit.dディレクトリに配置してください。これらはNAS起動後にstartパラメータで実行され、NASシャットダウン前にstopパラメータで実行されます。scriptsディレクトリ内のスクリプトは、起動時のみ実行され、常にカスタムinit.dのstartスクリプト実行後に実行されます。

インストール方法

注意事項

  • このパッケージをインストールしても、特に表示されるものはありません。パッケージアイコンを見つけて「開く」ボタンをクリックすると、現在のログファイルが表示されます。スクリプトからのstdoutおよびstderrがここに表示されます。

  • ログファイルはウェブブラウザで閲覧できますが、実際のウェブドキュメントではないため、ブラウザが変更を認識しない場合があります。ログを閲覧する際は、必ずページを強制的に更新してください:CTRL+F5。

  • scriptsディレクトリに移動するには:

cd $(getcfg RunLast Scripts_Path -f /etc/config/qpkg.conf)
  • または、init.dディレクトリに移動するには:
cd $(getcfg RunLast SysV_Path -f /etc/config/qpkg.conf)
  • このプロジェクトのソースはGitHubで公開されています。

  • 変更履歴

「RunLast」の開発をどうか止めないでください、お願いします!そして、今より悪くしないでください!すでに正しいアプローチを取っています。特にSysVスタートスクリプトの素晴らしい構造のおかげです。ユーザーが自分のアプリケーションの他のQPKGへの依存関係を考慮し、他のスタートスクリプトから少し拝借すれば、ほとんど何でも動かすことができます。その点をぜひ説明し、強調してください!
「RunLast」はQNAPデバイスでカスタムの起動・停止環境を実装する上で十分な機能を備えていると思います。

将来的には、起動時にインストール済みかつアクティブなすべてのQPKGから独自の依存キーを生成できるような仕組みを考えてみてはいかがでしょうか。

……そしてアイコンが木のスプーンって、本気ですか?

よろしくお願いします。

Mandragor59

***** 問題はありません、あるのは挑戦だけです *****

皮肉な褒め言葉をありがとうございます。:wink:

すでに試しました。残念ながら、QTSは依存キーに多数の値を読み込もうとするとフリーズしてしまいます。

はい、その元ネタは分かっていますよね?それに、もっと良い案を提案するチャンスはありましたよ。:grin:

QTS 5.2.0以降への対応として、RunLastがQTS QPKG initプロセスの終了を待つようにすることを検討しています。終了したら、すべてのQPKGが起動したとみなし、ユーザースクリプトを実行します。

この方法がどれだけ信頼できるか、少し試してみます。もしかしたらRunLastを再開できるかもしれません。

ぜひやってください!絶対に!どんな場合でも!みんなあなたを好きになりますよ!

… そして、あなたの「説明」をそんなに否定的にせず、すぐにアンインストールを促すような内容にしないことも検討してみてはどうでしょう!QTS 5.2.0以降では、現時点で必要なQPKG(QPKG)の依存関係をスタートスクリプトで考慮する必要があることを注記として追加した方がいいかもしれません。

***** 問題はなく、挑戦だけがある *****

まあ、実際にはそうでもありません。アマチュア料理人として木製スプーンについて思い浮かぶ唯一のことは、それが口に入らないということです。もしかしたら、年配のドイツ人ユーザーに教えていただけるかもしれません。もし再び聞かれたら、「最下位」と刻印されたメダルか優勝トロフィーを選びたいですね。:sunglasses:

私は最初から期待値を低く設定するのが好きです。:grimacing:

この点についてはすでにOP(オリジナルポスト)に注意書きがあります。

いくつかの国(私の国もスポーツ文化が強いですが)では、「木製スプーン賞」は毎年最下位になったスポーツチームに贈られるものです。実際の賞ではありません。:wink:

RunLast は、QTS 5.2.0以降で sherpa を通じて利用可能になりました。:nerd_face:

最新版(250707)を近日中に MyQNAP レポジトリに提出します。

こんにちは

この少し古いスレッドを上げてしまいすみませんが、あなたのアプリで自分がやろうとしていることが可能かどうかお聞きしたくて投稿しました。

私はgithubからqnapにmktorrentを入れています。

そして、プログラムが永続的でないため、再起動のたびにmakeコマンドを実行したいと思っています。

このツールでそれが可能でしょうか?毎回試すたびに「make - command not found」というエラーが出てしまいます。opkgでmakeをインストールしていて、動作はしています。

また、スクリプトは初心者で、bashを使いたいと思っていますが、もし他に良い方法があればぜひ教えてください。

どんな助けでも大変ありがたいです。

こんにちは、@DLS4BZ さん、フォーラムへようこそ。:slight_smile:

もしあなたのスクリプトが Entware(および opkg)でインストールしたパッケージを使用している場合は、RunLast の代わりに Entware の init システムを使ってスクリプトを起動することをおすすめします。RunLast でも実現は可能ですが、Entware の方がより適切に動作するかもしれません。

実行可能なスタートアップスクリプトを /opt/etc/init.d/ に配置し、スクリプトのファイル名を大文字の ‘S’ で始めてください。これで、Entware の起動後に自動的にスクリプトが実行されるようになります。

助けてくれてありがとう、ついにうまくいきました!