Catégorie : Linux

7 janvier 2019 /

Petit mémo pour personnaliser htop

1. On commence par vider le fichier de configuration de htop
> ~/.config/htop/htoprc
2. Puis on édite le fichier pour y ajouter le texte ci-dessous
vi ~/.config/htop/htoprc

# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
fields=0 48 2 46 47 49 1
sort_key=47
sort_direction=1
hide_threads=0
hide_kernel_threads=1
hide_userland_threads=1
shadow_other_users=1
show_thread_names=1
show_program_path=1
highlight_base_name=1
highlight_megabytes=1
highlight_threads=1
tree_view=1
header_margin=1
detailed_cpu_time=0
cpu_count_from_zero=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=5
delay=15
left_meters=LeftCPUs2 Memory CPU
left_meter_modes=1 1 3
right_meters=RightCPUs2 Tasks CPU
right_meter_modes=1 2 4

Explication des options principales

  • fields=0 48 2 46 47 49 1 : colonnes affichées (User, Nice, Priority, Processor, %CPU, %MEM, Command, etc.). L’ordre est personnalisé.
  • sort_key=47 + sort_direction=1 : tri par défaut sur la colonne %CPU, en ordre décroissant.
  • hide_kernel_threads=1 et hide_userland_threads=1 : masque les threads kernel et userland pour une vue plus propre (seuls les processus principaux visibles).
  • hide_threads=0 : permet quand même d’afficher les threads avec la touche t si besoin.
  • shadow_other_users=1 : atténue (gris) les processus des autres utilisateurs.
  • show_program_path=1 : affiche le chemin complet du programme au lieu du nom seul.
  • highlight_base_name=1 : met en évidence le nom de l’exécutable dans la colonne Command.
  • tree_view=1 : affiche les processus en arbre (parent/enfant) par défaut (touche F5 pour basculer).
  • header_margin=1 : ajoute un espace sous l’en-tête (plus aéré).
  • color_scheme=5 : thème de couleurs « Monokai » (très populaire, fond noir, couleurs vives).
  • delay=15 : rafraîchissement toutes les 1,5 secondes (valeur par défaut).
  • Meters gauche : CPU par cœur (barres séparées), Mémoire, CPU global (pourcentage).
  • Meters droite : CPU par cœur (barres séparées), Tâches (total, running, etc.), CPU global (graphique).
27 décembre 2018 /
1. Couper le son
pactl set-sink-mute 0 true
2. Activer le son
pactl set-sink-mute 0 false
3. Augmenter le son de 10 %
pactl set-sink-volume 0 +10%
4. Réduire le son de 10 %
pactl set-sink-volume 0 -10%
5. Mettre le son à 50 %
pactl set-sink-volume 0 50%
Le 0 correspond à l’ID du sink (sortie audio) par défaut.
Pour connaître l’ID exact ou le nom de ton sink (utile si tu as plusieurs cartes ou sorties HDMI, Bluetooth, etc.),tu peux toutes les lister avec la commande suivante:
pactl list short sinks
Cela affiche une liste courte et claire:
 
0   alsa_output.pci-0000_00_1f.3.analog-stereo   module-alsa-card.c   s16le 2ch 44100Hz   RUNNING
Tu peux alors remplacer 0 par le numéro ou le nom complet :
pactl set-sink-volume alsa_output.pci-0000_00_1f.3.analog-stereo +10%
28 septembre 2018 /

Augmentation d’un Swap LVM

Désactiver le swap
swapoff -v /dev/mapper/STARMATE--vg-swap
Augmenter la taille du volume logique (exemple : +15 Go)
lvm lvresize /dev/mapper/STARMATE--vg-swap -L +15G
(Tu peux adapter la taille : +10G, +20G, etc., selon l’espace libre dans ton VG.)
Reformater le swap
mkswap /dev/mapper/STARMATE--vg-swap
Réactiver tous les swaps
swapon -va
Vérifier la nouvelle taille
cat /proc/swaps
free -h

Réduction d’un Swap LVM

Désactiver le swap
swapoff -v /dev/mapper/STARMATE--vg-swap
Réduire la taille du volume logique (exemple : -15 Go)
lvm lvreduce /dev/mapper/STARMATE--vg-swap -L -15G
Attention importante : la réduction est dangereuse si tu réduis trop. LVM te demandera une confirmation. Vérifie toujours l’espace utilisé avec swapon –show avant.
Reformater le swap
mkswap /dev/mapper/STARMATE--vg-swap
Réactiver tous les swaps
swapon -va
Vérifier la nouvelle taille
cat /proc/swaps
free -h

 

 

