# \[Script\] reinstallation environnement + applications

**URL:** <https://www.debian-fr.org/t/script-reinstallation-environnement-applications/52234>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 11:08 UTC](https://www.debian-fr.org/t/script-reinstallation-environnement-applications/52234 "2016-02-21T11:08:13Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![daan](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/b19c9b/32.png) [@daan](https://www.debian-fr.org/u/daan)\
**Post date:** [Février 21, 2016, 11:08 UTC](https://www.debian-fr.org/t/script-reinstallation-environnement-applications/52234/1 "2016-02-21T11:08:13Z")

</div>

bonjour,

suite aux précieuses infos que j’ai reçus sur ce poste : [debian-fr.org/installer-open … 37547.html](http://www.debian-fr.org/installer-openbox-sur-une-debian-minimal-t37547.html)  
j’étais partie pour me faire une petite liste des commandes que j’ai utilisées pour l’install histoire de ne rien oublier si un jour je venais a réinstaller et la j’ai un ami qui passe , je luis faire une demo de mon « vieux pc » et la il me dis qu’il a le même pc et qu’il galère avec wind\*\*.  
Il me demande si je peux lui installer debian et openbox .  
Du coup je m’ intéresse aux script shell , ben oui , ma liste de commande est un bon début !!

le truc c’est que je but sur quelques points:

1)par le biais d’un script j’aimerais éditer le [autostart.sh](http://autostart.sh) d’openbox , je devrais donc mettre :  
par exemple :

```auto
echo tint2 & >> /home/bibi/.config/ openbox/autostart.sh 
```

ca c’est dans mon cas particulier avec mon compte nommé bibi sauf que sur un autre pc qui n’a pas mon compte ca vas pas marcher. je cherche donc une commande qui remplace mon « bibi » par l’user « installer » sur le dit pc.

2)Je souhaiterais enlever un « # » devant une ligne d’un fichier de configue (toujours avec le script! hein 😃 )  
exemple : changer:

[code]# Automatically login the default user (without entering

# the password. Set to “yes” to enable this feature

#auto\_login yes[/code]

en

[code]# Automatically login the default user (without entering

# the password. Set to “yes” to enable this feature

auto\_login yes  
[/code]

dans le fichier /etc/slim.conf par exemple. Comment je rédige ca dans mon script ?

---

<div class="post-metadata">

**Author:** ![ggoodluck47](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@ggoodluck47](https://www.debian-fr.org/u/ggoodluck47)\
**Post date:** [Février 21, 2016, 11:08 UTC](https://www.debian-fr.org/t/script-reinstallation-environnement-applications/52234/2 "2016-02-21T11:08:15Z")

</div>

Salut,

Plutôt que de lui donner un poisson apprends lui à pêcher 🙂

[faqs.org/docs/bashman/bashre … C\_Contents](http://www.faqs.org/docs/bashman/bashref_toc.html#SEC_Contents)

---

<div class="post-metadata">

**Author:** ![tukuyomi](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/73ab20/32.png) [@tukuyomi](https://www.debian-fr.org/u/tukuyomi)\
**Post date:** [Février 21, 2016, 11:08 UTC](https://www.debian-fr.org/t/script-reinstallation-environnement-applications/52234/3 "2016-02-21T11:08:15Z")

</div>

```auto
et
[code]sed -i0 's/#auto_login/auto_login/' /etc/slim.conf[/code]
Ton script devra s'exécuter avec les droits root pour que la deuxième commande fonctionne, mais dans ce cas, attention à la première commande, ~ (substitut à /home/ton_user) sera /root, et non /home/ton_user)
```

et

```auto

```

Ton script devra s’exécuter avec les droits root pour que la deuxième commande fonctionne, mais dans ce cas, attention à la première commande, ~ (substitut à /home/ton\_user) sera /root, et non /home/ton\_user)

---

<div class="post-metadata">

**Author:** ![daan](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/b19c9b/32.png) [@daan](https://www.debian-fr.org/u/daan)\
**Post date:** [Février 21, 2016, 11:08 UTC](https://www.debian-fr.org/t/script-reinstallation-environnement-applications/52234/4 "2016-02-21T11:08:24Z")

</div>

merci pour votre aide et pour la lecture 😃

> [@](#):
>
> Ton script devra s’exécuter avec les droits root pour que la deuxième commande fonctionne, mais dans ce cas, attention à la première commande, ~ (substitut à /home/ton\_user) sera /root, et non /home/ton\_user)

c’est précisément mon problème , je cherche a réaliser un script qui :  
-modifie le sources.list  
-installe des applications (apt-get install -y)  
-et qui configure (d’où mes questions précédentes)

le truc c’est que ( sauf erreur de ma part) la modif du sources.list et l’installation d’applications impose le lancement en root de mon script or par la suite, pour l’édition de certains fichiers de configuration, je devrais être en user.  
existe t il une commande que je puisse utiliser dans un script et qui me permet de switcher entre les deux?

d’avance merci pour votre aide.

---

<div class="post-metadata">

**Author:** ![ggoodluck47](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@ggoodluck47](https://www.debian-fr.org/u/ggoodluck47)\
**Post date:** [Février 21, 2016, 11:08 UTC](https://www.debian-fr.org/t/script-reinstallation-environnement-applications/52234/5 "2016-02-21T11:08:24Z")

</div>

Salut,

> [@](#):
>
> pour l’édition de certains fichiers de configuration, je devrais être en user.

Sans indiscrétion j’aimerais connaitre ces fichiers que root ne pourrait éditer 🙂

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 11:08 UTC](https://www.debian-fr.org/t/script-reinstallation-environnement-applications/52234/6 "2016-02-21T11:08:27Z")

</div>

[quote=“daan”]c’est précisément mon problème , je cherche a réaliser un script qui :  
-modifie le sources.list  
-installe des applications (apt-get install -y)  
-et qui configure (d’où mes questions précédentes)[/quote]  
Il vaudrait sans doute mieux créer un paquet prèconfiguré plutôt (un que tu crée toi même). Et au lieux de faire un

```auto

```

Tu ferras un

```auto

```

Ou créer un paquet qui va avoir pour dépendance tout les paquets que tu souhaite installer et qui bidouille leur configuration après.

La solution la plus belle mais qui demande plus de temps, c’est d’avoir son propre dépôt (un simple nginx suffit) et d’avoir un paquet préconfiguré par paquet que tu souhaite installer et un metapaquet pour tous les installer d’un coup.

@ggoodluck47\> et puis même :

`for user in $(awk -F: '{print $1}''"/etc/passwd') ; do
    su -c "whoami" "$user"
done`

ou à la fran.b

`awk -F: '{print "su -c whoami "$1}' '/etc/passwd' | sh -
sed 's/\([^:]*\):.*/su -c whoami \1/' '/etc/passwd' | sh - # je ne sais pas le quel`

---

<div class="post-metadata">

**Author:** ![ptitdernier](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/45deac/32.png) [@ptitdernier](https://www.debian-fr.org/u/ptitdernier)\
**Post date:** [Février 21, 2016, 11:11 UTC](https://www.debian-fr.org/t/script-reinstallation-environnement-applications/52234/7 "2016-02-21T11:11:40Z")

</div>

Voila comment je fais pour récupérer mon user  
(entête de mon script d’install)

le 2ème test permet de lancer le script avec un autre user passé en paramètre

[code]#!/bin/bash  
#---------------------------------------------------

# Installation des paquets

# aller sur /home/$USER/bin

# logger en su et lancer

#---------------------------------------------------

echo "-------------------------------------------------------"  
echo "| ce programme va configurer automatiquement |"  
echo "| l’installation de Debian wheezy |"  
echo "-------------------------------------------------------"  
echo

if [[“$(whoami)” != ‘root’]] # vérification que user actif est root  
then  
echo "On doit être root pour lancer l’installation"  
read -p “Appuyer sur une touche” r  
exit 1  
fi

if [[$# != 0]]  
then  
user=$1  
else  
user=$(logname) # vérification du user du PC  
fi

[/code]
