Solaris - 获取启动/引导时运行的命令列表?

Solaris - 获取启动/引导时运行的命令列表?

有没有办法查看 Solaris 上启动/引导时运行的命令列表?

我知道启动时安装了一个网络驱动器,但我想查看正在使用的确切“mount ...”命令。

答案1

要查看 Solaris 10 及更高版本中默认启动的所有文件系统相关服务,请运行:

svcs \*filesystem\*

这将返回如下输出:

STATE          STIME    FMRI
online         Jun_11   svc:/system/filesystem/root:default
online         Jun_11   svc:/system/filesystem/usr:default
online         Jun_11   svc:/system/filesystem/minimal:default
online         Jun_11   svc:/system/filesystem/local:default
online         Jun_11   svc:/system/filesystem/autofs:default

要了解任何特定文件系统服务如何挂载其文件系统,您需要查看该服务的 start/exec 服务属性。

例如,让我们看一下 /usr 文件系统。

svcprop -p start/exec svc:/system/filesystem/usr:default

向我们展示用于此服务的方法脚本。

/lib/svc/method/fs-usr

阅读该脚本将显示“mountfs”命令正在用于挂载 /usr 文件系统。查看方法脚本的顶部,您可以看到 /lib/svc/share/fs_include.sh 已被包含在内。检查该文件会发现一个名为 mountfs 的 shell 函数,该函数标准化传递到 /sbin/mount 的选项。

通过了解 SMF 以及服务和依赖项之间的交互,您可以更深入地了解系统实际在做什么以及如何完成任务。

答案2

回答标题问题:

是的,如果您运行的是 Solaris 10 或更高版本,则可以轻松完成此操作。只需使用匿名 dtrace 脚本即可记录从启动开始的每个 exec 调用。

请参阅该博客的示例:http://alexeremin.blogspot.com/2009/01/boot-chart-with-help-of-dtrace-and.html

您需要修改该脚本以使其显示传递给 exec 的参数。

答案3

相关内容