我已经在我的 Ubuntu 服务器上安装了 Nagios。
我用它来监控 Windows 主机。我ncpa
在 Windows 主机上安装了客户端,并check_ncpa.py
在 安装了插件/usr/local/nagios/libexec
。
但是当我运行这个命令时check_ncpa.py
它显示:
$ /usr/local/nagios/libexec/check_ncpa.py -V
-bash: /usr/local/nagios/libexec/check_ncpa.py: /usr/bin/: bad interpreter: Permission denied.
我已授予子文件夹775
权限。/usr/bin
答案1
根据我的经验,此错误消息通常是由在任何 unix/linux shell 上运行在 windows 上创建的文件(带有 DOS 换行符)引起的。这会破坏 #!,因此是“坏解释器”,因为它正在寻找 /usr/bin/python^M(其中包含 CR)。我使用 dos2unix 来修复脚本。
从问题的评论来看,脚本似乎正在尝试加载主机本身缺少的特定版本的 Python。
测试此情况的另一种方法是按如下方式运行脚本:
$ python ./check_ncpa.py --help
如果运行成功,问题很可能是 #! 指定了错误的 python 二进制文件路径。如果出现 python 错误,则可能是 DOS 换行符的问题。