sre

Introduction

Ce site répertorie les connaissances utiles au métier de SRE : Linux, Git, automatisation, réseaux, observabilité, Kubernetes... C'est ma base de connaissances personnelle, pensée comme un mémo.

J'écris ces articles en français parce que c'est plus naturel pour moi. C'est aussi une façon de réviser certaines notions, d'en approfondir d'autres et surtout de remettre à plat des choses que j'aurais pu oublier.

J'ai commencé par définir le sommaire et créer les pages. Je les compléterai au fur et à mesure. L'avancement de chaque page est indiqué par un code couleur :

Linux

Linux

🔴 Commandes de base

Les commandes pour naviguer dans l'arborescence, manipuler des fichiers, consulter l'aide, l'historique...

  1. ls
  2. cd
  3. pwd
  4. cp
  5. mv
  6. rm
  7. mkdir
  8. touch
  9. cat
  10. less
  11. head
  12. tail
  13. wc
  14. echo
  15. which
  16. type
  17. man
  18. help
  19. --help
  20. alias
  21. history
  22. watch
  23. timeout
  24. flock
Linux

🔴 Éditeurs de texte

Les éditeurs de texte nano et vim pour lire et modifier rapidement un fichier depuis un terminal Linux.

  1. nano
  2. vim
Linux

🔴 Système de fichiers

Les fondamentaux du système de fichiers : arborescence, liens symboliques et physiques, inodes, stat...

  1. fhs
    • /proc
    • /dev
  2. types de fichiers
  3. symlink
  4. hardlink
  5. inodes
  6. stat
Linux

🔴 Manipulation de texte

Les outils en ligne de commande pour lire, filtrer, transformer, rechercher, comparer, trier du texte...

  1. pipes
  2. redirections
  3. /dev/null
  4. tee
  5. grep
  6. regex
  7. sed
  8. awk
  9. sort
  10. uniq
  11. cut
  12. tr
  13. diff
  14. xargs
  15. find
    • find -exec (vs xargs)
  16. jq
Linux

🔴 Bash

Les bases du scripting bash : variables, arguments, structures de contrôle, fonctions, bonnes pratiques...

  1. shebang
  2. variables
  3. quoting
  4. variables d'environnement
    • PATH
  5. variables spéciales
  6. arguments de script
    • $1
    • shift
    • getopts
  7. expansion de paramètres
    • ${var:-défaut}
  8. tableaux
  9. exit codes
  10. conditions
  11. boucles
  12. fonctions
  13. substitution de commande
  14. here-doc
  15. set -euo pipefail
  16. trap
  17. shellcheck
  18. fichiers d'init
    • .bashrc
    • .profile
    • shell login vs non-login
Linux

🔴 Utilisateurs & permissions

Les utilisateurs, les groupes, les permissions d'accès aux fichiers et répertoires, les droits sudo...

  1. utilisateurs
  2. useradd
  3. usermod
  4. groupes
  5. groupadd
  6. /etc/passwd
  7. /etc/shadow
  8. /etc/group
  9. id
  10. passwd
  11. su
  12. chmod
  13. chown
  14. umask
  15. setuid
  16. setgid
  17. sticky bit
  18. sudo
  19. acl
  20. attributs
    • chattr
  21. who
  22. w
  23. last
Linux

🔴 Processus

Le suivi, le contrôle et le débogage des processus d'un système Linux, de leur lancement à leur arrêt...

  1. processus
  2. ps
  3. top
  4. htop
  5. états
    • R
    • S
    • D
    • Z
  6. signaux
  7. kill
    • pgrep
    • pkill
  8. jobs
  9. nohup
  10. tmux
  11. priorités
    • nice
  12. lsof
  13. file descriptors
    • /proc//fd
    • ulimit -n
    • /etc/security/limits.conf
    • LimitNOFILE= (unit systemd)
  14. /proc/
  15. strace
  16. cgroups
  17. namespaces
Linux

🔴 Systemd & services

La gestion des services avec systemd : unités, timers, tâches planifiées, redémarrage automatique, dépannage...

  1. systemctl
  2. unit files
  3. drop-ins
    • systemctl edit
  4. Restart=
  5. targets
  6. timers
  7. cron
  8. crontab
  9. systemd-analyze
Linux

🔴 Logs

Les logs système : où les trouver, comment les consulter, les filtrer, comment gérer leur rotation...

  1. /var/log
  2. journald
  3. journalctl
  4. rsyslog
  5. logrotate
  6. niveaux de sévérité
  7. dmesg
Linux

🔴 Ressources & performance

Le suivi de l'utilisation du CPU, de la mémoire et du disque pour diagnostiquer un système sous tension...

  1. uptime
  2. load average
  3. cpu
  4. ram
  5. free
  6. swap
  7. oom killer
  8. vmstat
  9. iostat
  10. sar
  11. iowait
  12. perf
Linux

🔴 Stockage & disques

Le stockage : partitionnement, montage, fstab, systèmes de fichiers, LVM, extension de volumes, RAID...

  1. lsblk
  2. fdisk
  3. systèmes de fichiers
  4. ext4
  5. xfs
  6. mount
  7. fstab
  8. uuid
  9. blkid
  10. df
  11. du
  12. inodes saturés
    • df -i
  13. lvm
  14. extension d'un volume
    • lvextend
    • resize2fs
    • xfs_growfs
  15. fichiers supprimés qui occupent de l'espace
    • lsof +L1
  16. raid
  17. luks
Linux

🔴 Réseau

Le diagnostic réseau, de la simple connectivité à la résolution DNS : ports, connexions, certificats TLS...

  1. ip
  2. ss
  3. ping
  4. traceroute
  5. mtr
  6. curl
  7. dig
  8. dns
  9. /etc/nsswitch.conf
  10. /etc/hosts
  11. /etc/resolv.conf
  12. systemd-resolved
    • resolvectl
  13. ports
  14. tcp
  15. udp
  16. cidr
  17. nc
  18. tcpdump
  19. openssl s_client
  20. certificats
    • expiration
Linux

🔴 SSH

SSH : connexion, authentification par clés, tunnels, accès via bastion, bonnes pratiques de configuration...

  1. ssh
  2. clés ssh
  3. authorized_keys
  4. ~/.ssh/config
    • ProxyJump
  5. ssh-agent
  6. tunnels
  7. scp
  8. sshd_config
Linux

🔴 Pare-feu & sécurité de base

Configurer un pare-feu et appliquer les premiers réflexes de durcissement sur un serveur Linux exposé.

  1. firewall
  2. iptables
  3. nftables
  4. ufw
  5. moindre privilège
  6. durcissement ssh
  7. mises à jour de sécurité
  8. services inutiles
  9. apparmor
Linux

🔴 Gestion des paquets

Les paquets sous Debian et Ubuntu avec apt : installation, mises à jour, dépôts, gel de versions, GPG...

  1. apt
  2. dpkg
  3. dépôts
  4. gpg
  5. pinning
    • apt-mark hold
Linux

🔴 Archivage & compression

L'archivage, la compression et la synchronisation de fichiers entre plusieurs machines : tar, gzip, rsync.

  1. tar
  2. gzip
  3. rsync
Linux

🔴 Démarrage & noyau

Identifier un serveur (distribution, noyau, matériel) et comprendre son démarrage : boot, GRUB, rescue...

  1. /etc/os-release
  2. hostnamectl
  3. lscpu
  4. uname
  5. séquence de boot
  6. grub
  7. mode rescue
  8. lsmod
  9. sysctl
Linux

🔴 Heure & NTP

La gestion de l'heure système et sa synchronisation avec un serveur NTP via chrony ou systemd-timesyncd.

  1. date
  2. timedatectl
  3. fuseau horaire
  4. chrony
  5. systemd-timesyncd
Linux

🔴 Dépannage & diagnostic

Une méthode et des scénarios types pour diagnostiquer un incident Linux, de la détection à la résolution.

  1. méthode
    • reproduire
    • isoler
    • corriger
  2. service qui ne démarre pas
  3. serveur lent
  4. disque plein
  5. plus de mémoire
  6. problème réseau

Git

placeholder

Automatisation

Automatisation

🔴 SaltStack

placeholder

Automatisation

🔴 Ansible

placeholder

Automatisation

🔴 StackStorm

placeholder