Perlmod starten

Rusticus

Registered User
Hi,
ich wollte gerdade den Perl Mod starten aber irgendwie geht das nicht so ganz. Ich probiere es mit dem Startscript das mitgeliefert ist "ts2perlmod_startscript".
Wenn ich nun einfach eingebe
HTML:
ts2perlmod_startscript start
bekomme ich einen bash-Fehler
Code:
bash: ts2perlmod_startscript: command not found
Wenn ich das ganze für
Code:
setarch i386 -X ./ts2perlmod_startscript start
starte, so wie meinen TS²-Server geschiet gar nichts. Ich musste den TS²-Server so starten weil sonst nix geht.

Weiß einer Abhilfe?
 
ts2perlmod_startscript start
Grundsätzlich solltest Du immer eine Pfadangaben dran hängen:
./ts2perlmod_startscript start

Ansonsten bringt er genau diese Fehlermeldung, da er Programme nur auf den PATH sucht und niemals im aktuellen Verzeichnis.

huschi.
 
Code:
ts@vps832469487:/ts/ts2perlmod$ ./ts2perlmod_startscript start
bash: ./ts2perlmod_startscript: Keine Berechtigung
ts@vps832469487:/ts/ts2perlmod$ exit
exit
vps832469487:/ts/ts2perlmod# ./ts2perlmod_startscript start
-bash: ./ts2perlmod_startscript: Keine Berechtigung

So und nun?? Als Root keine Berechtigung?
 
Hallo,

ist die Date ts2perlmod_startscript ausführbar?

Code:
chmod +X ts2perlmod_startscript

Sollte dann helfen, wenn die Datei es nicht ist.
 
Code:
vps832469487:/ts/ts2perlmod# chmod +X ts2perlmod_startscript
vps832469487:/ts/ts2perlmod#
Irgendwie keine Reaktion, ich bin Ratlos:confused:
 
Was sagt 'ls -al' ?
Und noch ein whoami hinterher nur um sicher zu sein.
btw. Was soll dieses perlmod eigentlich tun also was sollte man an sichtbarer Reaktion sehen?

Ciao,
Mercy.
 
Naja es sollte zumindest angezeigt werden das es gestartet wird oder?

Code:
vps832469487:/ts/ts2perlmod# ls -al
insgesamt 40
drwxr-xr-x  7 root root  1024 2007-02-13 18:21 .
drwxr-xr-x  4 root root  1024 2007-02-13 18:20 ..
drwxr-xr-x  2 root root  1024 2007-02-13 19:18 configs
-rw-r--r--  1 root root 17987 2006-09-10 15:05 license.txt
drwxr-xr-x  2 root root  1024 2007-02-13 18:20 logs
drwxr-xr-x  3 root root  1024 2007-02-13 18:20 manual
drwxr-xr-x  5 root root  1024 2007-02-13 18:21 packages
drwxr-xr-x  2 root root  1024 2007-02-13 19:17 text
-rw-r--r--  1 root root  1824 2006-11-09 21:46 ts2perlmod_multi_startscript
-rw-r--r--  1 root root 10046 2006-12-01 20:30 ts2perlmod.pl
-rw-r--r--  1 root root  1474 2007-02-13 19:20 ts2perlmod_startscript

Code:
vps832469487:/ts/ts2perlmod# whoami
root

Noch was??
 
Naja es sollte zumindest angezeigt werden das es gestartet wird oder?
Sieh mal das kannst Du, der Du das script vorliegen hast nachsehen, ich nicht. ;)
Das ts2perlmod_startscript sollte ein shell-script sein einfach mit editor oder cat ansehen (Wenn Du die Datei auch auf einem Windows liegen hast dann geht natuerlich auch notepad ;>).

Der ls sagt doch, dass das Teil nicht ausfuehrbar ist versuch mal ein chmod a+x oder o+x oder ein 'man chmod' und um demnaechst selbst interpretieren zu koennen, was ls Dir sagt ;) :
Pro-Linux: Benutzerrechte und Dateiattribute unter Linux

Ciao,
Mercy.
 
Ne es ist ein Perl-Script

Hab mal beide Chmods gemacht

Das wäre der Sourcecode:
Code:
#! /bin/bash

# ts2perlmod_startscript - TS2PerlMod startscript for Linux
# This script is a modified version of the TeamSpeak 2 server startscript written by pwk.linuxfan.
# Modified 2006 by Sven Paulsen

# ~~ BEGIN CONFIGURATION ~~~~~~~~~

CFG=default.ini
PID=ts2perlmod.pid

# ~~~END CONFIGURATION ~~~~~~~~~~~

