Affiche les résultats de 1 à 3 sur 3

Sujet : Besoin de votre aide pour adapter un script ubuntu sous OSS

  1. #1

    Besoin de votre aide pour adapter un script ubuntu sous OSS

    Bonjour à tous,


    Je suis en train de changer de solution de clients léger. J'avais avant de l'ubuntu mais assez galère à administrer quand on est pas habitué.
    J'ai testé un hp thin client mais trop propriétaire et galère pour mettre à jour rdesktop.
    Puis j'ai trouvé l'applicance "thin client Full Desktop" sur Suse Studio et là le pied.

    Bref, avant sur ubuntu, je lançais un script qui avait pour objectifs de :

    - Détecter les cartes réseaux sur le pc
    - fournir un assistant pour préparer la connection à la ferme de RDS.
    - vérifier que le serveur répond
    - puis génerer un script prêt à l'emploi que je lance automatiquement au démarrage de la session.

    Comme je n'en suis pas l'auteur, j'ai essayé d'adopter le script pour opensuse 11.4.
    Il fonctionne au final mais en revanche, je suis obligé de commenter la ligne qui vérifie que le serveur répond au ping car il me donner une erreur.
    Le code qui me pose problème est celui en gras. Un grand merci à vous pour votre aide.

    Voilà le script :

    Code:
    #!/bin/bash
    ifconfig -a  >/root/ip
    #copie le resultat  dans un fichier
    cat ip |grep eth >/root/eth
    echo ""
    echo ""
    cat /root/eth
    reponse="n"
    echo ""
    echo""
    rep="0"
        while [ "$rep" = "0" ] 
        do
        echo -e  "\033[32m choisissez votre interface reseau (ethx) \033[00m"
        read conf
        grep $conf /root/eth >/dev/null
        a="$?"
            if [ $a = "0" ];
            then
            rep="1"
            else
            echo ""        
            echo -e  "\033[36m mauvaise syntaxe\033[00m"
            echo ""        
            rep="0"
            fi
        done
    reponse="n"
    while [ "$reponse" = "n" ]
    do
    echo -e "\033[32m vous confirmez, $conf ?(o/n)\033[00m"
    read reponse
         until [ "$reponse" = "o" ] || [ "$reponse" = "n" ]
                    do
                    echo -e "\033[31m Tapez 'o' ou 'n' svp \033[00m"
                    read reponse
            done
    done
    echo auto $conf > /etc/sysconfig/network/ifcfg-eth0
    echo iface $conf inet dhcp >> /etc/sysconfig/network/ifcfg-eth0
    echo " le fichier interface est bien configure "
    #efface le fichier temporaire
    rm -rf /root/ip 
    rm -rf /root/eth
    #mise a zero des variables
    domaine=""
    serveur=""
    login=""
    password=""
    #mise a n la variable pour pouvoir entrer la premiere fois dans la boucle de 
    #saisie
    reponse=n
        while [ "$reponse" = "n" ]
        do
        echo ""
        echo -e "\033[32m Veuillez saisir le nom de domaine \033[00m"
        read domaine
        echo -e "\033[036m $domaine, vous confirmez ? (o/n)\033[00m"
        read reponse
    #controle de frappe
            until [ "$reponse" = "o" ] || [ "$reponse" = "n" ]
            do
            echo -e "\033[31m Tapez 'o' ou 'n' svp \033[00m"
            read reponse
            done
        done
    #mise a n la variable pour pouvoir entrer la premiere fois dans la boucle de 
    #saisie
    reponse=n
            while [ "$reponse" = "n" ]
            do
    echo -e "\033[32m Veuillez saisir l'adresse ip du serveur\033[00m"
    read serveur
    echo -e "\033[36m $serveur, vous confirmez ? (o/n)\033m"
            read reponse
    #controle de frappe
                    until [ "$reponse" = "o" ] || [ "$reponse" = "n" ]
                    do
                    echo -e "\033[31m Tapez 'o' ou 'n' svp \033[00m"
                    read reponse
                    done
            done
    #mise a n la variable pour pouvoir entrer la première fois dans la boucle de 
    #saisie
    reponse=n
            while [ "$reponse" = "n" ]
            do
    echo -e "\033[32m Veuillez saisir le login\033[00m"
    read login
    echo -e "\033[36m $login, vous confirmez ? (o/n)\033[00m"
            read reponse
    #controle de frappe
                    until [ "$reponse" = "o" ] || [ "$reponse" = "n" ]
                    do
                    echo -e "\033[31m Tapez 'o' ou 'n' svp \033[00m"
                    read reponse
                    done
            done
    #mise a n la variable pour pouvoir entrer la première fois dans la boucle de 
    #saisie
    reponse=n
            while [ "$reponse" = "n" ]
            do
    echo -e "\033[32m Veuillez saisir votre mot de passe\033[00m"
    read password
    echo -e "\033[36m $password, vous confirmez ? (o/n)\033[00m"
            read reponse
    #controle de frappe
                    until [ "$reponse" = "o" ] || [ "$reponse" = "n" ]
                    do
                    echo -e "\033[31m Tapez 'o' ou 'n' svp \033[00m"
                    read reponse
                    done
            done
    echo ""
    echo -e "\033[36m Patientez test de connexion... \033[00m"
    #ping pour verifier que l'adresse est bien celle du serveur
    
    #puis l'envoi dans un fichier temporaire pour tester 
    #dhcpd $conf
    #ping $serveur -c 1 > /root/testcon
    #grep icmp_req  /root/testcon >/dev/null
    g="$?"
        if [ $g = "0" ];
        then
        echo -e "\033[36m le reseau est bien actif\033[00m"
        echo -e "\033[36m Le script va se copier dans /usr/local/bin\033[00m"
        echo ""
        echo ""
        echo "Création de l'extinction du poste au moment du logout"
        echo ""
        echo ""
    #on créer le script final.....
        echo "#! /bin/bash" > /usr/local/bin/Ts.sh
        echo "sleep 02" >> /usr/local/bin/Ts.sh
        #test de connexion
        echo "ping $serveur -c 2 >/tmp/testping" >> /usr/local/bin/Ts.sh
        echo "grep icmp_req /tmp/testping >/dev/null" >> /usr/local/bin/Ts.sh
        echo 'g="$?"' >> /usr/local/bin/Ts.sh
        echo 'if [ $g = "0" ];' >> /usr/local/bin/Ts.sh
        echo "then" >> /usr/local/bin/Ts.sh
    #execution de l'authentification 
        echo rdesktop -d $domaine -u $login -p $password -x l -r disk:usb=/media -f $serveur >> /usr/local/bin/Ts.sh
        echo "else" >> /usr/local/bin/Ts.sh
    #message erreur si pas de connexion au serveur
        echo 'echo -e "\033[31m Desole impossible de joindre le serveur \033[00m"' >> /usr/local/bin/Ts.sh
        echo "fi" >> /usr/local/bin/Ts.sh
        echo "/usr/bin/sudo /sbin/shutdown -h now" >> /usr/local/bin/Ts.sh 
    #supression du fichier temporaire 
        echo "rm -rf /tmp/testping" >> /usr/local/bin/Ts.sh
        chmod 777 /usr/local/bin/Ts.sh
        chmod +x /usr/local/bin/Ts.sh
        echo -e "\033[36m Tout c'est bien deroule, vous pouvez redemarer le pc\033[00m"
        echo ""
        else
        echo -e "\033[31m Vous avez un probleme avec votre serveur ou votre reseau , verifier les parametres\033[00m"
        echo ""
        fi
    #suppresion du fichier temporaire
    rm -rf /root/testcon
    Rendons le monde meilleur, installons Gnu/linux

  2. #2
    Toruk Administrateur Avatar de jluce
    Inscrit
    juin 2008
    Lieu
    paris
    Distribution
    openSUSE 12.3 (64 bits)
    Environnement
    KDE
    Messages
    6 446
    Billets
    23
    slt

    c'est le client dhcp que tu veux lancer ??

    si oui c'est dhcpcd à la place de dhcpd ( qui est le serveur sous opensuse )

    a+
    Je plussoie et je paie ma tournée !
    --------------------------------------------------
    Tryo

  3. #3
    Bonsoir effectivement erreur dans la syntaxe et pour la requête ping qui ne fonctionnait pas, j'ai résolu le problème en installant le paquet iputils.

    Merci
    Rendons le monde meilleur, installons Gnu/linux

Tags pour ce sujet

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas modifier vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé