Publiée le 2026-09-05 05:07:25
Illustration Linux pour la commande strace-log-merge

strace-log-merge


# Définis le répertoire où se trouvent tes logs strace
LOG_DIR="/var/log/strace"

# Vérifie si le répertoire existe, sinon tu ne peux rien faire
if [ ! -d "$LOG_DIR" ]; then
echo "Erreur: Le dossier $LOG_DIR n'existe pas." >&2
exit 1
fi

# Trouve tous les fichiers de logs potentiels (ex: STRACE_LOG.PID)
find "$LOG_DIR" -name "STRACE_LOG.*" | while read LOGFILE; do
# Extrait le PID du nom du fichier pour l'utiliser comme préfixe
FILENAME=$(basename "$LOGFILE")
PID=$(echo "$FILENAME" | sed -E 's/STRACE_LOG\.([0-9]+)\.log/\1/')

# Vérifie si un PID a été trouvé et s'il y a du contenu dans le fichier
if [[ ! -z "$PID" ]] && [ -s "$LOGFILE" ]; then
echo "--- Traitement du log pour le processus $PID ---"

# Lit chaque ligne du fichier de log
cat "$LOGFILE" | while read LINE; do
# Ajoute un préfixe PID et une marqueur de séparation au début de la ligne
echo "[PID:$PID] $LINE"
done
fi
done |

# Pipe tout le résultat combiné vers 'sort' pour trier chronologiquement
# Ceci est crucial car les logs viennent de sources différentes.
sort -k1,2 |

# Optionnel : Affiche un en-tête clair au début du résultat final
echo "--- Résultat fusionné et trié des logs strace ---"

nc

Linux
Publiée le 2026-09-05 05:03:03
Illustration Linux pour la commande nc

netcat

# Pour tester une connexion TCP simple vers un hôte et un port spécifiques
nc -v 127.0.0.1 80

# Écouter sur le port 9999 en mode TCP (le plus commun)
nc -l -p 9999

# Écouter sur UDP au lieu de TCP
nc -u -l -p 53

# Se connecter à un hôte, mais couper la connexion après 3 secondes si rien ne se passe
nc -w 3 google.com 80

# Envoyer une chaîne de caractères spécifique (ex: un identifiant) et fermer
echo "admin_user" | nc -w 1 target.local 22

# Écouter sur le port 80, mais limiter l'écoute à l'interface locale (localhost)
nc -l -p 80 -s 127.0.0.1

# Se connecter et envoyer des données en continu depuis ton terminal jusqu'à ce que tu appuies sur Ctrl+C
nc target.local 80

# Tester une connexion TCP avec un délai d'attente de 5 secondes pour la déconnexion
nc -w 5 example.com 443

# Écouter et ne pas se soucier du timeout (utile pour les tests longs)
nc -l -p 12345

# Forcer le protocole UDP pour un test de service DNS
nc -u -v google.com 53

# Se connecter à un hôte en spécifiant explicitement l'adresse source si nécessaire
nc -s 192.168.1.1 target.local 80

# Utiliser netcat pour transférer des données simples entre deux machines (si elles sont sur le même réseau)
nc machine_a machine_b 5000

# Écouter en mode TCP et rediriger l'entrée standard vers ce port
nc -l -p 22 < /dev/stdin

# Tester une connexion qui devrait échouer après un court délai (timeout rapide)
nc -w 1 non_existent_host 80

# Se connecter à un service spécifique en utilisant la syntaxe d'adresse:port
nc -x target.local:23

# Écouter sur plusieurs ports différents pour des tests de services multiples
nc -l -p {80,443}

getty

Linux
Publiée le 2026-09-04 05:40:15
Illustration Linux pour la commande getty

getty

# Test de base en mode 8 bits sur un port spécifique
getty -8 /dev/ttyS0

# Connexion avec autologin pour l'utilisateur 'admin'
getty --autologin admin /dev/ttyS1

# Démarrer sans réinitialiser le mode de contrôle du terminal
getty --noreset /dev/ttyS2

# Utiliser un hôte distant spécifié par son nom
getty -E --host serveur_distant /dev/ttyS3

# Afficher les fichiers d'erreur et terminer la session
getty --show-issue /dev/ttyS4

# Ne pas afficher le fichier issue habituel
getty --noissue /dev/ttyS5

