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
|
||||
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
|
||||
|
|
|
@ -115,7 +115,7 @@ Et ajoutez les options `--become` et `--ask-become-pass` (utilisez `--sudo` et
|
|||
`--ask-sudo-pass` pour les vieilles versions) :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
ansible --inventory-file hosts all -m ping -u bruce --become --ask-become-pass
|
||||
```
|
||||
</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 :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
ansible -i hosts all -m setup
|
||||
```
|
||||
</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 :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
ansible-playbook -i hosts playbook.yml
|
||||
```
|
||||
</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
|
||||
tableaux :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
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 :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
My disks are: {% for disk in ansible_device_links.uuids %}
|
||||
- {{ disk }}: {{ ansible_device_links.uuids[disk] }}, {{ ansible_device_links.ids[disk]|join(', ') }}
|
||||
{% endfor %}
|
||||
```
|
||||
</div>
|
||||
|
||||
Notez dans ce dernier exemple l'utilisation d'un filtre `join` permettant
|
||||
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 :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
qemu-system-x86_64
|
||||
```
|
||||
</div>
|
||||
|
@ -75,7 +75,7 @@ par exemple pour une carte `enp0s3`) ; avant de l'assigner à notre machine
|
|||
virtuelle :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
qemu-system-x86_64 -device pci-assign,host=03:00.0
|
||||
```
|
||||
</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 :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
qemu-system-x86_64 -net nic,model=e1000 -net tap,ifname=tap0,script=no,downscript=no
|
||||
```
|
||||
</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 :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
ip link add name br0 type bridge
|
||||
```
|
||||
</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 :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
ip link set veth0 master br0
|
||||
```
|
||||
</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` :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
ip link show master br0
|
||||
```
|
||||
</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 :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
qemu-system-x86_64 -net bridge,br=br0
|
||||
```
|
||||
</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é.
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
dnsmasq --interface=br0 --bind-interfaces --dhcp-range=172.20.0.2,172.20.255.254
|
||||
```
|
||||
</div>
|
||||
|
@ -220,7 +220,7 @@ Démarrer la machine virtuelle
|
|||
Pour réaliser ce TP, nous aurons besoin d'un disque vierge :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
qemu-img create -f qcow2 /tmp/disk.qcow2 4G
|
||||
```
|
||||
</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 :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
qemu-system-x86_64 -drive file=/tmp/disk.qcow2
|
||||
```
|
||||
</div>
|
||||
|
@ -240,7 +240,7 @@ Tout comme le disque, nous utilisons ici le paramètre `-drive` pour donner un
|
|||
ISO de CD :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
qemu-system-x86_64 -boot d -drive format=raw,media=cdrom,readonly,file=tuto2.iso
|
||||
```
|
||||
</div>
|
||||
|
@ -293,7 +293,7 @@ pouvoir émettre un paquet sur le réseau.
|
|||
Manuellement, l'état d'un lien se change avec la commande :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
ip link set enp3s0 up
|
||||
```
|
||||
</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 :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
ip address add 192.168.0.42/24 dev enp3s0
|
||||
```
|
||||
</div>
|
||||
|
@ -333,7 +333,7 @@ paquet détaillant ses routes.
|
|||
Manuellement, on ajoute une route par défaut avec la commande :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
```bash
|
||||
ip route add default via 192.168.0.254
|
||||
```
|
||||
</div>
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
---
|
||||
title: Administration Linux avancée -- TP n^o^ 2
|
||||
subtitle:
|
||||
author: Pierre-Olivier *nemunaire* Mercier
|
||||
subtitle: fixit_f to the rescue
|
||||
author: Pierre-Olivier *nemunaire* [Mercier]{.smallcaps}
|
||||
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
|
||||
serveur, de manière industrielle !
|
||||
|
||||
\vspace{1em}
|
||||
|
||||
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
|
||||
de chaque partie pour plus d'information sur les éléments à rendre.
|
||||
le **vendredi 29 mars 2019 à 00 h 42 du matin**. Consultez la dernière
|
||||
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,
|
||||
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
|
||||
signer votre clef et n'hésitez pas à
|
||||
[faire signer votre clef](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
|
||||
|
||||
\tableofcontents
|
||||
[me](https://pgp.mit.edu/pks/lookup?op=vindex&search=0x842807A84573CC96)
|
||||
faire signer votre clef et n'hésitez pas à [faire signer votre
|
||||
clef](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
|
||||
...
|
||||
|
|
|
@ -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
|
||||
de ses programmes prend en argument le disque à modifier :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
cfdisk /dev/sda
|
||||
```
|
||||
</div>
|
||||
|
||||
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.
|
||||
|
@ -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
|
||||
caractéristiques.
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
# <fs> <mountpoint> <type> <opts> <dump/pass>
|
||||
/dev/sda1 / ext4 defaults 0 1
|
||||
/dev/sda2 none swap swap 0 0
|
||||
none /tmp tmpfs defaults,nosuid,nodev,noexec 0 0
|
||||
```
|
||||
</div>
|
||||
|
||||
Notons que le montage des partitions est effectué par le système
|
||||
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
|
||||
Denied` car vous avez oublié de préfixer votre commande par `sudo` ? essayez :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
sudo !!
|
||||
```
|
||||
</div>
|
||||
|
||||
### Top confort dans son coquillage
|
||||
|
||||
|
|
|
@ -1,6 +1,24 @@
|
|||
% Decent marging...
|
||||
\usepackage[cm]{fullpage}
|
||||
|
||||
\addto\captionsfrench{
|
||||
\renewcommand{\contentsname}
|
||||
{Sommaire}
|
||||
}
|
||||
% Indentation for all paragraph (even the first one) + ventilate
|
||||
\usepackage{indentfirst}
|
||||
\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
|
||||
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
|
||||
|
|
|
@ -1,23 +1,22 @@
|
|||
---
|
||||
title: Administration Linux avancée -- TP n^o^ 3
|
||||
subtitle:
|
||||
author: Pierre-Olivier *Nemunaire* Mercier
|
||||
author: Pierre-Olivier *nemunaire* [Mercier]{.smallcaps}
|
||||
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 à
|
||||
<adlin@nemunai.re> au plus tard le samedi 31 mars 2018 à 23 h 42. Consultez
|
||||
la dernière section de chaque partie pour plus d'information sur les éléments à
|
||||
rendre.
|
||||
<adlin@nemunai.re> au plus tard le dimanche 14 avril 2019 à 23
|
||||
h 42. Consultez la dernière 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,
|
||||
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
|
||||
signer votre clef et n'hésitez pas à
|
||||
[faire signer votre clef](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
|
||||
|
||||
\hypersetup{linkcolor=black}
|
||||
\tableofcontents
|
||||
[me](https://pgp.mit.edu/pks/lookup?op=vindex&search=0x842807A84573CC96)
|
||||
faire signer votre clef et n'hésitez pas à [faire signer votre
|
||||
clef](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
|
||||
...
|
||||
|
|
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