11 août 2018 /
1. Créer un fichier de 10 Mo (instantané)
dd if=/dev/zero of=10M.bin bs=1024 count=0 seek=$[1024*10]
2. Créer un fichier de 100 Mo (instantané)
dd if=/dev/zero of=100M.bin bs=1024 count=0 seek=$[1024*100]
3. Créer un fichier de 1 Go (instantané)
dd if=/dev/zero of=1G.bin bs=1024 count=0 seek=$[1024*1024]
Explication du principe :

  • count=0 → on n’écrit aucun bloc réel.
  • seek=… → on avance le pointeur de fichier à la taille souhaitée.
  • Résultat : le fichier apparaît comme ayant la taille demandée (ls -lh), mais il n’occupe presque aucun espace physique sur le disque tant qu’on n’y écrit pas vraiment de données (c’est un sparse file).
  • Instantané, même pour des dizaines de Go.

Vérification :

ls -lh *.bin          # Taille affichée
ls -lhS *.bin         # Taille réelle occupée sur disque (très petite)
du -h *.bin           # Espace réellement utilisé
Depuis bash 4+ et dd récent, tu peux utiliser des suffixes directs (plus clair, pas de calcul manuel) :

# 10 Mo
dd if=/dev/zero of=10M.bin bs=1 count=0 seek=10M

# 100 Mo
dd if=/dev/zero of=100M.bin bs=1 count=0 seek=100M

# 1 Go
dd if=/dev/zero of=1G.bin bs=1 count=0 seek=1G

# 10 Go en une ligne
dd if=/dev/zero of=10G.bin bs=1 count=0 seek=10G
Alternative avec truncate (encore plus simple et portable) :
truncate -s 10M 10M.bin
truncate -s 100M 100M.bin
truncate -s 1G 1G.bin
truncate -s 10G 10G.bin
truncate est souvent plus direct et disponible partout.

 

9 mai 2018 /
1. Ignorer certaines commandes dans l’historique
echo 'HISTIGNORE="&:[ ]*:[ls]:*:exit:pwd:clear:history"' >> ~/.bashrc

Amélioration :

  • Utilise ~/.bashrc au lieu de ~/.profile (plus adapté pour les variables Bash interactives).
  • Ajoute [ ]* pour ignorer aussi les commandes commençant par des espaces (redondant avec ignorespace, mais explicite).
  • Guillemets simples pour éviter les problèmes d’échappement.
  • Le signe « & » permet d’éviter d’enregistrer deux commandes successives identiques.
Résultat : ne sauvegarde jamais ls, ps aux, exit, pwd, clear, history, ni les doublons consécutifs (&).
2. Ignorer les commandes commençant par espace + supprimer tous les doublons
echo 'HISTCONTROL=ignorespace:ignoredups:erasedups' >> ~/.bashrc

Explication et amélioration :

  • ignorespace : commande précédée d’un espace ne sera pas enregistrée.
  • ignoredups : ignore les doublons consécutifs.
  • erasedups : supprime tous les doublons dans l’historique (même non consécutifs) pour un historique ultra-propre.

Les trois combinés sont parfaits pour un historique clair et confidentiel.

3. Afficher la date et l’heure avec history:
echo 'HISTTIMEFORMAT="[%a %d %b %Y %T] "' >> ~/.bashrc
 1001  [mar 16 déc 2025 14:32:10] ls -la
 1002  [mar 16 déc 2025 14:35:22] sudo apt update
Très lisible : jour de la semaine, date, mois, année, heure complète.
4. Augmenter fortement la taille de l’historique:
echo 'HISTSIZE=100000' >> ~/.bashrc
echo 'HISTFILESIZE=100000' >> ~/.bashrc

Recommandation raisonnable :

  • 500 000 est énorme (fichier ~/.bash_history de plusieurs Mo).
  • 100 000 est déjà excellent pour un usage intensif (plusieurs années de commandes).
  • Si tu veux vraiment tout garder : 500000 reste acceptable sur un disque moderne.

Bonus très utile, forcer la synchronisation immédiate de l’historique (pour ne rien perdre en cas de crash ou plusieurs sessions) :

echo 'shopt -s histappend' >> ~/.bashrc
echo 'PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"' >> ~/.bashrc
  • histappend : ajoute à la fin du fichier au lieu d’écraser.
  • PROMPT_COMMAND : écrit immédiatement chaque commande dans le fichier et recharge l’historique partagé entre toutes les sessions.
Ajoute ce bloc unique pour tout faire d’un coup :
vi ~/.bashrc
# Historique Bash amélioré
HISTCONTROL=ignorespace:ignoredups:erasedups
HISTIGNORE="&:[ ]*:[ls]:*:exit:pwd:clear:history"
HISTTIMEFORMAT="[%a %d %b %Y %T] "
HISTSIZE=100000
HISTFILESIZE=100000
shopt -s histappend
PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"

Appliquer immédiatement:

source ~/.bashrc