tutorial.pdf: update to the latest template
This commit is contained in:
parent
23451ed479
commit
2788600d4f
10 changed files with 183 additions and 160 deletions
|
@ -1,16 +1,6 @@
|
||||||
|
include ../pandoc-opts.mk
|
||||||
|
|
||||||
SOURCES = tutorial.md setup.md what.md ansible.md deploiement-svc.md rendu.md
|
SOURCES = tutorial.md setup.md what.md ansible.md deploiement-svc.md rendu.md
|
||||||
PANDOCOPTS = --latex-engine=xelatex \
|
|
||||||
--standalone \
|
|
||||||
--normalize \
|
|
||||||
--number-sections \
|
|
||||||
--smart \
|
|
||||||
-M lang=fr-FR \
|
|
||||||
-M fontsize=12pt \
|
|
||||||
-M papersize=a4paper \
|
|
||||||
-M mainfont="Linux Libertine O" \
|
|
||||||
-M monofont="FantasqueSansMono-Regular" \
|
|
||||||
-M sansfont="Linux Biolinum O" \
|
|
||||||
--include-in-header=../header.tex
|
|
||||||
|
|
||||||
|
|
||||||
all: tutorial.pdf
|
all: tutorial.pdf
|
||||||
|
|
|
@ -115,7 +115,7 @@ Et ajoutez les options `--become` et `--ask-become-pass` (utilisez `--sudo` et
|
||||||
`--ask-sudo-pass` pour les vieilles versions) :
|
`--ask-sudo-pass` pour les vieilles versions) :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
ansible --inventory-file hosts all -m ping -u bruce --become --ask-become-pass
|
ansible --inventory-file hosts all -m ping -u bruce --become --ask-become-pass
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -147,7 +147,7 @@ Parmi les modules de base, le module `setup` permet de récupérer un grand
|
||||||
nombre de caractéristiques de la machine distance, voyez plutôt :
|
nombre de caractéristiques de la machine distance, voyez plutôt :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
ansible -i hosts all -m setup
|
ansible -i hosts all -m setup
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -205,7 +205,7 @@ Placer le contenu dans un fichier YAML, par exemple `playbook.yml`, non loin du
|
||||||
fichier `hosts` créé à la section précédentes, puis lancez :
|
fichier `hosts` créé à la section précédentes, puis lancez :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
ansible-playbook -i hosts playbook.yml
|
ansible-playbook -i hosts playbook.yml
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -374,17 +374,21 @@ table de hash/dictionnaire, on utilise le caractère `.` ;
|
||||||
Les crochets `[x]` sont utilisés principalement pour accéder aux éléments des
|
Les crochets `[x]` sont utilisés principalement pour accéder aux éléments des
|
||||||
tableaux :
|
tableaux :
|
||||||
|
|
||||||
|
<div lang="en-US">
|
||||||
```
|
```
|
||||||
My first nameserver is: {{ ansible_dns.nameservers[0] }}.
|
My first nameserver is: {{ ansible_dns.nameservers[0] }}.
|
||||||
```
|
```
|
||||||
|
</div>
|
||||||
|
|
||||||
ou d'un dictionnaire lorsque la clef doit être récupérée d'une variable :
|
ou d'un dictionnaire lorsque la clef doit être récupérée d'une variable :
|
||||||
|
|
||||||
|
<div lang="en-US">
|
||||||
```
|
```
|
||||||
My disks are: {% for disk in ansible_device_links.uuids %}
|
My disks are: {% for disk in ansible_device_links.uuids %}
|
||||||
- {{ disk }}: {{ ansible_device_links.uuids[disk] }}, {{ ansible_device_links.ids[disk]|join(', ') }}
|
- {{ disk }}: {{ ansible_device_links.uuids[disk] }}, {{ ansible_device_links.ids[disk]|join(', ') }}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
```
|
```
|
||||||
|
</div>
|
||||||
|
|
||||||
Notez dans ce dernier exemple l'utilisation d'un filtre `join` permettant
|
Notez dans ce dernier exemple l'utilisation d'un filtre `join` permettant
|
||||||
d'aplatir la liste retournée.
|
d'aplatir la liste retournée.
|
||||||
|
|
|
@ -20,7 +20,7 @@ apprendre le plus de choses !) est sans doute *qemu*, sous Linux ; vous pouvez
|
||||||
le lancer avec la commande :
|
le lancer avec la commande :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
qemu-system-x86_64
|
qemu-system-x86_64
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -75,7 +75,7 @@ par exemple pour une carte `enp0s3`) ; avant de l'assigner à notre machine
|
||||||
virtuelle :
|
virtuelle :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
qemu-system-x86_64 -device pci-assign,host=03:00.0
|
qemu-system-x86_64 -device pci-assign,host=03:00.0
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -97,7 +97,7 @@ Pour attacher une carte réseau à notre machine virtuelle et créer l'interface
|
||||||
correspondante sur l'hôte, ce sera grâce à la commande :
|
correspondante sur l'hôte, ce sera grâce à la commande :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
qemu-system-x86_64 -net nic,model=e1000 -net tap,ifname=tap0,script=no,downscript=no
|
qemu-system-x86_64 -net nic,model=e1000 -net tap,ifname=tap0,script=no,downscript=no
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -137,7 +137,7 @@ interfaces (qu'elles soient physiques ou virtuelles).
|
||||||
Pour créer un nouveau pont, on utilise la commande `ip` comme suit :
|
Pour créer un nouveau pont, on utilise la commande `ip` comme suit :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
ip link add name br0 type bridge
|
ip link add name br0 type bridge
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -148,7 +148,7 @@ où `br0` est le nom que l'on souhaite attribuer à l'interface.
|
||||||
Pour assigner à un pont une interface, on utilise la commande suivante :
|
Pour assigner à un pont une interface, on utilise la commande suivante :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
ip link set veth0 master br0
|
ip link set veth0 master br0
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -160,7 +160,7 @@ où `veth0` est le nom de l'interface que l'on souhaite inclure dans le pont
|
||||||
Pour consulter la liste des interfaces concentrées par le pont `br0` :
|
Pour consulter la liste des interfaces concentrées par le pont `br0` :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
ip link show master br0
|
ip link show master br0
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -182,7 +182,7 @@ Lorsque le pont existe, `qemu` peut créer l'interface virtuelle et l'assigner
|
||||||
un pont directement, avec la commande :
|
un pont directement, avec la commande :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
qemu-system-x86_64 -net bridge,br=br0
|
qemu-system-x86_64 -net bridge,br=br0
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -203,7 +203,7 @@ lancé sur l'hôte et pourront donc communiquer entre-elles et avec l'hôte, sur
|
||||||
un réseau privé.
|
un réseau privé.
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
dnsmasq --interface=br0 --bind-interfaces --dhcp-range=172.20.0.2,172.20.255.254
|
dnsmasq --interface=br0 --bind-interfaces --dhcp-range=172.20.0.2,172.20.255.254
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -220,7 +220,7 @@ Démarrer la machine virtuelle
|
||||||
Pour réaliser ce TP, nous aurons besoin d'un disque vierge :
|
Pour réaliser ce TP, nous aurons besoin d'un disque vierge :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
qemu-img create -f qcow2 /tmp/disk.qcow2 4G
|
qemu-img create -f qcow2 /tmp/disk.qcow2 4G
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -228,7 +228,7 @@ Pour réaliser ce TP, nous aurons besoin d'un disque vierge :
|
||||||
Ce disque sera à attacher à notre machine virtuelle de cette manière :
|
Ce disque sera à attacher à notre machine virtuelle de cette manière :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
qemu-system-x86_64 -drive file=/tmp/disk.qcow2
|
qemu-system-x86_64 -drive file=/tmp/disk.qcow2
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -240,7 +240,7 @@ Tout comme le disque, nous utilisons ici le paramètre `-drive` pour donner un
|
||||||
ISO de CD :
|
ISO de CD :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
qemu-system-x86_64 -boot d -drive format=raw,media=cdrom,readonly,file=tuto2.iso
|
qemu-system-x86_64 -boot d -drive format=raw,media=cdrom,readonly,file=tuto2.iso
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -293,7 +293,7 @@ pouvoir émettre un paquet sur le réseau.
|
||||||
Manuellement, l'état d'un lien se change avec la commande :
|
Manuellement, l'état d'un lien se change avec la commande :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
ip link set enp3s0 up
|
ip link set enp3s0 up
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -305,7 +305,7 @@ Après avoir reçu la validation (paquet `DHCPACK`) du serveur DHCP, l'IP est
|
||||||
définie sur l'interface, via une méthode similaire à la commande :
|
définie sur l'interface, via une méthode similaire à la commande :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
ip address add 192.168.0.42/24 dev enp3s0
|
ip address add 192.168.0.42/24 dev enp3s0
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
@ -333,7 +333,7 @@ paquet détaillant ses routes.
|
||||||
Manuellement, on ajoute une route par défaut avec la commande :
|
Manuellement, on ajoute une route par défaut avec la commande :
|
||||||
|
|
||||||
<div lang="en-US">
|
<div lang="en-US">
|
||||||
```
|
```bash
|
||||||
ip route add default via 192.168.0.254
|
ip route add default via 192.168.0.254
|
||||||
```
|
```
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
---
|
---
|
||||||
title: Administration Linux avancée -- TP n^o^ 2
|
title: Administration Linux avancée -- TP n^o^ 2
|
||||||
subtitle:
|
subtitle: fixit_f to the rescue
|
||||||
author: Pierre-Olivier *nemunaire* Mercier
|
author: Pierre-Olivier *nemunaire* [Mercier]{.smallcaps}
|
||||||
institute: EPITA
|
institute: EPITA
|
||||||
date: Mercredi 7 mars 2018
|
date: Jeudi 14 mars 2019
|
||||||
...
|
abstract: |
|
||||||
|
|
||||||
Durant ce deuxième TP, nous allons apprendre à déployer des services sur un
|
Durant ce deuxième TP, nous allons apprendre à déployer des services sur un
|
||||||
serveur, de manière industrielle !
|
serveur, de manière industrielle !
|
||||||
|
|
||||||
|
\vspace{1em}
|
||||||
|
|
||||||
La partie 4 de ce TP est un projet à rendre à <adlin@nemunai.re> au plus tard
|
La partie 4 de ce TP est un projet à rendre à <adlin@nemunai.re> au plus tard
|
||||||
le **mercredi 21 mars 2018 à 00 h 42 du matin**. Consultez la dernière section
|
le **vendredi 29 mars 2019 à 00 h 42 du matin**. Consultez la dernière
|
||||||
de chaque partie pour plus d'information sur les éléments à rendre.
|
section de chaque partie pour plus d'information sur les éléments à rendre.
|
||||||
|
|
||||||
En tant que personnes sensibilisées à la sécurité des échanges électroniques,
|
En tant que personnes sensibilisées à la sécurité des échanges électroniques,
|
||||||
vous devrez m'envoyer vos rendus signés avec votre clef PGP. Pensez à
|
vous devrez m'envoyer vos rendus signés avec votre clef PGP. Pensez à
|
||||||
[me](https://pgp.mit.edu/pks/lookup?op=vindex&search=0x842807A84573CC96) faire
|
[me](https://pgp.mit.edu/pks/lookup?op=vindex&search=0x842807A84573CC96)
|
||||||
signer votre clef et n'hésitez pas à
|
faire signer votre clef et n'hésitez pas à [faire signer votre
|
||||||
[faire signer votre clef](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
|
clef](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
|
||||||
|
...
|
||||||
\tableofcontents
|
|
||||||
|
|
|
@ -57,9 +57,11 @@ Pour éditer (ou créer ...) la table de partitions d'un disque, vous pouvez
|
||||||
utiliser les utilitaires `fdisk`, `cfdisk`, `sfdisk`, `parted`, `gdisk`. Chacun
|
utiliser les utilitaires `fdisk`, `cfdisk`, `sfdisk`, `parted`, `gdisk`. Chacun
|
||||||
de ses programmes prend en argument le disque à modifier :
|
de ses programmes prend en argument le disque à modifier :
|
||||||
|
|
||||||
|
<div lang="en-US">
|
||||||
```
|
```
|
||||||
cfdisk /dev/sda
|
cfdisk /dev/sda
|
||||||
```
|
```
|
||||||
|
</div>
|
||||||
|
|
||||||
Le TP ne se concentrant pas sur la phase de démarrage, vous pouvez ignorer les
|
Le TP ne se concentrant pas sur la phase de démarrage, vous pouvez ignorer les
|
||||||
choix de type de tables, de partitions, leurs drapeaux, les étiquettes, etc.
|
choix de type de tables, de partitions, leurs drapeaux, les étiquettes, etc.
|
||||||
|
@ -123,12 +125,14 @@ il va falloir indiquer dans le fichier `/etc/fstab` l'emplacement dans
|
||||||
l'arborescence où attacher la partition ainsi que quelques autres
|
l'arborescence où attacher la partition ainsi que quelques autres
|
||||||
caractéristiques.
|
caractéristiques.
|
||||||
|
|
||||||
|
<div lang="en-US">
|
||||||
```
|
```
|
||||||
# <fs> <mountpoint> <type> <opts> <dump/pass>
|
# <fs> <mountpoint> <type> <opts> <dump/pass>
|
||||||
/dev/sda1 / ext4 defaults 0 1
|
/dev/sda1 / ext4 defaults 0 1
|
||||||
/dev/sda2 none swap swap 0 0
|
/dev/sda2 none swap swap 0 0
|
||||||
none /tmp tmpfs defaults,nosuid,nodev,noexec 0 0
|
none /tmp tmpfs defaults,nosuid,nodev,noexec 0 0
|
||||||
```
|
```
|
||||||
|
</div>
|
||||||
|
|
||||||
Notons que le montage des partitions est effectué par le système
|
Notons que le montage des partitions est effectué par le système
|
||||||
d'initialisation (un simple appel à la commande `mount -a` ou équivalent). À
|
d'initialisation (un simple appel à la commande `mount -a` ou équivalent). À
|
||||||
|
@ -232,9 +236,11 @@ distributions). Vous pouvez également définir des conditions plus précise en
|
||||||
**Super astuce !** votre terminal rit encore de vous, affichant `Permission
|
**Super astuce !** votre terminal rit encore de vous, affichant `Permission
|
||||||
Denied` car vous avez oublié de préfixer votre commande par `sudo` ? essayez :
|
Denied` car vous avez oublié de préfixer votre commande par `sudo` ? essayez :
|
||||||
|
|
||||||
|
<div lang="en-US">
|
||||||
```
|
```
|
||||||
sudo !!
|
sudo !!
|
||||||
```
|
```
|
||||||
|
</div>
|
||||||
|
|
||||||
### Top confort dans son coquillage
|
### Top confort dans son coquillage
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,24 @@
|
||||||
|
% Decent marging...
|
||||||
\usepackage[cm]{fullpage}
|
\usepackage[cm]{fullpage}
|
||||||
|
|
||||||
\addto\captionsfrench{
|
% Indentation for all paragraph (even the first one) + ventilate
|
||||||
\renewcommand{\contentsname}
|
\usepackage{indentfirst}
|
||||||
{Sommaire}
|
\setlength{\parskip}{6pt plus 2pt minus 1pt}
|
||||||
}
|
|
||||||
|
% Avoid vertical space before/after itemize
|
||||||
|
\usepackage{enumitem}
|
||||||
|
\setlist{nosep}
|
||||||
|
|
||||||
|
% Use sans-serif font for section' titles
|
||||||
|
\usepackage{sectsty}
|
||||||
|
\allsectionsfont{\sffamily \bfseries}
|
||||||
|
|
||||||
|
% Use sans-serif font for title page
|
||||||
|
\usepackage{titling}
|
||||||
|
\renewcommand{\maketitlehooka}{\sffamily}
|
||||||
|
|
||||||
|
% Use monospaced font for URLs
|
||||||
|
\urlstyle{tt}
|
||||||
|
|
||||||
|
% In french, list item starts with dash, not bullet
|
||||||
|
\renewcommand\labelitemi{---}
|
||||||
|
|
|
@ -1,16 +1,6 @@
|
||||||
|
include ../pandoc-opts.mk
|
||||||
|
|
||||||
SOURCES = tutorial.md what.md netfilter.md wks.md rendu.md
|
SOURCES = tutorial.md what.md netfilter.md wks.md rendu.md
|
||||||
PANDOCOPTS = --latex-engine=xelatex \
|
|
||||||
--standalone \
|
|
||||||
--normalize \
|
|
||||||
--number-sections \
|
|
||||||
--smart \
|
|
||||||
-M lang=fr-FR \
|
|
||||||
-M fontsize=12pt \
|
|
||||||
-M papersize=a4paper \
|
|
||||||
-M mainfont="Linux Libertine O" \
|
|
||||||
-M monofont="FantasqueSansMono-Regular" \
|
|
||||||
-M sansfont="Linux Biolinum O" \
|
|
||||||
--include-in-header=../header.tex
|
|
||||||
|
|
||||||
|
|
||||||
all: tutorial.pdf
|
all: tutorial.pdf
|
||||||
|
|
|
@ -1,23 +1,22 @@
|
||||||
---
|
---
|
||||||
title: Administration Linux avancée -- TP n^o^ 3
|
title: Administration Linux avancée -- TP n^o^ 3
|
||||||
subtitle:
|
subtitle:
|
||||||
author: Pierre-Olivier *Nemunaire* Mercier
|
author: Pierre-Olivier *nemunaire* [Mercier]{.smallcaps}
|
||||||
institute: EPITA
|
institute: EPITA
|
||||||
date: Lundi 19 mars 2018
|
date: Vendredi 29 mars 2019
|
||||||
...
|
abstract: |
|
||||||
|
Durant ce troisième TP, nous allons faire un peu plus de réseau !
|
||||||
|
|
||||||
Durant ce troisième TP, nous allons faire un peu de réseau !
|
\vspace{1em}
|
||||||
|
|
||||||
Tous les éléments de ce TP (exercices et projet) sont à rendre à
|
Tous les éléments de ce TP (exercices et projet) sont à rendre à
|
||||||
<adlin@nemunai.re> au plus tard le samedi 31 mars 2018 à 23 h 42. Consultez
|
<adlin@nemunai.re> au plus tard le dimanche 14 avril 2019 à 23
|
||||||
la dernière section de chaque partie pour plus d'information sur les éléments à
|
h 42. Consultez la dernière section de chaque partie pour plus d'information
|
||||||
rendre.
|
sur les éléments à rendre.
|
||||||
|
|
||||||
En tant que personnes sensibilisées à la sécurité des échanges électroniques,
|
En tant que personnes sensibilisées à la sécurité des échanges électroniques,
|
||||||
vous devrez m'envoyer vos rendus signés avec votre clef PGP. Pensez à
|
vous devrez m'envoyer vos rendus signés avec votre clef PGP. Pensez à
|
||||||
[me](https://pgp.mit.edu/pks/lookup?op=vindex&search=0x842807A84573CC96) faire
|
[me](https://pgp.mit.edu/pks/lookup?op=vindex&search=0x842807A84573CC96)
|
||||||
signer votre clef et n'hésitez pas à
|
faire signer votre clef et n'hésitez pas à [faire signer votre
|
||||||
[faire signer votre clef](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
|
clef](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
|
||||||
|
...
|
||||||
\hypersetup{linkcolor=black}
|
|
||||||
\tableofcontents
|
|
||||||
|
|
16
tutorial/pandoc-opts.mk
Normal file
16
tutorial/pandoc-opts.mk
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
PANDOCOPTS = --pdf-engine=xelatex \
|
||||||
|
--standalone \
|
||||||
|
--number-sections \
|
||||||
|
--toc \
|
||||||
|
-f markdown+smart \
|
||||||
|
-M fontsize=12pt \
|
||||||
|
-M papersize=a4paper \
|
||||||
|
-M mainfont="Linux Libertine O" \
|
||||||
|
-M monofont="FantasqueSansMono-Regular" \
|
||||||
|
-M sansfont="Linux Biolinum O" \
|
||||||
|
-M colorlinks=true \
|
||||||
|
-M linkcolor="black" \
|
||||||
|
-M urlcolor="ForestGreen" \
|
||||||
|
-M indent=true \
|
||||||
|
-V toc-title="Sommaire" \
|
||||||
|
--include-in-header=../../tutorial/header.tex
|
Reference in a new issue