PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Skriptausführung: Wo liegt hier der Fehler?



Chief_Chirpa
01.02.11, 08:04
Hallo
Wenn ich ein bestimmtes skript starte (boinc-client), kommt diese Fehlermeldung:

* Starting BOINC core client: boinc
/etc/lsb-base-logging.sh: line 273: runlevel: command not found

Die entsprechende Stelle der lsb-base-logging.sh um die Zeile 273 herum sieht so aus:

if [ -z "${RUNLEVEL:-}" ]; then
# we need only the current level
RUNLEVEL=`runlevel | sed 's/^. //'`
# Bug # 470816
if [ -z "$RUNLEVEL" ]; then
# if we can't figure out the runlevel (such as when run
# from a cron job) then don't do anything with Splashy
exit 1
fi
fi


Ich habe die lsb-base-logging.sh nicht verändert

Gruß
Tobi

buzz768
01.02.11, 08:19
/etc/lsb-base-logging.sh: line 273: runlevel: command not found
Das Programm runlevel (gehört bei mir zum Paket sysvinit) wurde nicht gefunden, weil es entweder nicht installiert ist oder sich in einem Verzeichnis, das nicht in der Variablen $PATH aufgeführt ist, befindet.

Chief_Chirpa
01.02.11, 08:54
Guter Tip!
Wenn ich es als sudo ausführe, klappt's. Das Runlevel-prog steht vielleicht in sbin?

Tobi

marce
01.02.11, 08:59
which kann Dir das sagen, wo es bei Dir liegt.

Es ist aber noch niemand gestorben, wenn er einfach nachgeschaut hat.

kreol
01.02.11, 09:16
Falls es in /sbin liegt oder aus anderen Gründen nur von root aufgerufen werden kann würde ich entweder SUID setzen oder dem User Rechte geben (man sudo; man sudoers).

Ein export (damit $PATH es findet) dürfte nicht reichen.

Beim SUID oder sudo (per visudo) aber das mögliche Risiko bedenken. Im LAN wohl k.P., bei einem Server im Netz nicht wirklich toll.

Kreol

Dodobo.reloaded
01.02.11, 16:20
Allwissende Maschine (http://www.google.de/webhp?hl=de&btnG=Google-Suche&lr=lang_de#hl=de&source=hp&q=boinc+%2Fetc%2Flsb-base-logging.sh%3A+line+273%3A+runlevel%3A+command+not+ found&aq=0&aqi=g10&aql=&oq=boinc+&fp=618e9e4e38bf1639) - könnte sich um einen bereits bekannten Bug handeln.

DrunkenFreak
01.02.11, 19:24
Falls es in /sbin liegt oder aus anderen Gründen nur von root aufgerufen werden kann würde ich entweder SUID setzen oder dem User Rechte geben (man sudo; man sudoers).

Ein export (damit $PATH es findet) dürfte nicht reichen.

Doch das reicht. runlevel braucht keine speziellen Rechte, da es nur zum auslesen verwendet wird.



Runlevel reads the system utmp file (typically /var/run/utmp) to locate the runlevel record, and then prints the previous and current system runlevel on its standard output, separated by a single space. If there is no previous system runlevel, the letter N
will be printed instead.

Es reicht also entweder hart drauf zu verweisen (/sbin/runlevel) oder /sbin zu $PATH hinzuzufügen.