システムの起動時にスクリプトを実行する必要がありますが、Linuxのバージョンが非常に古くなったため、次のようになります。
- いいえ
rc.local
作成してコマンドを発行しても決して実行されません。 crontab
別言します。- スクリプトを追加しても
init.d
結果は出ませんでした。 - 明らかにUpstartアプリがなく、SSH経由でのみデバイスにアクセスできるため、インストールできません。
手動で実行すると確かに動作するので、スクリプト自体が動作すると確信しています。デバイスは組み込みLinuxデバイス(Ettus E100、協会)。私のLinuxバージョンは3.0.0です。正確なバージョンは次のとおりです。
$ cat /proc/version
返品:Linux version 3.0.0 (oe-classic@oebuild) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #1 Thu Mar 28 18:15:38 PDT 2013
。$ dmesg | head -1
返品:[ 0.000000] Linux version 3.0.0 (oe-classic@oebuild) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #1 Thu Mar 28 18:15:38 PDT 2013
。$ runlevel
返品:N 5
。$ cat /etc/issue
何も返しません。$ cat /etc/*-release
「該当するファイルやディレクトリがありません」というエラーを返します。$ lsb_release -a
「コマンドが見つかりません」エラーを返します。$ uname -a
返品:Linux ettus-e1xx 3.0.0 #1 Thu Mar 28 18:15:38 PDT 2013 armv7l GNU/Linux
。
私のディストリビューションを確認する方法がわかりません。
起動時にスクリプトを実行する他の方法はありますか?
答え1
組み込みLinuxを実行しているため、機能が多少制限されています。しかし、Sys V initがあるようですので、rc.localをエミュレートできます。
/etc/rc.local
必要な指示を含むファイルを作成し、次のコマンドを実行します。
#ln -s /etc/rc.local /etc/rc5.d/S99rclocal
またはsudoがある場合:
$sudo ln -s /etc/rc.local /etc/rc5.d/S99rclocal
答え2
サーバーが元のSystem V initデーモンを使用している場合でも、この/etc/inittab
ファイルを使用できます。