Table des matières
- 2026:
- 2025:
7 billet(s) pour mars 2026
| Notes podman secret | 2026/03/23 15:10 | Jean-Baptiste |
| Notes ansible podman | 2026/03/23 14:08 | Jean-Baptiste |
| Notes podman volume | 2026/03/23 14:00 | Jean-Baptiste |
| Find list - Trouver des fichiers à partir d'une liste | 2026/03/18 14:32 | Jean-Baptiste |
| AWX inventaire vault | 2026/03/17 18:04 | Jean-Baptiste |
| AWX - Configuration git en local (sans serveur web) | 2026/03/05 16:24 | Jean-Baptiste |
| OpenSMTP | 2026/03/03 16:58 | Jean-Baptiste |
Notes mutt
#apt-get install mutt-patched sudo apt-get install neomutt # Pour voir les mails en HTML sudo apt-get install w3m # Pour cliquer sur les liens HTML [remplace ''urlview'') sudo apt-get install urlscan
Voir http://doc.ubuntu-fr.org/mutt
~/.bash_aliases
alias mutt='env BROWSER=w3m neomutt'
mkdir ~/.mutt
set realname = "Prenom NOM" set editor="vim" # locales FR pour les nom des jours et mois set locale="fr_FR" set spoolfile="imaps://User:PASSWORD@Server/INBOX"
TODO : Fichier à déposer sous git [mdp exclu]
Configuration Mutt
~/.muttrc
# configuration de base set realname = "" set header_cache =~/.mutt/cache/headers set certificate_file =~/.mutt/certificates set message_cachedir =~/.mutt/cache/bodies ####GMAIL # configuration imap set spoolfile="imaps://imap.gmail.com:993/"# l'endroit ou le MTA stocke vos messages ("spool file") set imap_user = "VOTRE_ADDRESSE@gmail.com" #set pop_pass = set imap_passive="no" set imap_check_subscribed="yes" set imap_list_subscribed="yes" # configuration SMTP set smtp_url = "smtps://VOTRE_ADDRESSE@gmail.com@smtp.gmail.com:465/" # set smtp_pass = set from = "VOTRE_ADDRESSE@gmail.com"set use_envelope_from=yes # Pour que postfix ou sendmail ne change pas votre from ####Pour Hotmail ####HOTMAIL #set spoolfile=pops://pop3.live.com:995/ #set pop_user="VOTRE_ADDRESSE@hotmail.fr" #set ssl_force_tls = yes #set imap_passive="no" #set imap_check_subscribed="yes" #set imap_list_subscribed="yes" #set smtp_url="smtps://VOTRE_ADDRESSE@hotmail.fr@smtp.live.com:25" #set from="VOTRE_ADDRESSE@hotmail.fr" # petit plus set trash = "~/.mutt/Trash" set postponed="~/.mutt/Draft" set folder = ~/Mail # Le répertoire des mailboxes set imap_check_subscribed set mail_check = 120 set timeout = 300 set imap_keepalive = 300 set signature="~/.mutt/.signature" # votre fichier signature # locales FR pour les nom des jours et mois set locale="fr_FR" # Format de date set date_format="%A %d %b %Y à %H:%M:%S (%Z)" # phrase d'intro pour réponse quotée set attribution="Le %d, %n a écrit :" set forward_format="[Fwd: %s]" set forward_quote # mailboxes ! #alternates color attachment magenta default # attachments color body brightred default "(ftp|http)://[^ ]+" # point out URLs color body brightcyan default [-a-z_0-9.]+@[-a-z_0-9.]+ # e-mail addresses color bold brightblue default # boldface text color error brightwhite red # error messages color hdrdefault magenta default # default color of message header color header brightmagenta default ^(From): # From and Subject header color header brightwhite default ^(Subject): # From and Subject header color header brightwhite default ^(Date): # Date header color header white default ^(In-Reply-To): color indicator brightred default # indicator bar color markers brightblue default # wrapped line markers (+) color message brightblack green # status messages color normal default default # default color quoted yellow default # quoted text, 1st quote level color quoted1 green default # quoted text, 2nd quote level color quoted2 brightblue default # quoted text, 3rd quote level color quoted3 blue default # quoted text, 4th quoet level color search black yellow # matched search patterns in pager color signature red default # the signature (after sigdashes) color status default blue # status lines color tilde brightblue default # ``~'' used to pad blank lines color tree green default # thread tree in the index menu color underline brightgreen default # underlined text # Pour la gestion des accents #set locale="iso-8859-15" set pager_index_lines=7 set pager_stop # set implicit_autoview auto_view text/html application/x-pgp-message # view html automatically set mailcap_path="~/.mailcap" set mailcap_sanitize=yes alternative_order text/plain text/enriched text/html # save html for last ~/.mailcap text/html; lynx -dump -force-html -assume_charset %{charset} -localhost %s; copiousoutput ###lire les pages html avec le navigateur lynx video/*; mpayer %s ###pour lire les vidéos avec mplayer audio/*; play %s ###pour écouter les sons avec la commande play image/*; feh %s ###visionner les images avec l'éditeur feh # Fichier d'alias : set alias_file='~/.mutt/.alias_mutt' source '~/.mutt/.alias_mutt'
Exemple de conf pour un accès directe type Mailbox http://www.elho.net/mutt/maildir/ :
~/.muttrc
set mbox_type=Maildir set folder="~/Maildir" set mask="!^\\.[^.]" set mbox="~/Maildir" set record="+.Sent" set postponed="+.Drafts" set spoolfile="~/Maildir"
Classer les mails par date
~/.muttrc
set sort_aux = last-date-received set sort = reverse-threads
Visualisation de mail en HTML
Source : http://christophe.masutti.name/index.php?article16/a-propos-de-mutt
A jouter ~/.muttrc
set implicit_autoview auto_view text/html application/x-pgp-message set mailcap_path="~/.mailcap" set mailcap_sanitize=yes
Puis, dans .mailcap, au choix :
Si vous désirez utiliser Lynx*:
.mailcap
text/html; lynx -dump -force-html -assume_charset %{charset} -localhost %s; copiousoutput
Si vous désirez utiliser W3m:
.mailcap
text/html; w3m -dump %s; copiousoutput; nametemplate=%s.html
Si vous désirez utiliser Links ou Links2:
.mailcap
text/html; links2 -dump %s; nametemplate=%s.html; copiousoutput
Si vous désirez utiliser Elinks:
.mailcap
text/html; elinks -default-mime-type text/html %s; needsterminal;
Utilisation
Récupérer un message marqué à supprimer
Pour effacer un message :
touche [d] sur le message concerné
mutt vous demandera confirmation pour réellement effacer les messages quand vous quitterez mutt
Le(s) message(s) restent disponible tant que vous n'avez pas quitté mutt.
Seulement voilà, les messages marqué comme “à effacer” ne sont plus sélectionnable.
La touche [t] servant à marquer un message (t comme tag) permet de sélectionner notre message que nous souhaitons finalement garder.
Puis touche [u] (u comme undo ou undelete)
Pb
Erreur GPGME: CMS protocol not available
GPGME: CMS protocol not available
ou
GPGME : protocole CMS non disponible
Solution
sudo apt-get install gpgsm
Err color not supported by term
$ neomutt Looking up imap.acme.fr... Connecting to impa.acme.fr... SSL/TLS connection using TLS1.3 (ECDHE-RSA/AES-256-GCM/AEAD) Logging in... /home/jean/.muttrc:220: color sidebar_highlight black color8: color not supported by term /home/jean/.muttrc:224: color sidebar_divider color8 black: color not supported by term /home/jean/.muttrc:230: color sidebar_ordinary color245 default: color not supported by term /home/jean/.muttrc:232: color sidebar_spool_file color207 default: color not supported by term /home/jean/.muttrc:234: color sidebar_unread color136 default: color not supported by term source: errors in /home/jean/.muttrc Press any key to continue...
Solution
env TERM=xterm-256color neomutt
Mémo Tmux
A noter qu'il existe Critmux (tmux + Docker + criu) permettant de geler l'état de la session et de l’enregistrer. Voir snapshot_de_process_avec_criu
Voir https://wiki.debian.org/fr/Tmux
Équivalent screen à [Ctrl] + [a] et l ((redisplay) Fully refresh current window.) Corrige la taille de la fenêtre
Mémo
[Ctrl] + b et D Déconnecter quelqu'un (pratique pour redimensionner le tmux à une taille pour grande)
Ou alors :
tmux at -d
Tmux dans un Tmux - changer le raccourci clavier
Changement du raccourcie Ctrl+b en Ctrl+a
Ctrl + b
:set-option -g prefix C-a
Taille de la fenêtre petite quand une session est restée attachée
Vous pouvez détachez l'ancienne session, si elle n'est plus utilisée. [Ctrl] + [b] puis [Shift] + [d]
(0) /dev/pts/0: 0 [119x21 xterm] (utf8) (1) /dev/pts/6: 0 [170x48 xterm] (utf8)
Puis choisissez la session à fermer, puis [Entrée]
Changer l'ordre des fenêtres (sur la même vue)
Rotate window [Ctrl] + b Puis [Ctrl] + o
Nnext layout [Ctrl] + b Puis [Ctrl] + [Space]
Afficher l'heure
[Ctrl]] + b Puis t
Nommer / renommer les sessions
Créer une nouvelle session nommée
tmux new -s session-name
[CTRL] + [B], [$] Pour renommer la session
Pour attacher une session donnée
tmux a -t session-name
[CTRL] + [B], [s] Pour naviguer entre les sessions
ou
[CTRL] + [B], [w]
Renommer une session
$ tmux ls $ # tmux rename-session -t old_name new_name $ tmux rename-session -t 0 new_name no current client $ tmux ls
Changer la couleur de la bare de status
set -g status-bg grey
ClusterShell ClusterSSH
setw synchronize-panes on
A tester ~/.tmux.conf
bind = set -g synchronize-panes
Pb
open terminal failed: not a terminal
$ ssh srv1 -- tmux at -t 1 open terminal failed: not a terminal
Solution
Utiliser ssh -t
ssh -t srv1 -- tmux at -t 1
open terminal failed: missing or unsuitable terminal: unknown
tmux
Erreur
open terminal failed: missing or unsuitable terminal: unknown
Solution
export TERM=linux tmux # A tester : #export TERM=linux-vt
Voir : /usr/share/terminfo/
Voir aussi
Host plop1
Hostname 192.168.1.20
SetEnv TERM=linux
Le pane est renommé automatiquement
solution
~/.tmux.conf
set allow-rename off
Pb backspace ne fonctionne pas
E558: Terminal entry not found in terminfo
'tmux-256color' not known. Available builtin terminals are:
builtin_amiga
builtin_beos-ansi
builtin_ansi
builtin_pcansi
builtin_win32
builtin_vt320
builtin_vt52
builtin_xterm
builtin_iris-ansi
builtin_debug
builtin_dumb
defaulting to 'ansi'
Solution
apt-get install ncurses-term
KVM LibVirt
Voir :
Votre CPU gère t-il VT ou AMD-V ?
egrep --color '^flags.*(vmx |svm )' /proc/cpuinfo
Ou
apt-get install cpu-checker
kvm-ok
cat /sys/module/kvm_intel/parameters/nested cat /sys/module/kvm_amd/parameters/nested
Parfois il faut activer l'option dans le BIOS
# virt-host-validate ... LXC: Checking if device /sys/fs/fuse/connections exists : FAIL (Load the 'fuse' module to enable /proc/ overrides) echo fuse >> /etc/modules modprobe fuse
Sous RedHat désactiver le NetworkManager
systemctl stop NetworkManager systemctl disable NetworkManager
et ajouter la ligne suivante dans /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-*
NM_CONTROLLED=no
Install
apt-get install --no-install-recommends qemu-kvm libvirt-clients libvirt-daemon-system
adduser jean libvirt
#adduser jean kvm
~/.bash_aliases
alias virsh="virsh -c qemu:///system"
ou
~/.bashrc
export LIBVIRT_DEFAULT_URI="qemu:///system"
virsh net-autostart default virsh net-start default
/etc/default/libvirt-guests
#ON_BOOT=ignore ON_BOOT=start #START_DELAY=0 START_DELAY=30 #PARALLEL_SHUTDOWN=0 PARALLEL_SHUTDOWN=1 #SHUTDOWN_TIMEOUT=300 SHUTDOWN_TIMEOUT=180
Pour virt-sysprep (après clonage de VM)
apt-get install libguestfs-tools
UEFI
apt-get install ovmf
Virt-install
Exemple :
virt-install \ --name vm1 \ --ram 512 \ --location=http://ftp.us.debian.org/debian/dists/stable/main/installer-amd64/ \ --initrd-inject=/tmp/preseed.cfg \ --extra-args="console=ttyS0,115200n8 serial locale=fr_FR console-setup/ask_detect=false keyboard-configuration/layoutcode=fr hostname=virtual domain=unassigned-domain interface=auto" \ --vcpu=1 \ --vnc \ --vnclisten=0.0.0.0 \ --os-type=linux \ --os-variant=debianwheezy \ -w bridge=virbr0 \ -w bridge=br1 \ -w network=default \ --console pty,target_type=serial \ --disk format=qcow2,size=8,bus=virtio,path=/var/lib/libvirt/images/vm1.qcow2
#--connect qemu:///system #--location=http://archive.ubuntu.com/ubuntu/dists/precise/main/installer-amd64/ \ #--noautoconsole \ #--autostart \ #--cdrom=/var/lib/libvirt/images/test.iso \
--extra-args ne marche que si --location est défini.
Réseaux
KVM Réseaux Bridge TUN
http://doc.fedora-fr.org/wiki/Discussion:Virtualisation_:_KVM,_Qemu,_libvirt_en_images
PCI Passthrough - IOMMU
Voir :
BIOS/UEFI
Première étape, faire un tour dans le BIOS/UEFI pour activer les choses suivantes :
VT-D (cas d’un CPU intel) AMD-Vi (cas d’un CPU AMD)
Pour vérifier :
# dmesg | grep -e "Directed I/O" [ 1.693161] DMAR: Intel(R) Virtualization Technology for Directed I/O
Pour du AMD :
dmesg | grep AMD-Vi
Dans le BIOS activer “SR-IOV” ?
# ls /sys/class/iommu/*/ /sys/class/iommu/dmar2/: devices intel-iommu power subsystem uevent /sys/class/iommu/dmar4/: devices intel-iommu power subsystem uevent /sys/class/iommu/dmar5/: devices intel-iommu power subsystem uevent /sys/class/iommu/dmar6/: devices intel-iommu power subsystem uevent /sys/class/iommu/dmar7/: devices intel-iommu power subsystem uevent
/etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau options nouveau modeset=0
/etc/default/grub
#GRUB_CMDLINE_LINUX_DEFAULT="modprobe.blacklist=nouveau modprobe.blacklist=nvidiafb" #GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt rd.driver.pre=vfio-pci video=efifb:off vfio_iommu_type1.allow_unsafe_interrupts=1" #GRUB_CMDLINE_LINUX="kvm_iommu=on iommu=pt" GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt pci-stub.ids=10de:1b81,10de:10f1 video=efifb:off"
update-grub
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf reboot dmesg | grep 'remapping'
Pour nvidia
echo "options kvm ignore_msrs=1 report_ignored_msrs=0" > /etc/modprobe.d/kvm.conf
# lspci -nn | grep -i nvidia 3b:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104GL [Quadro P5000] [10de:1bb0] (rev a1) 3b:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1) af:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104GL [Quadro P5000] [10de:1bb0] (rev a1) af:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1)
/etc/modprobe.d/vfio.conf
#options vfio-pci ids=10de:1bb0,10de:10f0 options vfio-pci ids=10de:1bb0 options vfio-pci disable_vga=1
echo 'vfio-pci' > /etc/modules-load.d/vfio-pci.conf update-initramfs -u
# dmesg |grep "Directed I/O" [ 1.705358] DMAR: Intel(R) Virtualization Technology for Directed I/O
#!/bin/bash shopt -s nullglob for g in /sys/kernel/iommu_groups/*; do echo "IOMMU Group ${g##*/}:" for d in $g/devices/*; do echo -e "\t$(lspci -nns ${d##*/})" done; done;
dmesg | grep -i vfio
# lspci -nnk |grep -i -A 2 nvidia
3b:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104GL [Quadro P5000] [10de:1bb0] (rev a1)
Subsystem: Dell GP104GL [Quadro P5000] [1028:11b2]
Kernel driver in use: vfio-pci
--
3b:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1)
Subsystem: Dell GP104 High Definition Audio Controller [1028:11b2]
Kernel driver in use: snd_hda_intel
--
af:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104GL [Quadro P5000] [10de:1bb0] (rev a1)
Subsystem: Dell GP104GL [Quadro P5000] [1028:11b2]
Kernel driver in use: vfio-pci
--
af:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1)
Subsystem: Dell GP104 High Definition Audio Controller [1028:11b2]
Kernel driver in use: snd_hda_intel
# echo "0000:3b:00.0" | tee /sys/bus/pci/drivers/vfio-pci/unbind 0000:3b:00.0 # echo "0000:3b:00.0" | tee /sys/bus/pci/drivers/vfio-pci/unbind 0000:3b:00.0 tee: /sys/bus/pci/drivers/vfio-pci/unbind: No such device
cd /sys/bus/pci/devices/0000\:3b\:00.0 echo 1 > rom cat rom > /tmp/gpu.rom echo 0 > rom
/etc/libvirt/qemu/vm1.xml
<hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0000' bus='0x3b' slot='0x00' function='0x0'/> </source> <rom bar='on'/> <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0000' bus='0xaf' slot='0x00' function='0x0'/> </source> <rom bar='on'/> <address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/> </hostdev>
Test de perf IO disque
Voir :
Voir :
- atop
- stress-ng
- iozone3
stress-ng --all 0 --maximize --aggressive
iostat -hx 5 iostat -xmt 1
Linux : tester les performances I/O
hdparm -t -T /dev/sda dd bs=8192 count=$((4096 * 128)) if=/dev/zero of=test conv=fdatasync bonnie++ -d /mnt -r 8000 -u toto
#time -p dd if=/dev/zero of=/tmp/test1.img bs=1M count=500 oflag=dsync #time -p dd if=/dev/zero of=/tmp/test1.img bs=500M count=1 oflag=dsync time -p dd if=/dev/zero of=/tmp/test1.img bs=8192 count=$((8192 * 64)) oflag=dsync
sudo apt-get install sysbench # --file-test-mode=STRING test mode {seqwr, seqrewr, seqrd, rndrd, rndwr, rndrw} sysbench --test=fileio --file-test-mode=seqwr run sysbench --test=fileio --file-total-size=4G prepare sysbench --test=fileio --file-total-size=4G --file-test-mode=rndrd --max-time=5 run sysbench --test=fileio --file-total-size=4G --file-test-mode=rndwr --max-time=5 run sysbench --test=fileio --file-total-size=4G cleanup
Disk Read-Ahead
blockdev --report blockdev --getra /dev/sda blockdev --setra 256 /dev/sdc cat /sys/block/sda/queue/read_ahead_kb
fio
Source https://www.geekarea.fr/wordpress/?p=769
apt-get install fio
cat > plop.fio << EOF [global] bs=64k direct=1 rw=randrw ioengine=libaio iodepth=2 zonesize=256m zoneskip=2g write_bw_log=str [/dev/vdb] EOF fio plop.fio
Linux IO scheduler
# cat /sys/block/sda/queue/scheduler noop deadline [cfq]
/etc/default/grub
# GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"
IOWAIT
Terminal shell script faille de sécurité XSS injection code malveillant cat
Voir aussi :
Source https://makandracards.com/makandra/35943-terminal-escape-sequences-the-new-xss-for-linux-sysadmins
$ printf '#!/bin/bash\necho doing something evil!\nexit\n\033[2Aecho doing something very nice!\n' > backdoor.sh $ chmod +x backdoor.sh $ cat backdoor.sh #!/bin/bash echo doing something very nice! $ ./backdoor.sh doing something evil!
