Debian server hängt im Startmodus fest, kein zugriff

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
harry66
Beiträge: 2
Registriert: 08.01.2014 20:40:27

Debian server hängt im Startmodus fest, kein zugriff

Beitrag von harry66 » 08.01.2014 21:06:52

Hallo
Ich bin von Ubuntu zu Debian gewechselt.Ich betreibe einen Server für versch Dienste. Also eig bin ich noch mitten in der Installation. Eine Desktopoberfläche habe ich nicht installiert. Ich habe Samba, openVPN schon installiert. Ip Adresse habe ich fest vergeben. Mein Problem ist, ich habe für meine KNX 7 Eib Haussteuerung einen TPUART USB Stick angeschlossen und die zugehörige Software installiert.

Code: Alles auswählen

eibd

Erweitern der sources.list.
vi /etc/apt/sources.list
[oder mit einem anderen Editor eurer Wahl zB nano]
und folgende beiden Zeilen am Ende hinzufügen.
deb http://www.auto.tuwien.ac.at/~mkoegler/debian eib main
deb-src http://www.auto.tuwien.ac.at/~mkoegler/debian eib main
Das Repository von der TU Wien ist nur mit einem Key zu nutzen. Den müsst ihr noch installieren. Ihr bekommt ihn hier. Dazu kopiert ihr den Schlüssel in eine Datei beliebigen Namens zB ~root/qw und gebt danach folgendes ein.
cd ~root
apt-key add qw
apt-get update
apt-get install bcusdk 
Damit funktionierte der eibd und ließ sich mit folgenden Parametern starten
eibd -i -D -T -S -e 0.0.0 tpuarts:/dev/ttyACM0
Das ganze lief unter Ubuntu auch schon so. Beim starten kommt die Meldung:
Eibd should not run as root
und das Terminal friert quasi ein, dh der Cursor verschwindet und es läßt sich nicht mehr steuern. Erst wenn man von einem neuen Terminal den Eibd stoppt ( killall eibd ) erscheint der Cursor wieder.
Ich habe dabb nach Anleitung ein Stertscript für Ubuntu erstellt

Code: Alles auswählen

/etc/init.d/eibd

#! /bin/sh
 
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Description of the service"
NAME=eibd
DAEMON=/usr/bin/$NAME
DAEMON_ARGS="-D -T -S -d -i --pid-file=/var/run/eibd.pid ft12:/dev/ttyS0"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
 
# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0
 
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
 
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
 
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
 
#
# Function that starts the daemon/service
#
do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
|| return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
$DAEMON_ARGS \
|| return 2
# Add code here, if necessary, that waits for the process to be ready
# to handle requests from services started subsequently which depend
# on this one. As a last resort, sleep for some time.
}
#
# Function that stops the daemon/service
#
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}
 
#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
return 0
}
 
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
#reload|force-reload)
#
# If do_reload() is not implemented then leave this commented out
# and leave 'force-reload' as an alias for 'restart'.
#
#log_daemon_msg "Reloading $DESC" "$NAME"
#do_reload
#log_end_msg $?
#;;
restart|force-reload)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
 
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac

Script ausführbar machen
chmod a+x /etc/init.d/eibd

Jetzt müssen noch die entsprechenden symbolischen Links für die einzelnen Runlevel gesetzt werden. Aber Linux wäre nicht Linux, wenn es dafür nicht eine einfache Methode gäbe. 

 apt-get install rcconf

cd /etc/init.d/
rcconf

Haken vor Eibd setzen 
und

/etc/init.d/eibd start

Soweit funktioniert auch alles.
Doch nach einem restart erreiche ich den Server nicht mehr über putty. Ich habe einen Bildschirm und Tastatur angeschlossen und unten im Bildschirn steht :
Eibd should not run as root

Ich glaube das ser Server beim Start beim Eibd hängen geblieben ist und telnet nicht gestartet ist.
anpingen funktioniert.
Wie komme ich jetzt wieder in mein System ohne alles neu aufzusetzen.
Und wie bekomme ich den Eibd als nichtroot gestartet, damit der Hinweis nicht mehr kommt und mir alls blockiert. Oder wie muss ich das Script ändern damit es funktioniert.
Danke schonmal für eure Hilfe

Benutzeravatar
Simmel
Beiträge: 698
Registriert: 08.03.2004 14:43:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

Re: Debian server hängt im Startmodus fest, kein zugriff

Beitrag von Simmel » 09.01.2014 17:06:52

Hmh,

also erst einmal solltest du doch mehrere Terminals haben, hast du schonmal mit <strg><alt><f1-f6> versucht ein Terminal zu finden wo du dich anmelden kannst?
Ein Programm das nicht als root gestartet werden soll, darf man auch nicht als root user starten, logisch oder?

Versuch mal folgendes:

Code: Alles auswählen

su <username>
nohup <scriptname>
und guck mal wie es sich dann verhält.

P.S.: Hoffe doch nicht das du TELNET verwendest oder?
you've got to know how far to go in going too far

perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'

http://creativecommons.org/licenses/by-nc-sa/2.0/

harry66
Beiträge: 2
Registriert: 08.01.2014 20:40:27

Re: Debian server hängt im Startmodus fest, kein zugriff

Beitrag von harry66 » 09.01.2014 17:25:15

Ich verwende putty mit ssh Verbindung. Zum Starten hab ich Debian erstmal bekommen, der eibd läuft aber immer noch unter root.Der Server blieb ja auch beim Start stehen und ließ keine Verbindung von meinem Laptop zu. Deshalb glaubte ich Telnet sei nicht gestartet. anpingen ging aber. Ich habe jetzt die Startparameter geändert. Für meine Haussteuerung reicht das erstmal.

Benutzeravatar
Simmel
Beiträge: 698
Registriert: 08.03.2004 14:43:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

Re: Debian server hängt im Startmodus fest, kein zugriff

Beitrag von Simmel » 09.01.2014 17:47:49

harry66 hat geschrieben: Deshalb glaubte ich Telnet sei nicht gestartet.
Ich hoffe trotzdem für dich das du openssh meinst und nicht telnet ;-)
you've got to know how far to go in going too far

perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'

http://creativecommons.org/licenses/by-nc-sa/2.0/

Antworten