solutions
This commit is contained in:
39
Readme.md
39
Readme.md
@@ -1,15 +1,26 @@
|
|||||||
# Commandes AdHoc
|
# Commandes AdHoc
|
||||||
|
|
||||||
|
## Remarques préliminaires:
|
||||||
|
|
||||||
|
le fichier hosts est un fichier d'inventaire ansible contenant mes cibles
|
||||||
|
|
||||||
## Télécharger des fichiers sur la cible avec get_url
|
## Télécharger des fichiers sur la cible avec get_url
|
||||||
|
|
||||||
Récupérer dans /tmp le fichier : https://starship.rs/install.sh
|
Récupérer dans /tmp le fichier : https://starship.rs/install.sh
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ansible -i hosts -o -u root all -m get_url -a "url=https://starship.rs/install.sh dest=/tmp --mode=0700"
|
||||||
|
```
|
||||||
## Exécuter des scripts à distance avec command
|
## Exécuter des scripts à distance avec command
|
||||||
|
|
||||||
Exécuter le script précédemment récupéré, uniquement si le fichier /usr/local/bin/starship n'existe pas déjà
|
Exécuter le script précédemment récupéré, uniquement si le fichier /usr/local/bin/starship n'existe pas déjà
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ansible -i hosts -o -u root all -m command -a 'cmd="/tmp/install.sh --yes" creates="/usr/local/bin/starship"'
|
||||||
|
#ou, si on n'a pas pensé à rendre le fichier exécutable précédemment:
|
||||||
|
ansible -i hosts -o -u root all -m command -a 'cmd="sh /tmp/install.sh --yes" creates="/usr/local/bin/starship"'
|
||||||
|
```
|
||||||
|
|
||||||
## Déployer un fichier avec copy
|
## Déployer un fichier avec copy
|
||||||
|
|
||||||
S'assurer de la présence du fichier /etc/profile.d/zstarship.sh avec le contenu suivant:
|
S'assurer de la présence du fichier /etc/profile.d/zstarship.sh avec le contenu suivant:
|
||||||
@@ -18,19 +29,45 @@ S'assurer de la présence du fichier /etc/profile.d/zstarship.sh avec le contenu
|
|||||||
'eval "$(/usr/local/bin/starship init bash)"'
|
'eval "$(/usr/local/bin/starship init bash)"'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Pour un contenu aussi léger, pas besoin d'avoir à maintenir un fichier local comme source, on va plutôt utiliser l'argument _content_:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ansible -i hosts -o -u root all -m copy -a 'content="eval \"$(/usr/local/bin/starship init bash)\"" dest=/etc/profile.d/zstarship.sh'
|
||||||
|
```
|
||||||
|
|
||||||
|
⚠️ aux quotes !
|
||||||
|
|
||||||
|
|
||||||
## Cloner des dépôts avec git
|
## Cloner des dépôts avec git
|
||||||
|
|
||||||
Cloner le dépôt https://infra.opendoor.fr/git/tom/vim_formation.git dans /opt/vim/
|
Cloner le dépôt https://infra.opendoor.fr/git/tom/vim_formation.git dans /opt/vim/
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ansible -i hosts -o -u root all -m git -a "repo=https://infra.opendoor.fr/git/tom/vim_formation.git dest=/opt/vim"
|
||||||
|
```
|
||||||
|
|
||||||
## S'assurer de l'absence de fichier avec file
|
## S'assurer de l'absence de fichier avec file
|
||||||
|
|
||||||
Supprimer le fichier /etc/vimrc existant
|
Supprimer le fichier /etc/vimrc existant
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ansible -i hosts -o -u root all -m file -a "path=/etc/vim state=absent"
|
||||||
|
```
|
||||||
|
|
||||||
## Gérer des liens symboliques, toujours avec file
|
## Gérer des liens symboliques, toujours avec file
|
||||||
|
|
||||||
Faire un lien symbolique /etc/vimrc vers /opt/vim/vimrc
|
Faire un lien symbolique /etc/vimrc vers /opt/vim/vimrc
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ansible -i hosts -o -u root all -m file -a "path=/etc/vimrc state=link src=/opt/vim/vimrc"
|
||||||
|
```
|
||||||
|
|
||||||
## Modifier des fichiers avec lineinfile
|
## Modifier des fichiers avec lineinfile
|
||||||
|
|
||||||
dans /etc/vimrc, assurez-vous que la ligne 62 (qui commence par set list listchars...) soit _décommentée_
|
dans /etc/vimrc, assurez-vous que la ligne 62 (qui commence par set list listchars...) soit _décommentée_
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ansible -i hosts -o -u root all -m lineinfile -a 'path=/etc/vimrc regex="^\"(set list listchars.*)" line=\1 backrefs=true'
|
||||||
|
#ou en recopiant la ligne entière
|
||||||
|
ansible -i hosts -o -u root all -m lineinfile -a 'path=/etc/vimrc regex="^\"set list listchars.*" line=set list listchars=nbsp:▶,tab:··,trail:¤,extends:▶,precedes:◀'
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user