# Ne pas effacer l'écran avant de demander l'identifiant
getty --noclear /dev/ttyS6

# Spécifier un programme de connexion personnalisé
getty --login-program /bin/mon_script_login /dev/ttyS7

# Contrôler les attributs de la ligne locale (exemple)
getty --local-line=/dev/ttyS8 /dev/ttyS9

# Ne pas demander d'identifiant de connexion (skip login)
getty --skip-login /dev/ttyS10

# Activer le contrôle de flux matériel
getty --flow-control /dev/ttyS11

# Tester l'extraction de la vitesse en baud
getty --extract-baud /dev/ttyS12
Publiée le 2026-09-04 05:35:50
Illustration Linux pour la commande systemctl

systemctl


# Vérifie le statut général du système et des services critiques
systemctl status

# Liste tous les types d'unités chargés en mémoire
systemctl list-units --all

# Affiche uniquement les unités de type service qui sont actives
systemctl list-units --type=service --state=active

# Vérifie si un service spécifique est bien actif (ex: sshd)
systemctl is-active sshd.service

# Vérifie s'il y a des services ou des composants ayant échoué
systemctl is-failed

# Affiche les propriétés détaillées d'une unité donnée (ex: apache2)
systemctl show apache2.service

# Montre le contenu de la définition et des drop-ins pour un service
systemctl cat docker.service

# Arrête proprement un service spécifique
systemctl stop nginx.service

# Redémarre un service après une modification de config, par exemple
systemctl restart mariadb.service

# Démarre un service qui est arrêté
systemctl start cups.service

# Vérifie si le système est en état dégradé (état général)
systemctl is-system-running

# Liste toutes les unités de type socket actuellement chargées
systemctl list-sockets

# Liste tous les timers planifiés sur le système
systemctl list-timers

# Affiche l'aide complète pour la commande systemctl elle-même
systemctl help

# Vérifie si un service est en cours d'exécution ou non (statut rapide)
systemctl is-enabled sshd.service

# Liste les unités de type automount actuellement chargés
systemctl list-automounts

# Affiche le statut des jobs système (si applicable)
systemctl status --job=user@$(id -u).service
Publiée le 2026-09-04 05:31:37
Illustration Linux pour la commande libpng16-config

libpng16-config


# Vérifie la syntaxe et affiche l'aide pour savoir quoi faire
libpng16-config --help

# Affiche la version installée de la librairie, utile pour le débogage
libpng16-config --version

# Détermine le préfixe d'installation (ex: /usr/local)
echo "Prefix : $(libpng16-config --prefix)"

# Récupère le chemin où les fichiers .so de la librairie sont stockés
echo "Lib directory : $(libpng16-config --libdir)"

# Affiche toutes les informations nécessaires pour lier (linking) ton programme
echo "Linking info : $(libpng16-config --libs)"

# Récupère les options du compilateur (pour le flag -I, etc.)
echo "Compiler flags : $(libpng16-config --ccopts)"

# Affiche les chemins d'inclusion nécessaires pour ton préprocesseur
echo "Include paths : $(libpng16-config --cppflags)"

# Récupère les options de compilation spécifiques (pour le flag -c)
echo "C flags : $(libpng16-config --cflags)"

# Affiche les chemins d'inclusion pour ton compilateur C
echo "Include paths C : $(libpng16-config --I_opts)"

# Récupère les options de liaison (linker) pour la dépendance dynamique (-L)
echo "Linker flags L : $(libpng16-config --L_opts)"

# Affiche le chemin de runtime nécessaire après l'installation (-rpath)
echo "Runtime path : $(libpng16-config --R_opts)"

# Récupère les options de liaison spécifiques pour ton linker (ldflags, etc.)
echo "Linker flags complets : $(libpng16-config --ldflags)"

# Génère toutes les options nécessaires si tu dois faire un lien statique
libpng16-config --static
Publiée le 2026-09-04 05:27:35
Illustration Linux pour la commande lwp-dump

lwp-dump

# Utilisation de base pour récupérer le contenu d'une URL simple
lwp-dump https://example.com/page

# Récupérer la page en spécifiant une méthode POST et l'URL
lwp-dump --method POST https://api.test.com/submit

# Limiter la taille du contenu récupéré à 500 caractères
lwp-dump --max-length 500 https://example.org/short

