旧 Linux 内核 (3.0.0) 启动时运行脚本

旧 Linux 内核 (3.0.0) 启动时运行脚本

我需要在系统启动时运行一个脚本,但Linux版本很旧,所以:

  1. 没有rc.local。即使我创建它并给它一个命令,它也从未运行。
  2. crontab根本就没有。
  3. 添加脚本init.d也没有产生任何结果。
  4. 显然没有 Upstart 应用程序,并且无法安装,因为我只能通过 ssh 访问设备。

我确信脚本本身可以工作,因为当我手动运行它时它当然可以工作。该设备是嵌入式Linux设备(Ettus E100,关联)。我的 Linux 版本是 3.0.0,这是确切的版本:

  1. $ 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.

  2. $ 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.

  3. $ runlevel返回:N 5.

  4. $ cat /etc/issue什么也不返回。

  5. $ cat /etc/*-release返回错误“没有这样的文件或目录”。

  6. $ lsb_release -a返回错误“未找到命令”。

  7. $ 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文件。

相关内容