Fehler bei Startup - Eintrag in rc.local

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Paulshj
Beiträge: 4
Registriert: 17.05.2012 12:55:33

Fehler bei Startup - Eintrag in rc.local

Beitrag von Paulshj » 17.05.2012 13:05:14

Hi

Bei meiner Installation von Debian (Kernel 2.6.34.1) habe ich Asterisk mit FreePBX (VoIP) manuell installiert.

Bis anhin musste ich die Applikation immer manuell aufstarten. Dies mache ich mit folgender Zeile:

Code: Alles auswählen

/usr/local/sbin/amportal start
Das funktioniert auch Prima.

Nun habe ich diese in die rc.local eingefügt, damit dies beim Systemstart automatisch mitstartet:

Code: Alles auswählen

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/usr/local/sbin/amportal start
exit 0
Doch es kommt folgender Fehler:

Code: Alles auswählen

Starting MTA: exim4.
/bin/sh: Illegal option -
startpar: service(s) returned failure: rc.local ... failed!
Was mache ich Falsch?

Besten Dank für eure Unterstützung!

Beste Grüsse
Paul

wilfried
Beiträge: 153
Registriert: 04.12.2009 12:32:16

Re: Fehler bei Startup - Eintrag in rc.local

Beitrag von wilfried » 17.05.2012 13:33:42

ändere mal die erste Zeile in:
#!/bin/sh
zweite Zeile in:
set -e
dadurch bricht das script bei Fehler ab
Debian testing (wheezy)
Kernel Linux 3.2.0-3-686-pae
Mainboard: Fujitsu D3041-A1
CPU: Intel Pentium Dual-Core E5800 @ 3.20GHz, 4 GB RAM
Grafik: ATI RV710 [Radeon HD 4350]
eth0: RTL8111/8168B PCI Express Gigabit Ethernet

Paulshj
Beiträge: 4
Registriert: 17.05.2012 12:55:33

Re: Fehler bei Startup - Eintrag in rc.local

Beitrag von Paulshj » 17.05.2012 14:38:33

Hi Wilfried

Danke für deine Antwort.
Ich hab die /etc/rc.local gemäss deinen Angaben angepasst.

Nun kommt folgendes:

Code: Alles auswählen

Starting MTA: exim4.
/etc/init.d/rc.local: 41: /etc/rc.local: not found
Hast du eine Idee an was das liegen könnte?


Nachtrag 1:
Der Vollständigkeithalber hier noch die /etc/init.d/rc.local:

Code: Alles auswählen

#! /bin/sh
### BEGIN INIT INFO
# Provides:          rc.local
# Required-Start:    $remote_fs $syslog $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Run /etc/rc.local if it exist
### END INIT INFO


PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/init/vars.sh
. /lib/lsb/init-functions

do_start() {
	if [ -x /etc/rc.local ]; then
	        [ "$VERBOSE" != no ] && log_begin_msg "Running local boot scripts (/etc/rc.local)"
		/etc/rc.local
		ES=$?
		[ "$VERBOSE" != no ] && log_end_msg $ES
		return $ES
	fi
}

case "$1" in
    start)
	do_start
        ;;
    restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
    stop)
        ;;
    *)
        echo "Usage: $0 start|stop" >&2
        exit 3
        ;;
esac

Nachtrag 2:
Was bedeutet das

Code: Alles auswählen

PATH=/sbin:/usr/sbin:/bin:/usr/bin
in /etc/init.d/rc.local?
Das Script, welches ich starten möchte, liegt in /usr/local/sbin. Das Einfügen dieses Pfades nützt jedoch auch nichts.
Ist diese "PATH" Variable relevant für das?

Clio

Re: Fehler bei Startup - Eintrag in rc.local

Beitrag von Clio » 17.05.2012 14:56:40

Ja, ist es.
Entweder, Du legst einen Link nach /usr/sbin oder Du stellst den Befehl in den Autostart des Users.

Paulshj
Beiträge: 4
Registriert: 17.05.2012 12:55:33

Re: Fehler bei Startup - Eintrag in rc.local

Beitrag von Paulshj » 17.05.2012 16:01:01

Ich hab jetzt mal folgendes gemacht:

Code: Alles auswählen

root@server01:/usr/sbin# ln /usr/local/sbin/amportal amportal
Jedoch geht es immer noch nicht mit dem gleichen Fehler. :(
Kann es was mit Berechtigungen zu tun haben.

Hab dem File auch mal "chmod +x" gegeben. Es will immer noch nichts.
Was übersehe ich hier?

Danke für eure weiteren Inputs!


Nachtrag 1:
Das ist ganz komisch. Hab mal folgendes probiert:

Code: Alles auswählen

root@server01:~# /etc/rc.local
-bash: /etc/rc.local: /bin/sh^M: bad interpreter: No such file or directory

wilfried
Beiträge: 153
Registriert: 04.12.2009 12:32:16

Re: Fehler bei Startup - Eintrag in rc.local

Beitrag von wilfried » 17.05.2012 17:08:10

mein erster Tipp war falsch, die /etc/rc.local hat tatsächlich ein -e in der ersten Zeile.
die Fehlermeldung bezieht sich wohl auf den eigenes Script.

mit welchem Editor editierst du die Scripte, letzte Fehlermeldung weist auf einen Editor mit falscher Zeichenkodierung hin.

zum Problem allgemein, vermute ich mal, das dein Script, aufgerufen per rc.local event. zu früh gestartet wird...
von daher wäre die Autostart-Lösung vieleicht besser

könntest ja auch mal dein script hier posten
Debian testing (wheezy)
Kernel Linux 3.2.0-3-686-pae
Mainboard: Fujitsu D3041-A1
CPU: Intel Pentium Dual-Core E5800 @ 3.20GHz, 4 GB RAM
Grafik: ATI RV710 [Radeon HD 4350]
eth0: RTL8111/8168B PCI Express Gigabit Ethernet

Clio

Re: Fehler bei Startup - Eintrag in rc.local

Beitrag von Clio » 17.05.2012 17:46:05

@Paulshj
Einen symbolischen Link, der ja zu 98% immer gemeint ist, legt man mit ln -s
Ein Blick hierhin kann nicht schaden:
http://debiananwenderhandbuch.de/links.html

Paulshj
Beiträge: 4
Registriert: 17.05.2012 12:55:33

Re: Fehler bei Startup - Eintrag in rc.local

Beitrag von Paulshj » 17.05.2012 17:50:18

Tatsächlich - Das war's!
Es lag daran, dass ich die Dateien mit FlashFXP editiert habe.

Ich hab die /etc/rc.local nun mit WinSCP editiert, hochgeladen und nun funktioniert das!

Danke für deine Hilfe.
Ich wünsche dir einen schönen Abend.

Antworten