【发布时间】:2011-12-14 12:33:14
【问题描述】:
如何在 Ruby 中获取 linux 系统的软件/硬件信息(这必须适用于 Fedora、Ubuntu 等)?
【问题讨论】:
标签: ruby ubuntu fedora system-information
如何在 Ruby 中获取 linux 系统的软件/硬件信息(这必须适用于 Fedora、Ubuntu 等)?
【问题讨论】:
标签: ruby ubuntu fedora system-information
Chef 背后的优秀人员有一个名为 Ohai https://github.com/opscode/ohai 的优秀 gem,它以哈希的形式返回操作系统、内核、规格、fqdn、磁盘、空间、内存、用户、接口、ssh 密钥等系统信息。它非常完整,非常好。它还安装了一个命令行二进制文件(也称为 ohai)。
【讨论】:
你可以试试sysinfo gem。如果这不起作用,您可以try making a system call, parse the output,,然后调用相关命令以获取更多信息。
例如,在 OS X 上,uname -a 给了我以下输出,然后我可以知道还有哪些其他特定于发行版的命令可能可用。
$ uname -a
Darwin [machine-name].local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64 x86_64
【讨论】:
uname -s 通常就足够了(或在 Ruby 中使用 RUBY_PLATFORM):-)
您可以尝试使用sys-uname gem,它提供了一些对操作系统信息的访问。那家伙还有一些其他系统信息的宝石,比如 cpu、用户组等。
【讨论】: