Page 1 sur 2

[script] script d'installation personnalisé

Publié : jeu. 04 juil. 2013, 11:44
par rroo
bonjour
je voudrais créer un script d'installation personnalisé pour l'installation de arch pour installer des paquets
et modifié des fichiers de configs.
Pouvez-vous m'indiquer un bon site internet qui traite de ce sujet.

merci

Re: [script]install

Publié : jeu. 04 juil. 2013, 12:07
par oktoberfest
Le wiki :)
Le problème de ton script, c'est qu'il sera obsolète dès qu'une grosse mise à jour va arriver.

Re: [script]install

Publié : jeu. 04 juil. 2013, 12:44
par widapit
oui, sinon des sites qui traitent de bash en général, c'est pas ce qui manque... :mrgreen: mais à mon avis, tu vas plus te faire ch*** à écrire le script qu'à installer Arch et modifier les quelques fichiers de conf...

Re: [script]install

Publié : jeu. 04 juil. 2013, 12:59
par acid_cloridrix
Pour l'installation de la base de Arch, comme dit au dessus je n'en vois pas trop l'intérêt, les commandes à passer ne sont pas si nombreuses que ça et permet d'avoir un certain contrôle sur ce qu'on fait.

Mais l'idée d'un script "post-install" peut être intéressant pour installer et configurer les programmes à la volée (tu parles de paquets donc j'en déduis que...), notamment dans le cas de WM tels que openbox, fluxbox, compiz, etc... où tout doit être construit pièce par pièce.

Pour ce qui est des scripts, n'y connaisant pas grand-chose, j'aurai tendance à y recopier bêtement les commandes que je passe en tty avec des trucs basiques... mais au final pas sûr que ce soit un gain de temps.

Re: [script] script d'installation personnalisé

Publié : jeu. 04 juil. 2013, 14:55
par rroo
En fait oui le script concerne la post install aussi...
En fait j'ai des sauvegardes de mon tint2 ; /.config/openbox etc
C'est surtout des commande assez simple genre cp;mkdir mais je ne sais pas comment automatiser tout ca!?

Re: [script] script d'installation personnalisé

Publié : jeu. 04 juil. 2013, 15:13
par oktoberfest

Code : Tout sélectionner

echo '#!/bin/bash' > /tmp/toto
chmod +x /tmp/toto
Avec ça tu as un script minimal. Ensuite tu ajoutes dedans les commandes qui t'intéresse.

Pour le grand classique hello world, cela devient :

Code : Tout sélectionner

#!/bin/bash

echo 'Hello world'
Après tu peux vouloir paramétrer en fonction d'arguments passés sur la ligne de commande ou faire tout autre chose (des tests, du lancement d'autres scripts..) --> 'man bash' et autres 'google bash'

Re: [script] script d'installation personnalisé

Publié : jeu. 04 juil. 2013, 15:36
par benjarobin
Pourquoi vouloir automatiser une chose que tu ne fait qu'une seule fois par PC ? La réinstallation ne résout jamais les soucis

Re: [script] script d'installation personnalisé

Publié : jeu. 04 juil. 2013, 18:27
par rroo
Mon système tourne bien pour l'instant mais c'était en cas de réinstall
merci pour l'info oktoberfest.

Re: [script] script d'installation personnalisé

Publié : sam. 06 juil. 2013, 15:51
par Xorg
J'ai écris un script de ce genre pour mon usage personnel (c'était pour que ça soit plus rapide lors de mon installation en machine virtuelle). Il a pour vocation de fournir un environnement graphique minimal (Xfce4), déjà tout configuré, une distribution out-of-the-box si tu veux. Note cependant que je n'ai pas installé de pilotes graphiques avec ce script, car il n'y en a pas besoin pour VirtualBox, mais toi tu en auras besoin. Bien entendu, ce n'est qu'à titre d'exemple :

Code : Tout sélectionner

#!/bin/bash

loadkeys fr-pc 

echo "Formattage"
mkfs.ext4 -L ArchLinux /dev/sda1

echo "Montage"
mount /dev/sda1 /mnt
swapon /dev/sdb1

echo "Installation de base"
pacstrap /mnt base base-devel

echo "Installe GRUB2"
pacstrap /mnt grub-bios

echo "Installe Xorg et co"
pacstrap /mnt linux-headers net-tools xorg-server xorg-xinit xorg-server-utils zsh grml-zsh-config sudo

echo "Génère le fstab"
genfstab -U -p /mnt >> /mnt/etc/fstab

echo "Configuration du système"
echo "nom_de_la_machine" > /mnt/etc/hostname
echo "KEYMAP=fr-pc" > /mnt/etc/vconsole.conf
grep "#fr_FR.UTF-8 UTF-8" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
grep "fr_FR ISO-8859-1" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
grep "fr_FR@euro ISO-8859-15" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
echo "LANG=\"fr_FR.UTF-8\"" > /mnt/etc/locale.conf
echo "" >> /mnt/etc/pacman.conf
echo "[archlinuxfr]" >> /mnt/etc/pacman.conf
echo "SigLevel = Never" >> /mnt/etc/pacman.conf
echo "Server = http://repo.archlinux.fr/\$arch" >> /mnt/etc/pacman.conf

echo "Installe yaourt et VBox"
pacstrap -C /mnt/etc/pacman.conf /mnt yaourt
arch-chroot /mnt yaourt -S virtualbox-guest-modules virtualbox-guest-utils vboxguest-hook --noconfirm
echo "vboxguest" > /mnt/etc/modules-load.d/virtualbox.conf
echo "vboxsf" >> /mnt/etc/modules-load.d/virtualbox.conf
echo "vboxvideo" >> /mnt/etc/modules-load.d/virtualbox.conf
echo "/usr/bin/VBoxClient-all &" >> /mnt/etc/X11/xinit/xinitrc

echo "Chroot"
arch-chroot /mnt locale-gen
arch-chroot /mnt ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime
arch-chroot /mnt useradd -g users -m -s /usr/bin/zsh utilisateur_à_créer
arch-chroot /mnt groupadd sudo
arch-chroot /mnt usermod -aG sudo utilisateur_créé
arch-chroot /mnt usermod -aG vboxsf utilisateur_créé
arch-chroot /mnt passwd utilisateur_créé #Définit le mot de passe pour l'utilisateur créé
arch-chroot /mnt chsh -s /usr/bin/zsh
arch-chroot /mnt passwd #Définit le mot de passe pour root
arch-chroot /mnt systemctl enable dhcpcd
arch-chroot /mnt modprobe -a vboxguest vboxsf vboxvideo
arch-chroot /mnt nano /etc/mkinitcpio.conf

echo "Créé les RAMdisks, configure GRUB"
arch-chroot /mnt mkinitcpio -p linux
arch-chroot /mnt grub-install --no-floppy --recheck /dev/sda
arch-chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg

echo "Démontage, reboot"
umount /dev/sda1
swapoff -a
reboot
En fait, tu as deux choix : soit tu te places dans le root du CD d'installation, et tu considères que la nouvelle installation est montée dans le /mnt, donc dès que tu veux modifier quelque chose sur la nouvelle installation, n'oublie pas de préciser /mnt.
Par exemple, pour créer un dossier personnel nommé "Images", tu utilisera mkdir -p /mnt/home/utilisateur/Images.

Ou sinon, tu peux considérer que le root est ta nouvelle installation. Dans ce cas, tu commenceras toutes tes commandes par arch-chroot /mnt.
Si je garde le même exemple que tout à l'heure, pour créer le dossier "Images", tu utilisera alors arch-chroot /mnt mkdir -p /home/utilisateur/Images

Je te déconseille fortement de copier/coller bêtement mon script, car certaines choses ne te seront pas utiles (comme les additions de VirtualBox). Je te le donne à titre d'exemple. N'hésites pas si tu as des questions dessus. Je pense qu'il est inutile de préciser que tu l'utilises à tes risques, il ne faudra pas venir te plaindre en cas de problèmes. :wink:

Normalement, l'intérêt d'un /home séparé, c'est que tu ne perds pas tes configurations personnelles (Conky, OpenBox...) en cas de réinstallation du système. J'ai cru comprendre dans ton message que comptais rien garder de ton ancienne installation, y compris le /home. C'est ton choix, mais tu te compliques la vie pour rien, sauf si tu as pourris ton /home, ce que je n'espère pas, et dont je doute.

Et comme l'a dit Widapit, tu vas plus t'embêter qu'autre chose à écrire ce script, car des fois, seule une commande ratée peut te tuer tout le script (par exemple, si tu n'as pas de table de partitions/aucunes partitions sur le disque dur où tu installes :mrgreen: ). Mais si tu es aventurier, pourquoi pas.

Bonne chance.

Re: [script] script d'installation personnalisé

Publié : dim. 07 juil. 2013, 13:33
par rroo
Merci beaucoup c'est sympa ca me donne un exemple au moins.
Pour le home je croit bien que je vais le faire séparé car c'est vrai que ca a l'air pas mal...

Re: [script] script d'installation personnalisé

Publié : lun. 08 juil. 2013, 12:13
par Fork Bomb
J’avais cru comprendre que tu demandais un script de post-install, auquel cas j’aurais pu aider.
Tant pis. Bon courage.

Re: [script] script d'installation personnalisé

Publié : lun. 08 juil. 2013, 19:19
par rroo
c'est quoi la différence du script post install par rapport au script de xorg ??

Re: [script] script d'installation personnalisé

Publié : lun. 08 juil. 2013, 19:28
par Ypnose
Le script de post-install fait les tâches que tu souhaites faire sur ton système, quand tu viens de l'installer (installer Xorg + WM/DE, peaufinage systemd, etc...).

Re: [script] script d'installation personnalisé

Publié : lun. 08 juil. 2013, 19:29
par acid_cloridrix
Qu'entends-tu par "script de xorg"?

Sinon je pense que chacun a sa propre définition de ce qu'est "install de base" et "post-install"....

Ex: pour moi install de base = base. point final... sans rien dedans même pas xorg.

post-install pour moi c'est tout le reste.

edit: grillé :D

Re: [script] script d'installation personnalisé

Publié : lun. 08 juil. 2013, 19:38
par widapit
acid_cloridrix a écrit :Qu'entends-tu par "script de xorg"?
il veut dire le script de que Xorg propose dans son message !! ->http://forums.archlinux.fr/post118913.html#p118913 :P c'est vrai qu'avec un pseudo comme ça, il y a de quoi se mélanger !! :copain: :pastaper:

Re: [script] script d'installation personnalisé

Publié : lun. 08 juil. 2013, 23:30
par rroo
J'ai plusieurs question sur ton script xorg

Code : Tout sélectionner

grep "#fr_FR.UTF-8 UTF-8" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
grep "fr_FR ISO-8859-1" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
grep "fr_FR@euro ISO-8859-15" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
Comment se fait -il que "fr_FR ISO-8859-1" et "fr_FR@euro ISO-8859-15" ne sont pas commenté dans cet partie de ton script ese une erreur ?

Re: [script] script d'installation personnalisé

Publié : lun. 08 juil. 2013, 23:49
par benjarobin
Personnellement je n'aime pas trop ces 3 lignes, je remplacerai bien le tout par :

Code : Tout sélectionner

sed -i -r "s|^\#fr_FR|fr_FR|" /mnt/etc/locale.gen
Sinon je n'ai pas compris la remarque de rroo...

Re: [script] script d'installation personnalisé

Publié : mar. 09 juil. 2013, 09:45
par Fork Bomb
Ypnose a écrit :Le script de post-install fait les tâches que tu souhaites faire sur ton système, quand tu viens de l'installer (installer Xorg + WM/DE, peaufinage systemd, etc...).
Oui, c’est bien ça.

Re: [script] script d'installation personnalisé

Publié : mar. 09 juil. 2013, 11:43
par Xorg
rroo a écrit :J'ai plusieurs question sur ton script xorg

Code : Tout sélectionner

grep "#fr_FR.UTF-8 UTF-8" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
grep "fr_FR ISO-8859-1" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
grep "fr_FR@euro ISO-8859-15" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
Comment se fait -il que "fr_FR ISO-8859-1" et "fr_FR@euro ISO-8859-15" ne sont pas commenté dans cet partie de ton script ese une erreur ?
C'est la même chose un grep "#fr_FR.UTF-8 UTF-8" /mnt/etc/locale.gen et grep "fr_FR.UTF-8 UTF-8" /mnt/etc/locale.gen dans ce cas là. Je crois que j'avais pompé cette ligne sur Internet. Essaye, tu verras que ça ajouteras les 3 locales en fin de fichier. Mais utilise plutôt la ligne qu'a dit Benjarobin. :)

Re: [script] script d'installation personnalisé

Publié : mar. 09 juil. 2013, 16:45
par rroo
Personnellement je n'aime pas trop ces 3 lignes, je remplacerai bien le tout par :
sed -i -r "s|^\#fr_FR|fr_FR|" /mnt/etc/locale.gen

Sinon je n'ai pas compris la remarque de rroo...
La remarque concernait la premiere ligne qui est commenté et les deux suivante non.
Le # qui manque n'a pas d'insidence sur la commande grep ?

Autrement je voudrais savoir ou je peut récuperer les scripts des iso arch ?