Catégorie : Mémo

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
29 avril 2018 /
1. Installation de yt-dlp :
sudo apt update
sudo apt install python3-pip ffmpeg -y 
pip3 install --upgrade yt-dlp
2. Télécharger l’audio en MP3 de meilleure qualité
yt-dlp -x --audio-format mp3 --audio-quality 0 https://www.youtube.com/watch?v=I_rVtFUkMus

Explication :

  • -x : extrait uniquement l’audio (pas de vidéo).
  • –audio-format mp3 : convertit directement en MP3 (utilise ffmpeg).
  • –audio-quality 0 : meilleure qualité possible (VBR ~320 kbps).

Le fichier sera sauvegardé dans le dossier courant avec comme nom le titre de la vidéo.

3. Alias simple pour télécharger directement dans ~/Musique
vi ~/.bashrc

Et à la fin du fichier on met:

echo "alias mp3='yt-dlp -x --audio-format mp3 --audio-quality 0 -o \"~/Musique/%(title)s.%(ext)s\"'" >> ~/.bashrc

Puis on recharge le fichier

source ~/.bashrc

Utilisation ensuite :
mp3 https://www.youtube.com/watch?v=I_rVtFUkMus
Bonus : télécharger une playlist entière en MP3
yt-dlp -x --audio-format mp3 --audio-quality 0 --yes-playlist URL_DE_LA_PLAYLIST
27 avril 2018 /

1) Pour commencer nous allons arrêter le domaine que nous souhaitons migrer

virsh shutdown nom_VM

ou si elle ne repond pas

virsh destroy nom_VM

2) Sur l’hyperviseur source, nous allons exporter la configuration du domaine dans un fichier xml:

virsh dumpxml nom_VM > nom_VM.xml

3 ) Toujours sur l’hyperviseur source, on copie le ou les fichiers disques du domaine que l’on souhaite migrer, depuis son emplacement dans /var/lib/libvirt/images vers le même répertoire sur l’hyperviseur de destination.

scp -p /var/lib/libvirt/images/nom_VM.qcow2 hyperviseur_destination:/var/lib/libvirt/images/
Si plusieurs disques ou stockage partagé différent : Adapte le chemin source et destination.
Utilise -r si tu as un répertoire entier, ou rsync pour plus de fiabilité :
rsync -avz --progress /var/lib/libvirt/images/nom_VM.qcow2 hyperviseur_destination:/var/lib/libvirt/images/

Si le chemin du disque est différent sur l’hyperviseur de destination, il faudra le modifier le fichier xml générer dans l’étape précédente pour que cela pointe au bon endroit.

4 ) On copie également notre fichier XML sur l’hyperviseur de destination

scp -p nom_VM.xml hyperviseur_destination:/tmp/

5) On intègre le domaine dans KVM à l’aide de notre fichier xml:

virsh define /tmp/nom_VM.xml

6) Il ne reste plus qu’a démarrer notre domaine

virsh start nom_VM
Vérification finale :
virsh list          # VM running sur la destination
virsh list --all    # VM absente ou "shut off" sur la source (tu peux l’undefine après)
Une fois la migration validée sur l’hyperviseur source:
virsh undefine nom_VM
rm nom_VM.xml /var/lib/libvirt/images/nom_VM.qcow2

 

 

24 avril 2018 /
Version recommandée (ffmpeg seul plus rapide, plus propre)
sudo apt install -y ffmpeg

Conversion du MP4 en GIF:

ffmpeg -i fichier_video.mp4 -vf "fps=10,scale=600:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 mon_gif.gif
Explication des options :

  • -i fichier_video.mp4 : vidéo source.
  • fps=10 : 10 images par seconde (adapte selon besoin : 15 pour plus fluide, 5 pour plus léger).
  • scale=600:-1 : redimensionne à 600 px de large (hauteur auto, conserve ratio). Change à 800 ou 400 selon la taille souhaitée.
  • flags=lanczos : algorithme de redimensionnement de haute qualité.
  • palettegen + paletteuse : génère une palette optimale de 256 couleurs → GIF de bonne qualité sans dithering excessif.
  • -loop 0 : boucle infinie ( -loop -1 pour une seule lecture).
Variante légère (petit GIF pour web/mème) :
ffmpeg -i fichier_video.mp4 -vf "fps=8,scale=480:-1:flags=lanczos,palettegen=reserve_transparent=0[p];[v][p]paletteuse=dither=bayer:bayer_scale=3" -loop 0 petit_gif.gif
12 avril 2018 /
Cette méthode crée un dépôt local offline à partir de l’ISO DVD (BaseOS + AppStream). Elle est idéale pour les serveurs isolés (sans internet ni subscription Red Hat).Prérequis :

  • Télécharge l’ISO DVD complet de RHEL 9 ou 10 (via ton compte Red Hat Developer gratuit pour les tests).
  • Copie l’ISO sur le serveur (via USB, SCP, etc.).

1. Monter l’ISO

sudo mkdir /mnt/rhel-iso
sudo mount -o loop /chemin/vers/rhel-9.x-x86_64-dvd.iso /mnt/rhel-iso
(Remplace par ton chemin ISO et version : rhel-9.4-x86_64-dvd.iso ou rhel-10.0-x86_64-dvd.iso)
Vérifie (tu dois voir BaseOS et AppStream):
ls /mnt/rhel-iso
2. Copier le contenu de l’ISO (optionnel mais recommandé pour persistance)
sudo mkdir -p /var/local-repo/rhel
sudo cp -av /mnt/rhel-iso/* /var/local-repo/rhel/
3. Créer le fichier de configuration du dépôt
sudo vi /etc/yum.repos.d/local-rhel.repo

On y ajoute les lignes suivantes :

[local-baseos]
name=Local RHEL BaseOS
baseurl=file:///var/local-repo/rhel/BaseOS
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[local-appstream]
name=Local RHEL AppStream
baseurl=file:///var/local-repo/rhel/AppStream
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
4. Désactiver les dépôts officiels Red Hat (pour éviter les erreurs subscription):
sudo subscription-manager repos --disable=*
5. Nettoyer le cache DNF et tester
sudo dnf clean all
sudo dnf repolist
6. Installer un paquet pour tester
sudo dnf install vim
7. Démonter l’ISO
sudo umount /mnt/rhel-iso
sudo rmdir /mnt/rhel-iso