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. 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
    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. 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. 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
        2. 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
        3. 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. 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. 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. je m'appercoit que je t'ai dis une connerie, c'est pas mon script que j'essaie comme ça ...

                je verifie
                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. 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. (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,

                        Ah, d'accord.

                        Affiche le résultat de
                        ls -l /home/teamspeak
                        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,
                            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. 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. 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. 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