# Simuler un agent utilisateur spécifique pour le dump
lwp-dump --agent "MonSuperBot/1.0" https://sitecible.net

# Récupérer les en-têtes de réponse et analyser leur structure
lwp-dump --parse-head https://api.example.com/status

# Conserver tous les headers clients dans la requête pour le débogage
lwp-dump --keep-client-headers https://siteavecheaders.com

# Combinaison : POST, agent spécifique et limitation de longueur
lwp-dump --method POST --agent "TestBot" --max-length 100 https://formulaire.test/submit

# Tester une URL avec un grand nombre de caractères (limite max)
lwp-dump --max-length 2000 https://longurlexample.com

# Récupérer le contenu en utilisant la méthode GET par défaut
lwp-dump https://www.google.com/search?q=test

# Forcer une requête avec un agent et analyser les headers
lwp-dump --agent "AdminTool" --parse-head https://api.example.com/data

# Utiliser l'option --request pour spécifier un type de contenu (si supporté)
lwp-dump --request "application/json" https://api.example.com/data

# Exécuter une requête POST avec des données simulées et garder les headers clients
lwp-dump --method POST --keep-client-headers https://endpoint.test/submit

# Vérifier le contenu d'une page en spécifiant un agent très précis
lwp-dump --agent "CustomCrawler_v2" https://targetsite.com

# Récupérer les 750 premiers caractères et analyser les headers
lwp-dump --max-length 750 --parse-head https://example.net/article

# Tester une requête GET avec un agent pour simuler un bot légitime
lwp-dump --agent "MyCoolBot" https://blog.site.com/post123

pkcon

Linux
Publiée le 2026-09-04 05:23:15
Illustration Linux pour la commande pkcon

pkcon

# Affiche l'aide générale pour la commande pkcon
pkcon --help

# Liste toutes les options disponibles pour le programme
pkcon --help-all

# Vérifie et affiche la version de PackageKit
pkcon --version

# Prépare une transaction en téléchargeant uniquement les métadonnées des paquets (sans rien installer)
pkcon --only-download

# Installe un paquet sans demander de confirmation interactive
pkcon -y install nom_du_paquet

# Lance la commande d'installation ou de mise à jour en mode arrière-plan (faible consommation)
pkcon -n update

# Nettoie automatiquement les dépendances inutilisées après une mise à jour
pkcon --autoremove

# Permet le déclassement des paquets lors de l'opération
pkcon --allow-downgrade install nom_du_paquet

# Autorise la réinstallation d'un paquet même s'il est déjà présent
pkcon --allow-reinstall update

# Exécute une opération en mode "plain" pour un affichage scriptable
pkcon -p check

# Détecte et affiche les paquets qui sont déjà installés sur le système
pkcon --filter installed

# Force la mise à jour du cache de métadonnées (recharge complète)
pkcon -c 1 update

# Installe un paquet provenant d'une source non vérifiée ou "non fiable"
pkcon --allow-untrusted install nom_du_paquet

# Exécute une opération avec des informations de débogage détaillées
pkcon -v check

# Tente de télécharger et vérifier les paquets en utilisant uniquement le cache local (pas de réseau)
pkcon -c 0 update

# Vérifie l'état du système sans rien modifier, mais en mode non interactif
pkcon -y status

Xvfb

Linux
Publiée le 2026-09-04 05:19:03
Illustration Linux pour la commande Xvfb

xserver config

# Désactiver les restrictions de contrôle d'accès pour le serveur X
xrandr --set-access-control disabled

# Configurer l'accélération du pointeur à un facteur spécifique (ex: 1.5)
xinput set-accel-factor 1.5

# Définir le niveau de traçage d'audit pour les événements système
xorg -configure --audit 3

# Sélectionner un fichier d'autorisation spécifique pour la connexion
xauth --create-host $DISPLAY ~/.Xauthority

# Créer une fenêtre racine avec un fond noir
xdotool windowactivate --root black

# Activer le support de tout type de magasin arrière (backing store)
xsetroot -bs on

# Désactiver l'affichage du curseur pour économiser des ressources
xinput set-prop "Cursor" "Pointer Enabled" 0

# Définir la résolution de l'écran en DPI spécifique (ex: 96)
xrandr --dpi 96

# Désactiver le contrôle DPMS VESA sur le moniteur principal
xset +DPMS no

# Ajuster le volume du clic de touche à un niveau modéré (50)
xinput set-prop "Keyboard" "Click Volume" 50

