Référence des commandes
Chaque programme que les cours tapent, une page chacun : à quoi il sert, quel paquet l'installe, ce que font ses options dans les leçons, et quelles leçons l'enseignent.
125 commandes
Comptes
L'enveloppe Debian autour de
useradd: crée le répertoire personnel, copie/etc/skel, demande un mot de passe, et avec--systemproduit un compte de service sans connexion. C'est celle à employer à la main.3 options expliquées · 4 leçons
Lit et modifie la durée de vie d'un mot de passe et la date d'expiration d'un compte.
chage -lrépond à « ce compte va-t-il expirer ? », question qui explique un certain nombre de connexions refusées un lundi matin.3 options expliquées · 1 leçon
deluser
À manier avec soinSupprime un compte. Sans
--remove-home, ses fichiers restent, désormais rattachés à un UID sans nom ; avec, ils disparaissent. Un service qui tourne encore sous ce compte n'est pas arrêté pour autant.1 option expliquée · 1 leçon
Affiche la liste de contrôle d'accès complète d'un fichier, ce que le
+dels -lannonce sans détailler. À garder à côté d'une sauvegarde :rsync -aettarsans option ne copient pas les ACL.1 option expliquée · 2 leçons
Crée un groupe, et rien de plus. Le droit qu'il représente se construit ensuite : un répertoire qui lui appartient, un
chmod g+s, des comptes ajoutés avecusermod -aG.1 option expliquée · 1 leçon
Change un mot de passe, ou verrouille un compte avec
-lsans le supprimer. Verrouiller ne ferme pas les sessions ouvertes ni l'accès par clé SSH : ce sont deux autres décisions.2 options expliquées · 1 leçon
Ajoute à un fichier des droits que les neuf caractères habituels ne peuvent pas exprimer : un compte précis en lecture, un groupe de plus en écriture.
ls -lne montre alors qu'un+; le reste se lit avecgetfacl.1 option expliquée · aucune leçon
Ouvre un shell sous une autre identité, en demandant le mot de passe de ce compte — pas le vôtre. Sur un serveur où root n'a pas de mot de passe,
suéchoue etsudo -iest la voie prévue.2 options expliquées · 1 leçon
Exécute une commande avec les droits d'un autre compte, root par défaut, et inscrit qui l'a demandée dans le journal. Ce n'est pas « devenir root » : chaque commande est autorisée ou refusée par
/etc/sudoers, et c'est là que se lit ce qu'un compte peut réellement faire.6 options expliquées · 77 leçons
Affiche ou fixe le masque retiré aux permissions de chaque fichier créé dans ce shell. C'est pourquoi un fichier neuf est
644et non666: ce n'est pas la commande qui le décide, c'est le masque.1 option expliquée · 2 leçons
Crée un compte avec exactement ce que vous précisez et rien d'autre : sans
-m, pas de répertoire personnel ; sans-s, le shell est/bin/sh. C'est l'outil bas niveau que les scripts appellent ; pour une personne,adduserpose les bonnes questions.1 option expliquée · aucune leçon
usermod
À manier avec soinModifie un compte existant : ses groupes, son shell, sa date d'expiration, son verrouillage. Les options se ressemblent et ne font pas la même chose —
-Gremplace la liste des groupes,-aGy ajoute.5 options expliquées · 3 leçons
Édite
/etc/sudoersen vérifiant la syntaxe avant d'enregistrer. Une faute dans ce fichier retiresudoà tout le monde, y compris à celui qui pourrait la corriger ; c'est la seule façon raisonnable de le modifier.2 options expliquées · 2 leçons
SSH
Copie des fichiers à travers SSH, avec la syntaxe de
cp. Suffisant pour un fichier ; pour une arborescence à synchroniser,rsyncne recopie que ce qui a changé.4 options expliquées · 1 leçon
Ouvre une session ou exécute une commande sur une machine distante, dans un canal chiffré et authentifié. La première connexion demande de vérifier l'empreinte du serveur ; c'est le seul moment où cette vérification a un sens.
7 options expliquées · 6 leçons
Charge une clé privée dans l'agent pour la durée de la session, ce qui évite de retaper la phrase secrète — et ce qui prête la clé à tout ce qui parle à l'agent, y compris un hôte distant si
-Aest actif.4 options expliquées · 1 leçon
Garde des clés privées déchiffrées en mémoire et signe à la place de
ssh. Il ne fait rien tant qu'ssh-addne lui a rien confié, eteval "$(ssh-agent -s)"est ce qui le fait connaître au shell.1 option expliquée · 1 leçon
Crée une paire de clés, en change la phrase secrète, ou affiche une empreinte. La clé privée ne quitte jamais la machine où elle a été créée ; la publique se copie partout où l'on veut se connecter.
7 options expliquées · 4 leçons
Le serveur SSH lui-même.
sshd -tvalide la configuration avant un redémarrage etsshd -Taffiche ce qui s'applique réellement, première valeur obtenue pour chaque mot-clé — ce que le fichier ne montre pas.4 options expliquées · 5 leçons
Lire la machine
L'espace de chaque système de fichiers, en blocs ou avec
-ien inodes. Un disque « plein » alors quedf -haffiche de la place est presque toujours undf -ià 100 %.3 options expliquées · 9 leçons
Le tampon de messages du noyau : disques détectés, erreurs matérielles, processus tués par l'OOM killer. Quand un service meurt sans rien écrire dans son journal, c'est ici que la raison se trouve.
1 option expliquée · aucune leçon
La taille réellement occupée par un répertoire et ce qu'il contient.
dfdit combien il manque ;du -sh /* | sort -hdit où c'est parti.3 options expliquées · 5 leçons
La mémoire vive et le swap : utilisée, libre, et surtout
available, qui compte le cache récupérable. Une machine dont la colonnefreeest proche de zéro va bien ; c'estavailablequ'il faut lire.1 option expliquée · 3 leçons
Mesure l'activité des disques : débit, requêtes, temps d'attente, taux d'occupation. Un
%utilproche de 100 avec un débit faible signe un disque saturé de petites écritures, pas un disque plein.5 options expliquées · 1 leçon
Les connexions et redémarrages récents, lus dans
wtmp. Il date un redémarrage sans qu'on ait à fouiller le journal, et montre qui était connecté au moment d'un incident.1 option expliquée · aucune leçon
Fait tourner, compresse et supprime les fichiers de journal selon
/etc/logrotate.d/. Il tourne une fois par jour par minuterie ;logrotate -drejoue la configuration sans rien toucher.1 option expliquée · 1 leçon
Le nom et la version de la distribution, ce que
/etc/os-releasecontient aussi. La réponse à la première question de tout correctif : « sur quelle version êtes-vous ? »1 option expliquée · 1 leçon
Décompose un chemin composant par composant, avec les permissions de chacun. Un « Permission denied » sur un fichier lisible vient d'un répertoire parent sans
x, et c'est la commande qui le montre.1 option expliquée · 2 leçons
Le même relevé que
sar, par processus : quel PID consomme le CPU, écrit sur le disque, ou change de contexte trop souvent. Le chaînon entre « la machine est lente » et « c'est ce programme ».1 option expliquée · 1 leçon
Résout un lien symbolique, et avec
-ftoute la chaîne jusqu'au fichier réel. C'est ce qui dit quelle version uncurrentpointe vraiment après un déploiement.1 option expliquée · 6 leçons
Le rapport des quotas d'un système de fichiers : qui consomme quoi, qui a dépassé sa limite souple et depuis quand. À lire avant de chercher une panne mystérieuse sur un compte qui « ne peut plus écrire ».
1 option expliquée · 1 leçon
Relit l'historique de charge que
sysstatcollecte toutes les dix minutes : CPU, mémoire, disque, réseau, par tranche horaire. C'est ce qui répond à « que faisait la machine à 3 h du matin » quand personne ne regardait.5 options expliquées · 1 leçon
Fixe les quotas disque d'un compte ou d'un groupe sur un système de fichiers monté avec les options de quota. Sans ces options de montage, la commande réussit et ne limite rien.
3 options expliquées · aucune leçon
L'état instantané des processus, rafraîchi. Utile pour voir ce qui consomme maintenant ; inutile pour ce qui consommait il y a une heure, que seul
sara retenu.4 options expliquées · 2 leçons
Le noyau en cours d'exécution, avec
-rsa version exacte. À comparer avec ce quedpkga installé : s'ils diffèrent, la machine attend un redémarrage.1 option expliquée · 1 leçon
Choisit lequel de plusieurs programmes installés répond à un nom générique — quel
editor, queljava. Ce n'est pas un gestionnaire de versions : il ne fait que déplacer un lien symbolique.1 option expliquée · 1 leçon
Processus
Envoie un signal à un PID :
TERMpar défaut, qui demande au processus de s'arrêter,KILLqui ne demande rien. Le-9du nom de ce site est le second : il ne laisse ni fermer les fichiers ni écrire quoi que ce soit.2 options expliquées · 2 leçons
Trouve des PID par nom ou par motif, sans le
grepqui se trouve lui-même.pgrep -aaffiche aussi la commande, ce qui évite de tuer le mauvais processus à l'étape suivante.3 options expliquées · 4 leçons
pkill
À manier avec soinEnvoie un signal à tous les processus dont le nom correspond au motif. Le motif est une expression régulière et correspond à une partie du nom :
pkill nodeatteint aussinode_exporter.1 option expliquée · 1 leçon
La liste des processus à cet instant, avec leur PID, leur propriétaire et leur commande.
ps auxmontre tout ;ps -o pid,ppid,cmdchoisit les colonnes, ce qui rend la sortie lisible par un script.5 options expliquées · 5 leçons
Les processus sous forme d'arbre, chaque enfant sous son parent. C'est ainsi qu'on voit qu'un
nodeorphelin est le petit-fils d'unbashque quelqu'un a fermé, et pas un service.1 option expliquée · 1 leçon
Fichiers
chmod
À manier avec soinChange les permissions.
chmod 777fait disparaître le message d'erreur et le problème avec — le problème étant que n'importe qui peut désormais écrire ce fichier.2 options expliquées · 4 leçons
chown
À manier avec soinChange le propriétaire et le groupe d'un fichier. Un service qui « ne peut pas écrire » dans son propre répertoire a presque toujours un
chownmanquant après une copie faite par root.2 options expliquées · 2 leçons
Copie des fichiers. Sans
-a, la copie perd le propriétaire, les dates et les liens symboliques ; c'est correct pour un fichier de travail et faux pour une configuration ou une sauvegarde.4 options expliquées · 2 leçons
Parcourt une arborescence et sélectionne des fichiers sur leurs propriétés : nom, taille, date, propriétaire, permissions. Chaque test est une option, et
-execou-deleteagit sur ce qui reste ; tester sans action d'abord.17 options expliquées · 8 leçons
Copie un fichier en fixant en une commande le propriétaire, le groupe et le mode —
install -o root -g root -m 0644. C'estcppuischownpuischmod, sans la fenêtre où le fichier a les mauvais droits.4 options expliquées · 3 leçons
Crée un lien : dur par défaut, symbolique avec
-s.ln -sfnremplace un lien existant en une seule opération, ce que le déploiement parcurrentexige.3 options expliquées · 6 leçons
Liste le contenu d'un répertoire.
ls -lmontre les neuf caractères de permissions, le propriétaire et le groupe — les trois choses à lire avant de conclure qu'un accès refusé est un bug.5 options expliquées · 14 leçons
Crée un répertoire.
mkdir -pcrée aussi les parents manquants et ne se plaint pas si le répertoire existe — ce qui rend la commande réexécutable, mais échoue quand même si un fichier porte ce nom.1 option expliquée · 2 leçons
Déplace ou renomme. Sur le même système de fichiers, c'est un changement de nom instantané, ce qui rend le basculement d'un lien
currentatomique ; entre deux disques, c'est une copie suivie d'une suppression.4 options expliquées · 3 leçons
rm
À manier avec soinSupprime des fichiers, sans corbeille ni confirmation. Ce que
rm -rfefface est parti ; la seule protection est ce que vous avez tapé avant Entrée, et une variable vide y transforme/var/www/$appen/var/www/.4 options expliquées · 3 leçons
Tout ce que le système sait d'un fichier : inode, permissions en octal, dates de modification et de changement, nombre de liens. C'est
ls -lsans arrondi ni omission.2 options expliquées · 6 leçons
Crée un fichier vide, ou met à jour la date d'un fichier existant. Le fichier vide qui signale « ce script a tourné » ou qui active une règle (
/etc/cron.allow) est souvent créé ainsi.1 option expliquée · 2 leçons
Affiche une arborescence indentée, ce que
ls -Rfait en moins lisible.tree -L 2limite la profondeur, ce qui fait tenir un répertoire de déploiement sur un écran.1 option expliquée · 1 leçon
truncate
À manier avec soinFixe la taille d'un fichier, en le coupant ou en l'étendant avec des zéros.
truncate -s 0vide un journal sans le supprimer, donc sans casser le descripteur qu'un processus garde ouvert dessus.1 option expliquée · aucune leçon
Texte
Traite un texte champ par champ et ligne par ligne, avec un petit langage.
awk '{print $2}'suffit à extraire une colonne séparée par des espaces, ce quecutfait mal.1 option expliquée · 2 leçons
Extrait des colonnes d'un texte, par caractère ou par champ avec
-det-f. Suffisant pour/etc/passwd;awkprend le relais quand le séparateur est un nombre variable d'espaces.2 options expliquées · aucune leçon
Les différences entre deux fichiers, ligne par ligne.
diff -uproduit le format quegitetpatchlisent, et c'est ce qu'on colle dans un rapport pour montrer ce qui a changé dans une configuration.1 option expliquée · 1 leçon
Cherche un motif dans des fichiers ou dans ce qu'on lui envoie, et rend la ligne — ou avec
-qseulement un code de sortie, ce qui en fait un test dans un script. Le motif est une expression régulière sauf avec-F.9 options expliquées · 17 leçons
Les premières lignes d'un fichier ou d'un flux.
head -1sur la sortie d'une commande en garde la première ligne, ce qui suffit souvent à un script.1 option expliquée · 3 leçons
Colle des fichiers ligne à ligne, côte à côte. Avec
-sd+, il transforme une colonne de nombres en1+2+3, quebcpeut additionner.2 options expliquées · aucune leçon
Trie des lignes.
sort -hcomprend les tailles dedu -h,sort -nles nombres, et sans option le tri est alphabétique — où10vient avant9.3 options expliquées · 2 leçons
Les dernières lignes d'un fichier, et avec
-fcelles qui arrivent au fil de l'eau. Pour un service systemd,journalctl -fest la même chose sans avoir à connaître le chemin du fichier.2 options expliquées · 10 leçons
Écrit ce qu'il reçoit à la fois dans un fichier et sur la sortie standard.
sudo teeest la façon d'écrire un fichier appartenant à root depuis un pipe, là oùsudo echo > fichieréchoue.1 option expliquée · 1 leçon
Remplace ou supprime des caractères dans un flux :
tr -d '\r'retire les fins de ligne Windows qui rendent un script « introuvable » alors qu'il est là.2 options expliquées · aucune leçon
Supprime les lignes répétées adjacentes, ou avec
-cles compte. Il ne voit que les voisines :sort | uniq -cest la paire, etuniqseul sur un fichier non trié ne dédoublonne rien.1 option expliquée · 1 leçon
Compte les lignes, les mots et les octets.
wc -lsur la sortie d'ungrepou d'unlstransforme une liste en un nombre — la forme que prend une vérification dans un script.2 options expliquées · 1 leçon
Construit et exécute une commande à partir de ce qu'il lit sur l'entrée standard. Avec
find -print0 | xargs -0, les noms de fichiers contenant des espaces cessent d'être coupés en deux.2 options expliquées · 1 leçon
Shell
Le shell interactif par défaut des comptes humains sur Ubuntu, et l'interpréteur de la plupart des scripts d'administration.
bash -nvérifie la syntaxe d'un script sans l'exécuter ;bash -xmontre chaque commande au moment où elle tourne.2 options expliquées · 1 leçon
Édite la table des tâches planifiées d'un compte. Sur une machine systemd, une minuterie fait la même chose avec un journal, un statut et un rattrapage des exécutions manquées —
crontabreste ce que vous trouverez sur les machines existantes.2 options expliquées · 2 leçons
La date et l'heure, dans le format que vous demandez.
date -u +%Y%m%dT%H%M%SZnomme une sauvegarde ou une version de façon triable ;date -d @1700000000traduit un horodatage Unix.4 options expliquées · 2 leçons
Détache un travail du shell qui l'a lancé, pour qu'il survive à la fermeture du terminal. Un dépannage, pas une méthode : un service qui doit tourner a besoin d'une unité systemd.
1 option expliquée · 1 leçon
Affiche l'environnement, ou lance une commande dans un environnement modifié. En première ligne d'un script,
#!/usr/bin/env bashtrouvebashoù qu'il soit installé.1 option expliquée · 1 leçon
Prend un verrou sur un fichier le temps d'exécuter une commande, pour qu'une deuxième instance attende ou renonce. C'est ce qui empêche une sauvegarde lancée par minuterie de chevaucher la précédente.
5 options expliquées · 1 leçon
Les processus lancés depuis ce shell et encore attachés à lui, avec leur numéro. Ce qui figure ici meurt avec le terminal ;
disownoutmuxsont les façons de l'éviter.2 options expliquées · 1 leçon
Règle le comportement du shell.
set -euo pipefailen tête d'un script le fait s'arrêter à la première commande qui échoue, à la première variable non définie, et sur une erreur au milieu d'un pipe — au lieu de continuer comme si de rien n'était.3 options expliquées · 2 leçons
Sur Debian et Ubuntu,
/bin/shestdash, pasbash. Un script qui commence par#!/bin/shet utilise[[, des tableaux ousourceéchoue — en production, pas dans le terminal où vous l'avez testé.1 option expliquée · 1 leçon
systemd
Lit le journal de systemd, par unité (
-u), par période (--since), par démarrage (-b), en direct (-f). C'est là que la sortie d'un service est allée quand il n'écrit dans aucun fichier.19 options expliquées · 25 leçons
shutdown
À manier avec soinArrête ou redémarre la machine, tout de suite ou à l'heure dite, en prévenant les sessions ouvertes.
shutdown -cannule ce qui est planifié.2 options expliquées · 1 leçon
Pilote les unités systemd : démarrer, arrêter, activer au démarrage, lire l'état.
statusdit ce qui se passe maintenant,is-enabledce qui se passera au prochain démarrage ; ce sont deux questions différentes.19 options expliquées · 47 leçons
Liste les fichiers d'unité que vous avez surchargés ou remplacés, et en quoi ils diffèrent de ceux du paquet. C'est la réponse à « qu'a-t-on modifié sur cette machine » sans fouiller
/etc/systemd.1 option expliquée · 1 leçon
Lance une commande comme unité transitoire, avec un journal et des limites, sans écrire de fichier d'unité.
--on-active=10mla planifie en une fois, ce qu'on faisait avecat.2 options expliquées · 1 leçon
Réseau
Obtient et renouvelle des certificats Let's Encrypt en prouvant le contrôle du domaine, et installe une minuterie pour le renouvellement.
certbot renew --dry-runrépète la procédure sans rien émettre.5 options expliquées · 2 leçons
Envoie une requête HTTP (ou autre) et montre la réponse.
curl -Ine lit que les en-têtes,-vmontre l'échange complet, TLS compris — c'est ainsi qu'on distingue « le serveur répond mal » de « le serveur ne répond pas ».12 options expliquées · 17 leçons
Interroge le DNS et montre la réponse brute, avec le TTL et le serveur qui a répondu.
dig +shortpour la valeur ;dig @1.1.1.1pour demander à un résolveur précis plutôt qu'au cache local.1 option expliquée · 11 leçons
iptables
À manier avec soinLe pare-feu par règles historique de Linux ; sur un Ubuntu récent, une couche de compatibilité au-dessus de nftables. Les règles vivent en mémoire : ce que vous ajoutez disparaît au redémarrage si rien ne le sauvegarde.
4 options expliquées · 1 leçon
Un client SMTP minimal qui remet le courrier d'une machine à un relais authentifié, sans faire tourner un serveur de messagerie. C'est ce qui permet à
cronet aux scripts d'envoyer une alerte.1 option expliquée · 1 leçon
Ouvre une connexion TCP ou UDP brute vers un port, ou écoute dessus.
nc -zv hôte 5432dit si le port est ouvert avant qu'on accuse la base de données.3 options expliquées · 4 leçons
nft
À manier avec soinL'outil du pare-feu nftables, qui remplace
iptables.nft list rulesetmontre l'ensemble des règles réellement chargées, quel que soit l'outil qui les a posées —ufwcompris.1 option expliquée · 1 leçon
Le serveur web et mandataire inverse des cours d'hébergement. La commande elle-même sert surtout à
nginx -t, qui valide la configuration avant un rechargement : une configuration invalide rechargée laisse tourner l'ancienne, sans le dire fort.3 options expliquées · 11 leçons
Scanne les ports d'une machine depuis l'extérieur, et montre ce qu'un attaquant verrait. À lancer sur ses propres serveurs après chaque changement de pare-feu — et uniquement sur les siens.
3 options expliquées · 1 leçon
La boîte à outils TLS :
openssl s_clientse connecte et montre le certificat que le serveur présente réellement,openssl x509lit un certificat sur disque. Le premier est ce qu'il faut quand le navigateur dit « non sécurisé » sans dire pourquoi.6 options expliquées · 3 leçons
Envoie des paquets ICMP et mesure la réponse. Il prouve qu'une machine est joignable au niveau IP ; il ne dit rien du port 443, et un pare-feu qui bloque ICMP le fait échouer sur un serveur parfaitement sain.
1 option expliquée · 2 leçons
Lit et modifie la configuration de Postfix.
postconf -nn'affiche que ce qui diffère des valeurs par défaut — la vue qu'il faut quand on cherche pourquoi le courrier ne part pas.1 option expliquée · 1 leçon
Les sockets ouverts : qui écoute sur quel port, quelles connexions sont établies, et avec
-pquel processus.ss -tlnpest la commande qui répond à « quelque chose écoute-t-il déjà sur le 80 ? »4 options expliquées · 14 leçons
Capture les paquets qui passent par une interface et les affiche, filtrés par hôte, port ou protocole. C'est le juge de paix : quand deux machines se contredisent sur ce qui a été envoyé,
tcpdumpmontre ce qui a réellement circulé.5 options expliquées · 1 leçon
Télécharge un fichier depuis une URL vers le disque, en reprenant là où il s'était arrêté avec
-c. Là oùcurlsert à examiner une réponse,wgetsert à la garder.1 option expliquée · 1 leçon
Intégrité et confinement
Détection d'intrusion par empreintes : une base de référence des fichiers, puis un rapport de ce qui a changé. Elle ne vaut que si la base a été prise sur une machine saine et conservée hors de celle-ci.
1 option expliquée · 1 leçon
Charge, recharge ou retire un profil AppArmor.
apparmor_parser -rrecharge un profil modifié sans redémarrer le service qu'il confine — la commande qu'on cherche quand un service a le droit d'écrire un fichier et qu'AppArmor le lui refuse.1 option expliquée · 1 leçon
Compare les fichiers installés aux sommes de contrôle de leur paquet. Un binaire modifié sans que
dpkgle sache est soit une intrusion, soit uncpd'urgence oublié ; dans les deux cas, c'est ce qu'il fallait savoir.4 options expliquées · 1 leçon
Git
Le gestionnaire de versions, employé ici pour les fichiers de configuration autant que pour le code : qui a changé quoi, quand, et comment revenir.
git statusetgit logsont les deux commandes à connaître avant toutes les autres.16 options expliquées · 9 leçons
Paquets
Ajoute une source de paquets (un PPA le plus souvent) et sa clé. Chaque source ajoutée est un tiers à qui vous faites confiance pour tout ce qu'il publie ; la liste doit rester courte.
1 option expliquée · aucune leçon
L'interface de gestion des paquets pour un humain :
update,upgrade,install, avec une barre de progression et une sortie qui change d'une version à l'autre — ce qui la rend impropre aux scripts.2 options expliquées · 5 leçons
La même chose qu'
apt, avec une sortie stable et des options faites pour les scripts :apt-get install -ydans un script d'installation,aptdans un terminal.1 option expliquée · aucune leçon
Le gestionnaire de paquets bas niveau : installe un
.deb, liste ce qui est installé (dpkg -l), dit à quel paquet appartient un fichier (dpkg -S). Il ne résout pas les dépendances — c'est le travail d'apt.6 options expliquées · 4 leçons
Repose les questions de configuration d'un paquet installé — le fuseau horaire, les locales, le clavier. C'est la façon prévue de changer ce que l'installation a demandé une fois.
1 option expliquée · aucune leçon
L'interpréteur JavaScript qui fait tourner les applications des cours d'hébergement.
node --versionest la première chose à comparer entre la machine où ça marche et celle où ça ne marche pas.2 options expliquées · 2 leçons
Le gestionnaire de paquets de Node.
npm ciinstalle exactement ce quepackage-lock.jsondécrit, ce quenpm installne garantit pas — et c'estciqu'un déploiement doit appeler.2 options expliquées · 4 leçons
Installe des paquets confinés et mis à jour automatiquement par Canonical. Les mises à jour se retardent plus qu'elles ne se désactivent — à savoir avant d'installer un service ainsi sur un serveur.
2 options expliquées · 1 leçon
Transfert et archives
Décompresse un
.gz, en remplaçant l'archive par le fichier.gunzip -cécrit sur la sortie standard sans toucher à l'archive, ce qui permet de lire un journal tourné sans le décompresser sur disque.1 option expliquée · 1 leçon
Compresse un fichier en le remplaçant par sa version
.gz.gzip -kgarde l'original ; sans, il disparaît, ce qui surprend la première fois sur un journal encore ouvert.2 options expliquées · 2 leçons
rsync
À manier avec soinSynchronise deux arborescences en ne transférant que les différences, localement ou à travers SSH.
-aconserve permissions, dates et liens ;-nrépète sans rien écrire, et c'est par lui qu'il faut commencer.9 options expliquées · 6 leçons
Calcule ou vérifie l'empreinte SHA-256 d'un fichier.
sha256sum -ccompare un téléchargement à l'empreinte publiée — la seule preuve que le fichier reçu est celui annoncé.1 option expliquée · 1 leçon
Regroupe une arborescence en un seul fichier, et le défait. Sans
--acls --xattrs, il perd les ACL ; sans-pà l'extraction, les permissions suivent votreumasket non l'archive.10 options expliquées · 2 leçons
Chiffrement
Chiffre, signe et vérifie des fichiers avec des clés publiques. Ici, il chiffre les sauvegardes avant qu'elles quittent la machine et vérifie les signatures des paquets — deux usages où la clé privée doit être sauvegardée ailleurs, sinon la sauvegarde chiffrée ne vaut rien.
19 options expliquées · 1 leçon
Sessions de terminal
Une session de terminal qui survit à la déconnexion : ce qui tourne dedans continue quand SSH tombe, et se retrouve avec
tmux attach. Pour une opération longue lancée à la main, c'est l'assurance qu'une coupure réseau ne la tuera pas.4 options expliquées · 1 leçon
Conteneurs
docker
À manier avec soinConstruit et fait tourner des conteneurs.
docker ps,docker logsetdocker execsont le trio du dépannage ;docker composedécrit plusieurs conteneurs dans un fichier plutôt que dans une ligne de commande de deux cents caractères.20 options expliquées · 7 leçons
Bases de données
dropdb
À manier avec soinSupprime une base de données entière.
--if-existsévite l'erreur quand elle n'existe pas, ce qui rend un script réexécutable — et rend aussi la commande silencieuse.1 option expliquée · aucune leçon
Le client interactif de MariaDB, l'équivalent de
psql.mariadb -eexécute une requête depuis un script ;SHOW DATABASESetSHOW GRANTSsont les deux premières choses à regarder sur un serveur inconnu.1 option expliquée · 1 leçon
Exporte une base MariaDB en SQL.
--single-transactionobtient une copie cohérente des tables InnoDB sans les verrouiller, ce qu'une sauvegarde sur un service en production exige.5 options expliquées · 1 leçon
Exporte une base en SQL ou en format archive, de façon cohérente, sans arrêter le service. C'est la sauvegarde logique ; tant qu'une restauration n'a pas été essayée, ce n'est qu'un fichier.
2 options expliquées · 2 leçons
Exporte toutes les bases et ce que
pg_dumpne prend pas : les rôles et leurs mots de passe.pg_dumpall --globals-onlyà côté d'unpg_dumppar base est la combinaison qui restaure vraiment.1 option expliquée · 1 leçon
Dit si un serveur PostgreSQL accepte les connexions, par un code de sortie. C'est le test de disponibilité d'un script de déploiement ou d'un
healthcheck, sans mot de passe ni requête.1 option expliquée · aucune leçon
pg_restore
À manier avec soinRestaure une archive
pg_dump -Fc, en tout ou en partie (-tune table).-lliste le contenu de l'archive sans rien restaurer ; c'est par là qu'on commence.1 option expliquée · 1 leçon
Le client interactif de PostgreSQL.
psql -cexécute une requête depuis un script ;\l,\dtet\durépondent aux trois premières questions — quelles bases, quelles tables, quels rôles.6 options expliquées · 12 leçons
