Page 1 sur 1
[install] Script d'installation archlinux (résolu)
Publié : sam. 25 avr. 2015, 10:31
par KorteX39
Bonjour à tous
Je m'atelle à une tache ardue. Je suis en train de créer un script bash (mon tout 1er script mais j'aime le gout du défie) et je bloque sur deux petites choses.
Je cherche dans un premier temps à afficher les differents disque contenu dans /dev/sd*. J'y arrive mais je ne sais comment exploiter le resultat pour que l'utilisateur puisse choisir le disque à préparer.
Le second soucis comment lancer fdisk sur le disque choisi et retourner sur le script une fois terminé?
Voici le bout de code que j'ai commencé à créer soyez indulgent comme je le précisait c'est mon tout premier script. Le but pour moi étant avant tout d'apprendre le bash.
Code : Tout sélectionner
#!/bin/bash
#Version 1.0
echo Installation de Archlinux
#Préparation des disques
echo Choix du disque sur lequel installer votre distribution
echo /dev/.sd*
exit 0
Bon en continuant de chercher, je me suis rendu compte que je pourrais peut-ere effectuer cette tache avec test. Genre
Puis avec if si les fichiers existe je place les valeurs dans des variables differentes... sinon je ne les place pas ceci s'entends
Pensez-vous que ca puisse fonctionner?
Re: [install] Script d'installation archlinux
Publié : sam. 25 avr. 2015, 14:20
par papajoke
Bonjour,
il est possible de faire directement une boucle du type:
ou de mettre le résultat du ls dans un tableau pour le réutiliser plusieurs fois ultérieurement
Re: [install] Script d'installation archlinux
Publié : sam. 25 avr. 2015, 17:11
par KorteX39
Merci papajoke je vais essayer.
EDIT : Si je place ta commande cela me met une erreur
Code : Tout sélectionner
install: ligne 7: erreur de syntaxe près du symbole inattendu « exit »
install: ligne 7: `exit 0'
j'ai essayé comme cela
Code : Tout sélectionner
for i in $(ls /dev/[hs]d[a-z][1-9]*); do echo $(ls /dev/[hs]d[a-z][1-9]*); done
Mais la commande echo me retourne le tout fois quatre
Code : Tout sélectionner
Installation de Archlinux
Choix du disque sur lequel installer votre distribution
/dev/sda1 /dev/sda2 /dev/sdb1 /dev/sdb2
/dev/sda1 /dev/sda2 /dev/sdb1 /dev/sdb2
/dev/sda1 /dev/sda2 /dev/sdb1 /dev/sdb2
/dev/sda1 /dev/sda2 /dev/sdb1 /dev/sdb2
EDIT 2 : non c'est bon j'ai trouvé
Re: [install] Script d'installation archlinux
Publié : dim. 26 avr. 2015, 11:13
par KorteX39
Le script pour le moment fonctionne jusqu'au chroot. je donne un petit apercu du travail, N'hesitez pas à corrgier ou à me donner des idées.
Code : Tout sélectionner
#!/bin/bash
#Version 1.0
echo Installation de Archlinux
#Préparation des disques
echo Choix des partitions utilisé ex : /boot /home ...
[size=150]IL Y AURA UN BOUT DE CODE ICI POUR CHOISIR QUEL TYPE DE PARTITION ON VEUX SUR SON SYSTEM ET LA SUITE DU CODE S'EN TROUVERA UN PEU TRANSFORMÉ[/size]
echo Choix du/des disque sur lequel installer votre distribution
ls /dev/sd*
read -e -p "/ (ex /dev/sda) " SLASH
read -e -p "/home (ex /dev/sda) " HOME
read -e -p "/BOOT (ex /dev/sda) " BOOT
read -e -p "/TMP (ex /dev/sda) " TMP
echo / $SLASH
echo /home $HOME
echo /boot $BOOT
echo /boot $TMP
#Montage des partitions
echo Montage des partitions
mount $SLASH /mnt
mkdir /mnt/{home,boot,tmp}
mount $BOOT /mnt/boot
mount $HOME /mnt/home
mount $TMP /mnt/tmp
echo installation des groupe base et base-devel
pacstrap /mnt base base-devel grub
echo création du fstab
genfstab -U -p /mnt >> /mnt/etc/fstab
echo Chroot de l environnement créer
arch-chroot /mnt
exit 0
P.S : j'aimerais savoir si on peux demander a l'utilisateur d'appuyer sur entré après un echo parce que pour le moment tout défile un peu vite
Re: [install] Script d'installation archlinux
Publié : dim. 26 avr. 2015, 12:35
par papajoke
il faudrait surtout lire de la doc avant de coder; tu as bien lut le wiki avant d'installer arch
Guide avancé d'écriture des scripts Bash
Re: [install] Script d'installation archlinux
Publié : dim. 26 avr. 2015, 14:15
par KorteX39
Comme je le precisais plus haut se script a surtout pour but de m'apprendre et il va s'ameliorer avec le temps. Ce n'est certainement pas quelque chose que je vais partager enfin pas dans une version aussi debutant.
Je vois plus cela comme un travaux pratique qui va evoluer vers un vrai script à part entière
EDIT : Je rajouterais que lire de la doc sans pratiquer cette doc c'est aller droit au mur donc oui je lis des pages et des pages de doc mais j'essaye d'y appliquer dans la mesure de mes capacitées actuelle au projet que je me suis fixé
Re: [install] Script d'installation archlinux (résolu)
Publié : dim. 26 avr. 2015, 22:16
par Moviuro
Plop,
C'est mieux (c'est une bonne habitude à prendre puisque sur BSD par exemple, bash est dans
/usr/local/bin/bash
est à bannir à cause du comportement flou de
ls
. bash fait tout seul le match de regexp:
@papajoke : j'ai pas lu ton tuto, mais rien que pour le shebang, il est faux. il a certainement l'air complet, mais un truc faux dès le début, ça ne présage rien de bon.
EDIT: il doit dater de Mathusalem, ce tuto : il y a encore des backquotes dedans... c'est mal les backquotes...
@Kortex, il faut lire le bouquin de O'reilly: Learning the bash shell.
amazon
Bon courage
Re: [install] Script d'installation archlinux (résolu)
Publié : dim. 26 avr. 2015, 23:55
par papajoke
Moviuro a écrit :EDIT: il doit dater de Mathusalem, ce tuto
2000
c'est la traduction fr d'un livre : ABS
et c'est à ma connaissance le seul livre complet et libre en fr sur bash (Domaine Publique depuis 2014?)
Re: [install] Script d'installation archlinux (résolu)
Publié : lun. 27 avr. 2015, 19:58
par avi3000
Le poids des mots !!!
shebang or not shebang:
Ma archlinux bien à jour, contient 373 scripts dans /usr/bin. Sur ces 373 scripts, seulement 20 utilisent le programme env. Il faudra prévenir les mainteneurs de la distribution, qu'ils ont faux dans 353 scripts.
La portabilité c'est bien, mais pas toujours nécessaire.
Le "Mendel Cooper", comme bash, date effectivement de Mathusalem, mais il reste un des nombreux ouvrages de référence sur l'écriture de script bash. A ma connaissance, la version française est à jour à la version 4 de bash.
Je n'ai rien comme Madame O'reilly, mais je préfère utiliser les excellentes sources d'information que sont les sites communautaires tels que tdlp.org ou ses équivalents français.
Re: [install] Script d'installation archlinux (résolu)
Publié : lun. 27 avr. 2015, 20:16
par Moviuro
Plop
Pour le shebang :
https://stackoverflow.com/questions/733 ... 901#733901 Effectivement, c'est pas mortel, mais très surprenant puisque chez moi, chromium (!) utilise ledit mauvais shebang. (Je croyais à tort que ça avait aussi à voir avec l'environnement complet dans lequel le script se lançait : alias, fonctions, etc.)
Et je vais contribuer aux différents projets pour tout faire corriger
++
Re: [install] Script d'installation archlinux (résolu)
Publié : lun. 04 mai 2015, 20:18
par avi3000
c'est mal les backquotes ?
RTFM
Re: [install] Script d'installation archlinux (résolu)
Publié : lun. 04 mai 2015, 22:29
par Moviuro
Command Substitution
Command substitution allows the output of a command to be substituted in place of the command name itself. Command substitution occurs when the command is enclosed as follows:

Les backquotes, c'est
antique.
Re: [install] Script d'installation archlinux (résolu)
Publié : mar. 05 mai 2015, 00:18
par avi3000
J'ai relu ce putain de manuel et refait des tests
Code : Tout sélectionner
/usr/lib/initcpio/busybox ash
~ $ echo "<$(</etc/hostname)>"
<>
~ $ echo "<$(cat /etc/hostname)>"
<asus4570>
~ $ read z < /etc/hostname ;echo $z
asus4570
les backquotes, c'est pas beau