# Définir la classe visuelle par défaut des couleurs (ex: 2)
xresources --define "Xft.dpi:96"

# Générer un dump core en cas d'erreur fatale du serveur X
ulimit -c unlimited

# Spécifier un descripteur de fichier pour le numéro d'affichage
export DISPLAY_FD=10

# Reporter le chargement des glyphes 16 bits au démarrage
xftpd --defer-glyphs all

# Configurer les clients en cas d'endianness différente du serveur (autoriser)
xsetlocal -byteswappedclients allow

# Tester la connexion avec un autre utilisateur et autorisations spécifiques
su - user_test xinit /etc/X11/xinitrc

# Nettoyer l'environnement de travail X avant le redémarrage
pkill -H kill Xorg
Publiée le 2026-09-04 05:15:12
Illustration Linux pour la commande google-earth-pro

x11 troubleshooting et accès graphique

# Vérifie si le serveur X est en cours d'exécution
pkill -0 Xorg 2>/dev/null || echo "Xorg n'est pas actif."

# Affiche les variables d'environnement actuelles pour vérifier DISPLAY
env | grep DISPLAY

# Définit la variable DISPLAY pour pointer vers l'écran local (si non défini)
export DISPLAY=:0

# Permet à tous les clients de se connecter au serveur X (attention sécurité !)
xhost +local:

# Vérifie si le client peut accéder au serveur X avec xeyes
xeyes

# Lance une horloge graphique pour tester la connexion X11
xclock -query

# Génère un fichier d'autorisation Xauth pour sécuriser l'accès
xauth list $DISPLAY

# Récupère les informations de l'utilisateur actuel sur le serveur X
whoami | xargs printf "Utilisateur : %s\n"

# Tente de lancer une application graphique simple (ex: compteur)
xcalc &

# Nettoie les autorisations Xhost pour rétablir la sécurité par défaut
xhost -

# Vérifie l'état des périphériques graphiques disponibles
lspci -k | grep -A2 -i "VGA"

# Lance un test de connexion graphique avec une fenêtre simple (si disponible)
gedit --version 2>/dev/null || echo "Gedit non trouvé, vérifie tes paquets."

# Réinitialise les variables d'environnement X11 pour repartir sur des bases propres
unset DISPLAY XAUTHORITY
Publiée le 2026-09-04 05:11:31
Illustration Linux pour la commande gdbus-codegen

gdbus-codegen

# Génère le code C complet à partir d'un fichier XML D-Bus
gdbus-codegen my_interface.xml --generate-c-code output_full.h

# Ne génère que la partie header du code, utile pour l'inclusion
gdbus-codegen my_interface.xml --generate-c-code --header output_header.h

# Génère le corps de la fonction (body) en séparant les fichiers
gdbus-codegen my_interface.xml --generate-c-code --body output_body.c

# Définit un préfixe pour toutes les interfaces générées
gdbus-codegen my_interface.xml --interface-prefix MyService

# Spécifie l'espace de noms C que le code doit utiliser
gdbus-codegen my_interface.xml --c-namespace com_example

# Génère la documentation au format Markdown pour ton projet
gdbus-codegen my_interface.xml --generate-md doc/my_interface.md

# Génère la documentation en DocBook (format XML)
gdbus-codegen my_interface.xml --generate-docbook doc/my_interface.book

# Ajoute des annotations spécifiques au code généré
gdbus-codegen my_interface.xml --annotate SERVICE_NAME "MyService" VERSION 1.0

# Force la génération du code en utilisant le pragma once pour éviter les redéfinitions
gdbus-codegen my_interface.xml --pragma-once output_unique.h

# Limite la version de GLib minimale requise par le code généré
gdbus-codegen my_interface.xml --glib-min-required 2.40

# Spécifie un répertoire de sortie pour tous les fichiers générés
gdbus-codegen my_interface.xml --output-directory ./generated_code

# Génère le code en spécifiant explicitement l'emplacement du fichier XML
gdbus-codegen /path/to/my_service.xml --generate-c-code output.h

# Combine plusieurs options pour un build complet et documenté
gdbus-codegen my_interface.xml \
--interface-prefix ComPrefix \
--c-namespace com_app \
--generate-md doc/readme.md \
--output ./project_root
Page 55 sur 56 — 553 news au total