Installation d'un paquet a distance Ubuntu
bonjour,
j'aimerai installer un ensemble de paquets a distance pour le client ldap (ldap-auth-client_0.5.2_all.deb ,auth-client-config_0.9_all.deb ,ldap-auth-config_0.5.2_all.deb,libnss-ldap_261-2.1ubuntu4_i386.deb, libpam-ldap_184-8ubuntu1_i386.deb) ... je me connecte au pc distant avec ssh et je lance la commande dpkg -i nom_du_paquet . Tout cela est mis dans un script (bash shell), jusqu'au là pas de problème
il y a certains paquets qui demandent une configuration donc des réponse alors que moi je ne doit pas intervenir, le script doit s'exécuter tout seul sur la machine distante .
puisque cette configuration modifie des fichiers ...je les ai remplacer mais quand je consulte les paquets installés il me dit qu'il y a des paquets défectueux.
alors comment puis-je installer les paquets sans avoir à répondre aux questions ou les ignorer complètement .
merci d'avance ...
j'aimerai installer un ensemble de paquets a distance pour le client ldap (ldap-auth-client_0.5.2_all.deb ,auth-client-config_0.9_all.deb ,ldap-auth-config_0.5.2_all.deb,libnss-ldap_261-2.1ubuntu4_i386.deb, libpam-ldap_184-8ubuntu1_i386.deb) ... je me connecte au pc distant avec ssh et je lance la commande dpkg -i nom_du_paquet . Tout cela est mis dans un script (bash shell), jusqu'au là pas de problème
il y a certains paquets qui demandent une configuration donc des réponse alors que moi je ne doit pas intervenir, le script doit s'exécuter tout seul sur la machine distante .
puisque cette configuration modifie des fichiers ...je les ai remplacer mais quand je consulte les paquets installés il me dit qu'il y a des paquets défectueux.
alors comment puis-je installer les paquets sans avoir à répondre aux questions ou les ignorer complètement .
merci d'avance ...
A voir également:
- Installation d'un paquet a distance Ubuntu
- Allumer pc à distance - Guide
- Installation windows 10 sans compte microsoft - Guide
- Ubuntu 32 bits - Télécharger - Systèmes d'exploitation
- Déclencher appareil photo android à distance - Guide
- Installation chromecast - Guide
1 réponse
La première chose à faire c'est de virer les paquets défectueux, par exemple avec la commande dpkg --purge :
Il se peut que tes .deb soient corrompus ou qu'il manque des dépendances. Dans tous les cas il vaut mieux installer tes paquets via un gestionnaire de paquet (aptitude, apt-get) plutôt que d'y aller avec dpkg. Ainsi tu auras la certitude qu'il n'y aura pas de problèmes de dépendances.
Automatisation de la procédure
Plutôt que d'injecter en dur des paquets avec scp et de les dépaqueter avec dpkg -i, je pense qu'il serait plus raisonnable de les déployer avec aptitude (ou apt-get) via ssh directement :
Étant donné que tu es sous ubuntu il faudrait activer le compte root et s'assurer que root peut se connecter en ssh (voir /etc/ssh/sshd_config), bref ce n'est pas forcément l'idéal. Ceci dit je pense que tu peux faire directement un :
Le problème c'est qu'à ce stade ssh te demandera le mot de passe 3 fois. On peut donc imaginer que tu utilises une clé ssh :
http://prendreuncafe.com/blog/post/2005/08/29/262-installer-sa-cle-ssh-sur-un-serveur-distant
À tester mais tu risques également d'avoir sudo qui va te demander le mot de passe à chaque fois. Ainsi il serait peut être plus sage d'utiliser un script shell install.sh que l'on va transférer sur la machine distante et transférer avec scp. Sur ta machine cliente crée deux fichiers. Dans l'idée (je n'ai pas testé) voici ce qu'on pourrait imaginer :
install.sh
start_install.sh
En admettant que je ne me sois pas trop craquée et que tu veuilles déployer des paquets sur toto@titi.org cela donne :
Bonne chance
sudo dpkg --purge paquet1 paquet2
Il se peut que tes .deb soient corrompus ou qu'il manque des dépendances. Dans tous les cas il vaut mieux installer tes paquets via un gestionnaire de paquet (aptitude, apt-get) plutôt que d'y aller avec dpkg. Ainsi tu auras la certitude qu'il n'y aura pas de problèmes de dépendances.
Automatisation de la procédure
Plutôt que d'injecter en dur des paquets avec scp et de les dépaqueter avec dpkg -i, je pense qu'il serait plus raisonnable de les déployer avec aptitude (ou apt-get) via ssh directement :
ssh root@server aptitude update ssh root@server aptitude safe-upgrade ssh root@server aptitude install paquet1 paquet2
Étant donné que tu es sous ubuntu il faudrait activer le compte root et s'assurer que root peut se connecter en ssh (voir /etc/ssh/sshd_config), bref ce n'est pas forcément l'idéal. Ceci dit je pense que tu peux faire directement un :
ssh user@server sudo aptitude update ssh user@server sudo aptitude safe-upgrad ssh user@server sudo aptitude install paquet1 paquet2
Le problème c'est qu'à ce stade ssh te demandera le mot de passe 3 fois. On peut donc imaginer que tu utilises une clé ssh :
http://prendreuncafe.com/blog/post/2005/08/29/262-installer-sa-cle-ssh-sur-un-serveur-distant
À tester mais tu risques également d'avoir sudo qui va te demander le mot de passe à chaque fois. Ainsi il serait peut être plus sage d'utiliser un script shell install.sh que l'on va transférer sur la machine distante et transférer avec scp. Sur ta machine cliente crée deux fichiers. Dans l'idée (je n'ai pas testé) voici ce qu'on pourrait imaginer :
install.sh
#!/bin/sh aptitude update aptitude safe-upgrade # remplace paquet1... par ce que tu souhaites installer aptitude install paquet1 paquet2
start_install.sh
#!/bin/sh if [ $# -lt 1 ] then echo "usage $0 [login@]host [port]" >/dev/stderr exit 1 fi remote=$1 if [ $# -eq 2 ] then port=$2 else port=22 fi echo "$0: trying to connect (${remote}:${port})" # Si le script plante ici, c'est soit que l'host est invalide, soit # que le serveur ssh n'est pas accessible ou n'écoute pas # sur le port 22 scp -P ${port} install.sh ${remote}: || {echo "$0: ssh: connection failed" >/dev/stderr; exit 3;} ssh -p ${port} ${remote} sudo sh install.sh || {echo "$0: ssh connection failed" >/dev/stderr; exit 4;} echo "$0: done" exit 0
En admettant que je ne me sois pas trop craquée et que tu veuilles déployer des paquets sur toto@titi.org cela donne :
sh start_install.sh toto@titi.org
Bonne chance