Probleme de path au demarrage debian

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

18 réponses

  1. Modérateur
    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
    0
    1. 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
      0
      1. 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

        :(
        0
        1. Modérateur
          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


          0
          1. 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
            0
            1. Modérateur
              Re,

              Ah, d'accord.

              Affiche le résultat de
              ls -l /home/teamspeak
              0
              1. (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
                0
                1. Modérateur
                  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.
                  0
                  1. 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 :)
                    0
                    1. je m'appercoit que je t'ai dis une connerie, c'est pas mon script que j'essaie comme ça ...

                      je verifie
                      0
                      1. 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
                        0
                        1. 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
                          0
                          1. Modérateur
                            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
                            0
                            1. 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
                              0
                              1. Modérateur
                                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
                            2. 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
                              0
                              1. Modérateur
                                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
                            3. 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 ....
                              0
                              1. 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 ...)
                                0
                                1. 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
                                  0