#1 Le 01/04/2020, à 22:06
- kryss972
Executer un script SH dan preseed ubuntu 18
Bonjour
J'ai créer un fichier preseed qui s'execute correctement.
le preseed execute un script paquetinstall.sh qui se trouve sur le cd-rom dans un répertoire scripts ( le chemin /cdrom/scripts/paquetinstall.sh)
voici le contenu du script paquetinstall.sh:
#!/bin/bash
################################
##declarer tableau des paquets##
################################
paquets=(terminator openssh-server )
###############################
##INstallation paquets ##
###############################
for i in "${paquets[@]}"
do
dpkg -s "$i" >/dev/null 2>&1 && {
echo "$i is installed."
} || {
echo "### $i is installing..."
sudo apt-get install $i -y
}
done
Dans le preseed j'ai testé les deux manières ci-dessous mais aucunes ne fonctionnent, avez-vous un conseil, une idée ?
# Custom Commands
d-i preseed/late_command string cp /cdrom/scripts/paquetinstall.sh /target/root/paquetinstall.sh \
&& chmod +x /target/root/paquetinstall.sh \
&& /bin/bash /target/root/paquetinstall.sh --preseed-late-command
### Custom Commands for ubiquity
ubiquity ubiquity/success_command string /scripts/paquetinstall.sh
ubiquity ubiquity/success_command string cp /cdrom/scripts/paquetinstall.sh /target/root/paquetinstall.sh \
&& chmod +x /target/root/paquetinstall.sh \
&& /bin/bash /target/root/paquetinstall.sh --ubiquity-success-command
Dernière modification par bruno (Le 05/04/2020, à 07:38)
Hors ligne
#2 Le 05/04/2020, à 00:15
- Watael
Re : Executer un script SH dan preseed ubuntu 18
« ça marche pô »
il y a un/des message(s) d'erreur(s) ?
- pourquoi copier le script ?
- d'une manière plus générale : un script appelé par l'interpréteur (par exmple : /bin/bash nomScript) n'a pas à être exécutable.
ainsi :
pas de cp
pas de chmod
il ne reste plus qu'une commande, ça va simplifier le débuggage.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 05/04/2020, à 07:42
- bruno
Re : Executer un script SH dan preseed ubuntu 18
Modération : déplacement du sujet. La section « Trucs, astuces et scripts utiles » n'était pas appropriée.
#4 Le 05/04/2020, à 12:59
- kryss972
Re : Executer un script SH dan preseed ubuntu 18
Bonjour
Je n'ai pas de message d'erreur puisque l'installation se poursuit au moyen de mon fichier preseed executer via un PXE.
C'est justement cela qui m'intrigue...
De plus, le script est exécuter in-target donc je ne comprends pas pourquoi il ne s’exécute pas je vais tester votre recommandation avec uniquement la commande suivante dans le preseed :
d-i preseed/late_command string /cdrom/scripts/paquetinstall.sh
Je reviens vers vous pour retour dès que c'est fait
Dernière modification par kryss972 (Le 05/04/2020, à 17:04)
Hors ligne
#5 Le 05/04/2020, à 13:08
- bruno
Re : Executer un script SH dan preseed ubuntu 18
Bonjour,
Deux questions :
- est-ce que l'emplacement (PATH) des commandes dpkg et apt-get est connu au moment ou le script est exécuté ? J'en doute…
- pourquoi et comment va être géré le sudo dans le script ?
#6 Le 05/04/2020, à 13:33
- Watael
Re : Executer un script SH dan preseed ubuntu 18
c'est root qui exécute le script, non ?
alors, le sudo devrais pouvoir "sauter" aussi.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#7 Le 05/04/2020, à 20:54
- kryss972
Re : Executer un script SH dan preseed ubuntu 18
Avec la commande
d-i preseed/late_command string /cdrom/scripts/paquetinstall.sh
et la modiication du script pour dpkg et apt-get :
#!/bin/bash
################################
##declarer tableau des paquets##
################################
paquets=(terminator)
###############################
##INstallation paquets ##
###############################
for i in "${paquets[@]}"
do
/usr/bin/dpkg -s "$i" >/dev/null 2>&1 && {
echo "$i is installed."
} || {
echo "### $i is installing..."
/usr/bin/apt-get install $i -y
}
done
J'ai enfin un code erreur : "127 " : << commande introuvable >> problème possible avec $PATH ou erreur de frappe
Cependant, je ne vois pas trop ou cela peut bloquer, je me penche toujours sur le problème, mais n'hésitez pas à me soumettre une piste
Hors ligne
#8 Le 06/04/2020, à 08:47
- bruno
Re : Executer un script SH dan preseed ubuntu 18
Tu es dans l'environnement d'installation (chrooté)pas dans un environnement standard, il faut utiliser in-target pour exécuter la commande ans l’environnent d'installation :
d-i preseed/late_command string in-target /cdrom/scripts/paquetinstall.sh
https://help.ubuntu.com/lts/installatio … pbs05.html
Maintenant je ne vois pas la nécessité d'un tel script puisque pour installer des paquets supllémentaire, il suffit de le préciser dans le fichier preseed.cfg:
d-i pkgsel/include string openssh-server terminator