Probleme de path au demarrage debian

Fermé
yannyann - 15 août 2010 à 10:59
 yannyann - 15 août 2010 à 13:59
Bonjour,

Debian et teamspeak2

j'ai un script pour lancer teamspeak qui se trouve ds le repertoire :

/home/teamspeak/tss2_rc2

quand dans le script ( qui se lance ) j'y mets :

cd /home/teamspeak/tss2_rc2/

j'ai l'erreur No such file or directory .......

pareil si j'y mets :

'./home/teamspeak/tss2_rc2/teamspeak2-server_startscript start'

je tourne en rond ....

qu'elqu'un pour m'eclairer ?

merci d'avance
A voir également:

18 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
15 août 2010 à 11:04
Salut,

quand dans le script ( qui se lance ) j'y mets :

cd /home/teamspeak/tss2_rc2/


Mets plutôt le chemin complet directement

/home/teamspeak/tss2_rc2/nom_script


Sinon affiche le résultat de
ls -l /home
hum .... comment dirais je .......

même sans le home/teamspeak ca pourrais pas marcher ????? pffffff fait pas bcp d'effort mon linux :)

merci bcp pour ton aide, et pour la peine je te dirais pas depuis cb de temps je seche ladessus .....

merci encore bonne journée
q oique j'ai parlé trop vite et je suis vraiment pas reveillé ...

donc j'ai quand même bien ce repertoire teamspeak :

drwxrwxrwx root root 4096 aou 15 09:18 teamspeak

:(
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
15 août 2010 à 11:17
Re,
donc j'ai quand même bien ce repertoire teamspeak :

drwxrwxrwx root root 4096 aou 15 09:18 teamspeak


Ca ne réponds pas à ma question.

Affiche ici le résultat de la commande ls -l /home

Je veux voir un résultat de ce genre (la commande tapé + le résultat)

lami20j@debian-acer:~$ ls -l /home
total 8
drwxr-xr-x 68 lami20j lami20j 4096 15 août  11:05 lami20j
drwxr-xr-x 12 toto    toto    4096 14 mai   11:49 toto



Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
desolé j'ai fait un

ls -l /home>test.txt pour le reprendre sur mon seven ( la debian n'a pas d'interface graphique )

total 12
drwxr-xr-x 5 fla fla 4096 aoû 5 11:22 fla
drwxrwxrwx 3 root root 4096 aoû 15 09:18 teamspeak
drwxr-xr-x 2 yann yann 4096 jui 26 16:50 yann
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
15 août 2010 à 11:26
Re,

Ah, d'accord.

Affiche le résultat de
ls -l /home/teamspeak
(merci de prendre du temps)

total 3324
-rw-r--r-- 1 teamspeak teamspeak 1112816 jui 27 2004 ts2_server_rc2_20201.tar.bz2
-rw-r--r-- 1 teamspeak teamspeak 1112816 jui 27 2004 ts2_server_rc2_20201.tar.bz2.1
-rw-r--r-- 1 teamspeak teamspeak 1155345 aoû 2 2007 ts2_server_rc2_202319.tar.bz2
drwxr-xr-x 7 teamspeak users 4096 aoû 15 09:18 tss2_rc2

voici ta demande
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
15 août 2010 à 11:35
Re,

drwxr-xr-x 7 teamspeak users 4096 aoû 15 09:18 tss2_rc2 


D'accord.

As-tu exécuté le script à la main?
En tant que root bien sûr.
oui et cela fonctionne très bien en tappant (vu que je suis dans root):

./../home/teamspeak/tss2_rc2/teamspeak2-server_startscript start

essayé dans le script avec :

#!/bin/sh
#Lancement du serveur Teamspeak
'./../home/teamspeak/tss2_rc2/teamspeak2-server_startscript stop'
'./../home/teamspeak/tss2_rc2/teamspeak2-server_startscript start'

pas mieux

#!/bin/sh
#Lancement du serveur Teamspeak
'./home/teamspeak/tss2_rc2/teamspeak2-server_startscript stop'
'./home/teamspeak/tss2_rc2/teamspeak2-server_startscript start'

c'est pareils

c'est fou de finir par essayer sans réflechir :)
je m'appercoit que je t'ai dis une connerie, c'est pas mon script que j'essaie comme ça ...

je verifie
donc mon script ce trouve dans /etc/init.d/teamspeak.sh

si je le lance a la main, il me dit bad interpreter : aucun fichier ou repertoire de ce type

si je fais un ls, il me dit :

-rwxr-xr-x 1 root root 180 aoû 15 11:45 /etc/init.d/teamspeak.sh
bon merci bcp pour ton aide, qui m'a permis d'en apprendre encore dur linux mais j'ai trouvé dans un autre forum :

les fichiers crée sous windows ne sont pas conforme linux (^M)

je regarde ds ce sens et te tiens au courant
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
15 août 2010 à 12:16
Re,

Et comme ça?

#!/bin/sh
#Lancement du serveur Teamspeak
'/home/teamspeak/tss2_rc2/teamspeak2-server_startscript stop'
'/home/teamspeak/tss2_rc2/teamspeak2-server_startscript start' 


. et .. sont des notations spéciales pour le répertoire courant et répertoire parent donc pas besoin de les utiliser quand on écrit le chemin complet.

Voici une exemple pour comprendre
lami20j@debian-acer:~$ ls /home/lami20j/fic
/home/lami20j/fic
lami20j@debian-acer:~$ ls ./fic
./fic
lami20j@debian-acer:~$ ls ../lami20j/fic
../lami20j/fic
lami20j@debian-acer:~$ ls ./home/lami20j/fic
ls: impossible d'accéder à ./home/lami20j/fic: Aucun fichier ou dossier de ce type
lami20j@debian-acer:~$ ls ./../home/lami20j/fic
ls: impossible d'accéder à ./../home/lami20j/fic: Aucun fichier ou dossier de ce type



je m'appercoit que je t'ai dis une connerie, c'est pas mon script que j'essaie comme ça ...
Ben, c'est peut être que maintenant tu dis une connérie.
Normalement dans /etc/init.d il y a des scripts qui sont censé de démarrer des services ou d'exécuter d'autres scripts.
Il y a des convention pour écrire les scripts dans /etc/init.d et d'habitude ils prennent des arguments {start|stop|reload} par exemple

Affiche le résultat de

cat /etc/init.d/teamspeak.sh
oui théoriquement je connais les . et .. mais n'ayant pas l'habitude de linux , je me suis permis de croire que l'on lancais un script forcement avec ce point ....

en fait tu vient de m'apprendre qu'on lance un script le plus simplement du monde :)

le cat de etc/init.d/teamspeak.sh

#!/bin/sh
#Lancement du serveur Teamspeak
'/home/teamspeak/tss2_rc2/teamspeak2-server_startscript stop'
'/home/teamspeak/tss2_rc2/teamspeak2-server_startscript start'

marche pas mieux et y'a plus de ^M a la fin des lignes.

ligne 3 et 4 aucun fichier ou repertoire de ce type
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
15 août 2010 à 12:30
Re,

marche pas mieux et y'a plus de ^M a la fin des lignes.
C'est comme ça que ça se passe quand on écrit le script sous Windows

Tape

perl -pi.orig -e 's/\r//g' /home/teamspeak/tss2_rc2/teamspeak2-server_startscript


Et ensuite essaie d'exécuter à la main.
0
j'avais verifier avec vi, il ne m'indique plus les char de fin de ligne

toujours la même erreur apres l'application de ta ligne de commande
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
15 août 2010 à 13:05
Re,

La commande était pour enlever les ^M, pas un tour de magie pour que ton script démarre.

Ton script n'est pas correct /etc/init.d/teamspeak.sh

#!/bin/sh
#Lancement du serveur Teamspeak
'/home/teamspeak/tss2_rc2/teamspeak2-server_startscript stop'
'/home/teamspeak/tss2_rc2/teamspeak2-server_startscript start'


Regarde un autre script dans /etc/init.d pour voir
Moi je t'ai demandé d'exécuter à la main ton script pas celui de init.d qui ne fait que démarrer ton script

Ca donne quoi?

/home/teamspeak/tss2_rc2/teamspeak2-server_startscript stop


et puis

/home/teamspeak/tss2_rc2/teamspeak2-server_startscript start
0
cela fonctionne très bien, je lance et j'arrete le serveur (ou inversement)

oui je savais a quoi servais ta commande, j'aime comprendre ce que je fais et j'ai regardé sur internet.

j'ai 1 questions intermediaire (j'en profite)

1) pourquoi dans le repertoire du script sommes nous obligé de mettre ./script (sinon pour lui indiquer que l'on y es)

j'ai ré ecrit le script complétements sous vi pour être sur que d'autre code ne soit pas changé au passage. ( pas mieux )

bon je viens d'avance, si je lance le script sans le mot start ou stop (celui qui est ds init.d ) il me donne l'usage (start|stop .... )

donc en fait c'est la commande passé qui n'est pas comprise par le script teamspeak ....
donc en faisant un script du type :

#!/bin/sh
#Lancement du serveur Teamspeak
'/home/teamspeak/tss2_rc2/teamspeak2-server_startscript' stop
'/home/teamspeak/tss2_rc2/teamspeak2-server_startscript' start

les mots start et stop en dehors des acolades cela fonctionne .....

merci bcp pour ton aide :) j'ai encore appris plein de choses ( sauf l'hortographes ...)
et pour finir comme teamspeak se lance sans pouvoir creer le serveur, voici le script de démarrage réel (il faut qu'il soit dans son repertoire, et même la modification du PATH n'y change rien) :

#!/bin/sh
#Lancement du serveur Teamspeak
'cd' /home/teamspeak/tss2_rc2/
'./teamspeak2-server_startscript' stop
'./teamspeak2-server_startscript' start

merci encore