cmk:command not found 1.2.8p21

This forum was archived to /woltlab and is now in read-only mode.
  • Hallo,


    Ich versuche den Befehl "cmk" per SSH im terminal des Agents aufzurufen. Leider bekomme ich immer weider cmk:command not found.

    Der Befehl "omd" geht. Die cmk liegt auch im bin-Ordner und ich bin als siteuser angemeldet.


    Kann es vielleicht sein, dass in dieser Version der Terminal-Befehl nicht verfügbar ist?


    Danke für eure Hilfe.

  • Was sagt denn ein "echo $PATH"? Möglicherweise wird die PATH Variable nicht korrekt vergeben, wenn du dich direkt als site user über ssh anmeldest.

  • Joar da haben wir ja schon das beschriebene Problem. Wenn du dich als root anmeldest und zum siteuser wechselst (su siteuser), sollte die PATH Variable etwas anders ausschauen.


    /opt/omd/versions/cmk_version/bin/cmk ist der Pfad zum binary und /omd/sites/yoursite/bin wäre der korrekte PATH Eintrag.


    Entweder gehst du also den Weg über root oder du editierst die .bashrc des siteusers entsprechend.

  • Das wars. Danke. Habs jetzt in der .bashrc geändert. jetzt sagt er mir wenigstens, dass ich als Siteuser angemeldet sein muss.

  • Update, das Problem besteht immer noch.

    Ich habe die Path-Variable in der .bashrc geändert. Jetzt lautet echo $PATH:


    /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/omd/sites/test/bin/


    omd funktioniert, nur "cmk" und "check_mk" eben nicht. Was habe ich übersehen?


    Ich verzweifle hier langsam.

  • Ich habs gelöst, lag an einem falschen .profile eintrag. Danke für eure Hinweise.

  • Die .profile (wo die ganzen Variablen drin stehen) wird eben nur bei interaktiven loginshells geladen. Gibt mehrere Möglichkeiten da was dran zu drehen:


    - ssh Aufruf per --login zur Login-Shell machen

    - ssh user Umgebungsvariablen die vor bashrc und dem ganzen Pfeffer geladen werden unter ~/.ssh/environment setzen

    - alles in die .bashrc klatschen

    - cmk bzw. check_mk einfach mit Pfad aufrufen

    - sich nicht per ssh als siteuser anmelden sondern über root und dann su


    und und und


    Was und wie du es löst, bleibt dir überlassen und ist von deiner Umgebung abhängig.