Apt

  • apt-cache policy (package)
    
    • Permet de déterminer à partir de quel dépôt est installé / téléchargé un paquet. Ainsi, si jamais plusieurs dépôts proposent le même paquet, il est possible de savoir celui qui aura la plus haute priorité.
  • apt-cache show (package)
    
    • Permet d’obtenir les métadonnées d’un paquet.

Grub

  • /etc/default/grub
      
    GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
    
    • Permet de forcer le nommage des interfaces réseau en ethX plûtot que enpXsX. Les interfaces en enpXsX sont succeptibles de changer aléatoirement en cas de modification matérielle ou montée de version logicielle.
  • /etc/default/grub
      
    GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"
    GRUB_TERMINAL="console serial"
    GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
      
    update-grub
    update-initramfs -u -k all
      
    sudo systemctl enable serial-getty@ttyS0.service
    
    • Permet d’activer GRUB / un shell sur le port console.

LVM

  • lvmconfig --validate
    
    • Permet de vérifier la syntaxe de configuration du fichier /etc/lvm/lvm.conf

Bash

  • ~/.bashrc
      
    export HISTSIZE=-1
    export HISTFILESIZE=-1
    export HISTTIMEFORMAT="%F %T "
    export PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
    shopt -s histappend
    
    • Permet de sauvegarder de manière illimitée l’historique bash.
  • grep -rnw '/path/où/chercher/' -e "string"
    
    • Permet de chercher une string de manière récursive dans un dossier voulu.

Proxmox

  • bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/kernel-clean.sh)"
    
    • Permet de désinstaller les anciennes versions du noyau Linux qui subsistent en cas de mise à jour Proxmox.

Git

  • git rebase -i sha256commit(^)
    EDITOR=nano git rebase -i --root
    
    • Permet de lancer un rebase interactif à partir du commit indiqué (^ indique son parent) ou bien à partir de la racine (–root)
  • git fetch --all
    git reset --hard origin/main
    
    • Permet de forcer git à revenir à la version sur le serveur (pour annuler les modifications locales)

Qemu

  • qemu-img convert -f vmdk -O qcow2 source.vmdk destination.qcow2
    
    • Permet de convertir une image de disque virtuelle VMDK en QCOW2.
  • virt-sparsify --tmp /tmp_folder_with_disk_size_free_space/ --compress entree.qcow2 sortie.qcow2
    
    • Permet de nettoyer une image qcow2, avec zerofree puis compression et export.

VirtualBox

  • VBoxManage modifymedium disk "/chemin/vers/image/disque" --compact
    
    • Permet de compacter un fichier d’image disque
  • zerofree -v /dev/sdaX
    
    • Permet de remplir de zéros les emplacements vides d’un disque dur Linux formaté en ext4.

systemd

  • systemctl list-jobs
    systemctl list-units --type=service --state=activating
    
    • Identifier les services qui sont en cours de démarrage, pouvant bloquer le démarrage complet de l’hôte.

      systemctl status mon-service.service
      journalctl -u mon-service.service -f
      
      • Permet d’approfondir pourquoi un service ne démarre pas en regardant l’intégralité de ses logs.
  • systemctl --failed
    
    • Identifier les services qui sont en cours d’échec (état général visible viasystemctl status).

      sudo systemctl reset-failed
      
      • Permet de réinitialiser l’état d’une unit considérée comme failed.
  • systemd-analyze
    systemd-analyze blame # Liste les services les plus longs à démarrer
    systemd-analyze critical-chain # Affiche la chaîne critique avec le service précis qui bloque la séquence
    systemd-analyze plot > boot.svg # exporte au format svg la chaîne de démarrage
    systemctl list-dependencies nom-du-service # Affiche l'arbre de dépendances d'un service lent
    
    • Permet d’analyser le temps de démarrage d’un système Linux.
  • journalctl # permet de voir du début à la fin
    journalctl -b # permet de voir les logs du boot
    journalctl -b -1 # permet de voir les logs du boot précédent
    journalctl -r # permet de voir de la fin au début
    journalctl -f # permet de voir en temps réel
    journalctl -u nomduservice # permet de scoper un service spécifique
    journalctl -n 50 # permet d'afficher les 50 premières lignes
    journalctl --since "1 hour ago" --until "2 days ago" # permet de ciber une période de temps
    journalctl -p err # permet de voir uniquement les erreurs (emerg, alert, crit, err, warning, notice, info, debug)
    journalctl -k # permet de voir les logs noyau (dmesg)
    journalctl --no-pager # désactive la pagination
    journalctl -o json-pretty # active une sortie json pretty
    
    • Permet de voir et naviguer dans les logs d’un système Linux.

openssh

  • ~/.ssh/config
      
    Host monserveur
            HostName mon.serveur.fr
            User utilisateur
            ForwardAgent yes
    
    • Permet de pré-définir / enregistrer des paramètres de session SSH pour voir se connecter en une seule commande rapidement.
    • ForwardAgent yes permet de passer l’agent SSH du client vers l’hôte pour transférer les clés SSH entre les deux.

Linux

  • cat /proc/cmdline
    
    • Permet d’afficher les arguments de lancement initramfs / dracut du noyau linux actuellement démarré.
  • /etc/default/keyboard
    
    • Permet de modifier le keyboard layout d’une console.
      • Il faut ensuite exécuter la commande setupcon pour appliquer.
  • apt install parted -y
    partprobe /dev/sda
    
    • Permet d’actualiser la table de partitions sans avoir à redémarrer le linux.

NetworkManager

  • systemctl mask NetworkManager-wait-online.service
    
    • Permet de désactiver l’attente que NetworkManager ai un réseau de monté pour continuer le boot du linux. Utile sur un serveur mais inutile sur un desktop.

Distrobox

Plein de commandes sans explication pour distrobox. Superbe outil permettant de faire tourner des distributions Linux dans des conteneurs avec le forward X11 etc nativement gérés.

  • distrobox create --name mabox --image ubuntu:26.04
    distrobox create --name mabox2 --clone box
    distrobox create --home /chemin/home/personnalisé
    distrobox create --root --name test
    distrobox create --name unshared --unshare-netns --unshare-dev --unshare-ipc --unshare-process --unshare-all
    distrobox create --name nopassword --absolutely-disable-root-password-i-am-really-positively-sure
    distrobox create --name avecsystemd --init --aditionnal-packages "systemd"
      
    distrobox enter mabox
    distrobox enter mabox -- htop
      
    distrobox ls
    distrobox stop mabox
    distrobox rm mabox
    distrobox upgrade --all
      
    distrobox-export --app vlc
    distrobox-export --bin /usr/bin/htop --export-path ~/.local/bin
    distrobox-export --service syncthing
    distrobox-export --app vlc --delete
      
    distrobox-host-exec flatpak run org.mozilla.firefox
    sudo ln -s /usr/bin/distrobox-host-exec /usr/local/bin/docker
      
    distrobox-ephemeral -i alpine:latest