case "$1" in
	start)
		if [ -e $PID ]; then
			echo "The file $PID already exists. Is the script already started?";
			echo "If you are sure the script is not running, delete the file $PID."
			exit 1
		else
			if [ -e ts2perlmod.pl ]; then
				if [ ! -x ts2perlmod.pl ]; then
					echo "The file ts2perlmod.pl is not executable. Trying to set it..."
					chmod u+x ts2perlmod.pl
				fi
				if [ -x ts2perlmod.pl ]; then
					perl ./ts2perlmod.pl -config=$CFG -pidfile=$PID -daemon
				else
					echo "The file ts2perlmod.pl is not executable. Fix this!"
					exit 4
				fi
			else
				echo "Could not find the file ts2perlmod.pl."
				exit 5
			fi
		fi
	;;
    stop)
		if [ -e $PID ]; then
			echo -n "Stopping the TS2PerlMod... "
			kill -KILL `cat $PID`
			rm $PID
			sleep 5
			echo "done"
		else
			echo "The file $PID is missing. Is the script started?"
			exit 7
		fi
	;;
	restart)
		$0 stop && $0 start || exit 1
	;;
	status)
		if [ -e $PID ]; then
			echo "The TS2PerlMod seems to be running."
			exit 0
		else
			echo "The TS2PerlMod seems to be stopped."
			exit 3
		fi
	;;
	*)
		echo "Usage: $0 {start | stop | restart | status}"
		exit 2
esac
exit 0
 
Last edited by a moderator:
Das ts2perlmod_startscript ist ein Perl-Script?
Nun gut, das sollte Dich dennoch nicht daran hindern einen Blick hinein zu werfen und nach Ausgaben, die bei erfolgreicher oder nicht erfolgreicher Ausfuehrung getaetigt werden sollten Ausschau zu halten. ;)
Achso und an dem eXecutable Flag der Datei aendert es auch nichts. :D
So und jetzt geh ich zoggen. ;>

Ciao,
Mercy.
 
Ne das Startscript ist glaub ich Bash, das Script an sich ist Perl.
Ich hab nun immer noch keinen Peil was ich noch machen kann...:confused:
 
Ich hab nun immer noch keinen Peil was ich noch machen kann...:confused:

1. Das "Startscript" muss ausgefuehrt "werden duerfen" siehe dazu das Thema Dateiattribute (das ich verlinkt hatte, ist eine minimal-Quelle also kurz) + ls, bei der letzten von Dir geposteten Ausgabe von ls hatte niemand die Rechte, die Datei auszufuehren (ich hatte mich uebrigens vertan, o steht nicht fuer owner sondern fuer others also chmod Optionen entweder a+x oder u+x samt Argument nutzen und 'man ls' sowie 'man chown' und 'chmod' lesen, danach mit ls -al das Ergebnis pruefen ... Du willst das nicht permanent als root laufen lassen ;> ).

2. Die scripts lesen, dann weisst Du, woran Du erkennst, dass etwas geschehen ist oder eben nicht. Tip: 'man echo' .

3. Danach ein Schritt nach dem anderen, erst das Startscript ans laufen bringen, dann den Perlinterpreter aufrufen koennen, dann das Perlscript ausfuehren lassen, mal sehn was da noch kaputt gehen kann, aber Du stehst noch vor dem ersten Schritt, der zweite beginnt hier:
Code:
if [ -x ts2perlmod.pl ]; then
        perl ./ts2perlmod.pl -config=$CFG -pidfile=$PID -daemon
else

btw. In die Kategorie "Glauben und Beten bitte der Kirche ueberlassen" nehmen wir Folgendes auf:
Naja es sollte zumindest angezeigt werden das es gestartet wird oder?
Nun ja das Startscript gibt eigentlich fast immer etwas aus ausser eben, wenn das Perlscript ansonsten problemlos an den Interpreter uebergeben wurde!->

Ich glaube auch, dass dieses Windows XP mir den Fruehstueckskaffe kochen und ans Bett bringen sollte, habe mich aber noch nie getraut das auszuprobieren. :D

Ciao,
Mercy.
 
Hi Rusticus,

vielleicht liege ich falsch, aber wenn ich den Post mal so quer lese, dann kommt es mir so vor, als hättest du den ts2perlmod gar nicht gestartet!?

Du sagst zum einen
Code:
ts@vps832469487:/ts/ts2perlmod$ ./ts2perlmod_startscript start
bash: ./ts2perlmod_startscript: Keine Berechtigung

Also du versuchst ihn zu starten, aber er lässt sich auf Grund der CHMOD Rechte nicht starten.

Dann änderst du die CHMOD Rechte und sagst
Code:
vps832469487:/ts/ts2perlmod# chmod +X ts2perlmod_startscript
vps832469487:/ts/ts2perlmod#

Irgendwie keine Reaktion, ich bin Ratlos

Kann es sein, dass du erwartet hast, dass der ts2perlmod sich daraufhin startet?

Also:
Du musst die CHMOD Rechte setzen (hast du anscheinend jetzt gemacht)
und den ts2perlmod dann natürlich trotzdem noch starten, wie das geht, hast du selbst ja schon geschrieben:
Code:
ts@vps832469487:/ts/ts2perlmod$ ./ts2perlmod_startscript start

