【问题标题】:perl Sys::Statistics::Linux equivalent in FreeBSD?perl Sys::Statistics::Linux 在 FreeBSD 中的等效项?
【发布时间】:2017-06-26 18:04:05
【问题描述】:

尊敬的社区成员,

在 linux 下,我有一个脚本 (lcd_sysmon),它在 lcd 20x4 显示器(通过 LCDd)上显示系统信息。现在我试图在 FreeBSD 上使用它,但它给了我一个错误:

无法通过包“Sys::Statistics::Linux”定位对象方法“new” (也许您忘记在 lcd_sysmon 加载“Sys::Statistics::Linux”?) 第 73 行。

谁能指出正确的解决方案。 FreeBSD 上是否有 Sys::Statistics::Linux 的等价物?

提前致谢。 佩佩斯

【问题讨论】:

  • 你问是否有替代品?我相信你已经看过了,所以答案显然是否定的。那你到底在问什么?
  • @Schwern:谢谢你的提示,我会尝试从那里得到一些东西。
  • @ikegami:我问是因为我可能错过了某些东西(名称或名称约定略有不同)。否则我在问如何调整脚本以使其在 freebsd 系统上运行。

标签: perl freebsd


【解决方案1】:

Sys::Statistics::Linux 使用procfs,但与 Linux 不同的是,FreeBSD 默认不提供 procfs。因此,要使用上述脚本,您必须手动 mount procfs - 因为没有 FreeBSD port - 手动安装 Sys::Statistics::Linux

如果应用程序需要 procfs,请将以下条目添加到 /etc/fstab:

proc /proc procfs rw,noauto 0 0

包含 noauto 将阻止 /proc 被自动挂载 在启动时。

在不重启的情况下挂载文件系统:

# mount /proc

【讨论】:

  • 我挂载 /proc,然后尝试制作 Sys::Statistics::Linux。运行make test 输出一堆skipped: it seems that your system doesn't provide cpu (etc.) statistics 然后它停止并出现错误:Error code 255。完整输出:link.
  • 如果 procfs 安装正确,您会遇到权限问题。 /proc/sys/kernel/hostname 是否存在并且在您的系统上可以读取?
  • 我有点困惑。这是 /proc 的内容:0/ 10/ 11/ 13/ 15/ 17/ 19/ 194/ 20/ 21/ 23/ 24/ 255/ 29489/ 3810/ 44696/ 5/ 57605/ 59477/ 59624/ 6/ 60211/ 60321/ 60494/ 60717/ 60976/ 61556/ 62756/ 68854/ 8/ 9/ 9112/ 1/ 10808/ 12/ 14/ 16/ 18/ 19358/ 2/ 207/ 22/ 238/ 24266/ 28788/ 3/ 4/ 45350/ 5340/ 59364/ 59497/ 59855/ 60061/ 60276/ 60492/ 60611/ 60925/ 61306/ 6219/ 66907/ 7/ 8424/ 9048/ curproc@
  • 这在基于 freebsd 11 的 opnsense 17.1 系统上。不确定这是否可能是原因 - 可能不是。我是 linux 用户,最近两天一直在玩 bsd,所以我很难知道我应该期待什么,这使得它变得更加棘手。谢谢!
  • 看起来您在 FreeBSD 上的 proc 中只有有限的信息集。 man procfs:“进程文件系统,或 procfs,实现了文件系统内部系统进程表的视图。”所以没有/proc/sys/kernel/hostname。如果您想使用该脚本,您应该使用sysctl 收集所需的信息并将其放在正确的位置。主机名示例:sysctl kern.hostname。或者你切换到 BSD 方便的东西,比如 BSD::Sysctl
猜你喜欢
  • 2014-05-14
  • 1970-01-01
  • 2015-06-22
  • 1970-01-01
  • 2014-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多