Viel Erfolg

Lieben Gruß
Free
 
Ahh danke es geht, hat zwar noch nen Fehler in der einstellung, aber das bekomm ich hin

Ich hab nicht ./perlmod... gemacht sondern nur perlmod... nachdem ich die rechte gesetzt habe, naja so einfach und doch so schwer, danke auf jeden fall

edit: Vielleicht könnt ihr mir ja helfen, das hab ich bekommen als ich das Script ausführen wollte:
Code:
vps832469487:/ts/ts2perlmod# ./ts2perlmod_startscript start
The file ts2perlmod.pl is not executable. Trying to set it...
TS2PerlMod GNU/GPL-Edition [Version 0.9.16]
Copyright (c) 2005, 2006 by Sven 'ScP' Paulsen

[ok] Using configuration file KzoA.ini
[!!] Could not establish connection to server 83.246.94.87
Bashscript ist ja oben, oder ist es ein fehler in der Ini?
 
Last edited by a moderator:
nach langer Auszeit bin ich auch mal wieder da :eek:

so kommen wir mal zu deinen Problem.
Ich glaube du weisst nicht wirklich was du da überhaupt machst.

Der Grundsatz eines Linux Administrators starte nie Programme als root ausser es wird benötigt. Dein Perlscript startet als Root.
-rw-r--r-- 1 root root 10046 2006-12-01 20:30 ts2perlmod.pl
Benutzer: root
Gruppe : root

Die Frage ich mir stelle ob du den Teamspeak Server auch als root gestartest hast oder ob du dafür einen Benutzer angelegst hast.

Als erstes: Lege einen neuen Benutzer an.
adduser Enter (dürfte selbstklärend sein)
schaue welche Gruppe der User bekommt du du erstellt hast.

Die Perl Dateien müssen einer neuen Gruppe zugeordnet werden das passiert mit chown.

chown -R dein_ersteller_Benutzer : Die_Gruppe /ts/ts2perlmod (Bei : kein Leerschritt)

Wechsel zu den neuen Benutzer:
su dein_ersteller_Benutzer
gehe in dein Pearlverzeichnis
cd /ts/ts2perlmod
schaue ob der Benutzer die richtigen Rechte besitzt
ls -l
setze ts2perlmod_startscript als ausführbare Datei.
chmod +X ts2perlmod_startscript
setze ts2perlmod.pl als ausführbare Datei.
chmod +X ts2perlmod
Script starten:
./ts2perlmod_startscript start

Manchmal hilft es zu lesen was und wo der Fehler ist.
The file ts2perlmod.pl is not executable. Trying to set it
Das File ts2perlmod.pl ist nicht ausführbar. Setze die Rechte.
Das Teamspeak funktioniert ja :D
Alles verstanden?

Gruß
SiSa
 
Last edited by a moderator:
Hmm dann würd ich sagen: Danke, an den "su" hab ich gar nicht mehr gedacht aber es ist mir bewusst, allerdings wundert es mich da eigentlich das Startscript die rechte setzen sollte?!
Code:
[ -e ts2perlmod.pl ]; then
				if [ ! -x ts2perlmod.pl ]; then
					echo "The file ts2perlmod.pl is not executable. Trying to set it..."
					chmod u+x ts2perlmod.pl
Oder versteh ich den Code falsch?
Ich mach mich mal an die Arbeit und probier es so

mfg Rusticus

PS:
Ich glaube du weisst nicht wirklich was du da überhaupt machst.
Leider haste da zum Teil recht
 
Hallo Rusticus,

das Script setzt die CHMOD Rechte, wenn diese nicht stimmen, aber es kann auch sein, dass ein Script nicht ausgeführt werden kann, weil der Besitzt nicht stimmt.

Deswegen sollst du ja auch den 'chown' ausführen, den SiSa dir genannt hat.

Lieben Gruß
Free
 
Code:
ts@vps832469487:/ts/ts2perlmod$ ./ts2perlmod_startscript start
TS2PerlMod GNU/GPL-Edition [Version 0.9.16]
Copyright (c) 2005, 2006 by Sven 'ScP' Paulsen

[ok] Using configuration file KzoA.ini
[!!] Could not establish connection to server 83.246.94.87
So ja er versucht es nun nicht mehr, hat trotzdem noch nen Fehler in der .ini
 
an den Pearlscript selber musste nichts machen. Ich habe mal geguckt ob du da aufm TS bist auch nicht anwesend.

Also versuchen wir es mal so.
[CONNECTION]
Punkt 1 Die Serveradresse
Punkt 2 Den TCPQueryPort (steht in der server.ini von Teamspeak)
Punkt 3 Der Serverport (Standard 8767)
------------------------------------------------------------------
[LOGIN]
Punkt 1 Der SSA Benutzername
Punkt 2 Das SSA Passwort

So jetzt alles richtig einstellen und Programm starten und Spass damit haben :D
 
Back
Top