Outils pour utilisateurs

Outils du site


blog

8 billet(s) pour mars 2026

Notes conteneurs oras artifact OCI2026/03/23 21:13Jean-Baptiste
Notes podman secret2026/03/23 15:10Jean-Baptiste
Notes ansible podman2026/03/23 14:08Jean-Baptiste
Notes podman volume2026/03/23 14:00Jean-Baptiste
Find list - Trouver des fichiers à partir d'une liste2026/03/18 14:32Jean-Baptiste
AWX inventaire vault2026/03/17 18:04Jean-Baptiste
AWX - Configuration git en local (sans serveur web)2026/03/05 16:24Jean-Baptiste
OpenSMTP2026/03/03 16:58Jean-Baptiste

Notes script bash

Voir

Voir aussi :

  • tinyramfs (implémentation initramfs écrite en shell POSIX

Variables

Fichier dans une variable - variable heredoc
ETCHOSTS=$(cat << 'EOF'
10.245.97.221      node1
10.245.102.221     node1b
EOF
)

Les boucles

Voir aussi :

For
for (( i=1; $i<=10; i=i+1 ))
do
    echo $i
done

Voir exemple avec seq ci-dessous

seq
#for i in $(seq 10)
for i in $(seq 1 10)
do
  echo $i
done
for i in {1..5}
do
  echo $i
done
seq -f "%f" 3 0.8. 6
seq -f "%g/04/2018" 10
seq -s - 8
pb curl break

fic.lst

foo
bar

plop_sleep.sh

#! /bin/bash
 
while read -r var
do
        echo $var
        timeout 1 sleep inf
done < fic.lst

plop_curl.sh

#! /bin/bash
 
while read -r var
do
        echo $var
        timeout 1 curl -s telnet://localhost:22
done < fic.lst
$ ./plop_sleep.sh
foo
bar

$ ./plop_curl.sh
foo

Contournement

plop_curl_2.sh

#! /bin/bash
 
while read -r var
do
        echo $var
        echo timeout 1 curl -s telnet://localhost:22 | bash -s --
done < fic.lst

Vraie solution

plop_curl_2.sh

#! /bin/bash
 
while read -r var
do
        echo $var
        timeout 1 curl -s telnet://localhost:22 </dev/null
done < fic.lst
Gérer les locks
flock -n /tmp/plop.lock -c /opt/plop1.sh -c /opt/plop2.sh

bash Options

Bash suid binary privilege escalation
sudo cp -p /usr/bin/bash /usr/bin/bash-backdoor
sudo chmod u+s /usr/bin/bash-backdoor
/usr/bin/bash-backdoor -p
2025/03/24 15:06

Notes scp

Voir :

Voir aussi :

  • sftp

Remote to remote

#scp -3 -P 2222 ruser1@rhost1:/rpath/1 scp://ruser2@rhost2:2222//rpath/2
 
# Chemin absolut
scp -3 scp://ruser1@rhost1:2222//rpath/1 scp://ruser2@rhost2:2222//rpath/2
 
# Chemin relatif
scp -3 scp://ruser1@rhost1:2222/rpath/1 scp://ruser2@rhost2:2222/rpath/2

Scp avec Windows

sshpass -e scp -P 2222 administrateur@192.168.1.20:c:/Temp/plop.txt /tmp
2025/03/24 15:06

Notes scanner sane

Voir simple-scan, xsane,

apt-get install simple-scan

Pb

Pb 1
# lsusb |grep -i scanner
Bus 002 Device 004: ID 07b3:0413 Plustek, Inc. OpticSlim 1200 Scanner
# sane-find-scanner 

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

could not fetch string descriptor: Pipe error
could not fetch string descriptor: Pipe error
found USB scanner (vendor=0x07b3, product=0x0413 [600dpi USB Scanner], chip=GT-6816) at libusb:002:004
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.
# scanimage -L
device `gt68xx:libusb:002:004' is a Plustek OpticSlim 1200 flatbed scanner
Solution

Source https://forum.ubuntu-fr.org/viewtopic.php?id=1080701

wget https://bugs.archlinux.org/task/20374\?getfile\=5563 -O  cism216.fw
mkdir /usr/share/sane/gt68xx/
cp cism216.fw /usr/share/sane/gt68xx/
chmod -R a=rwX /usr/share/sane/gt68xx
cp -p /etc/sane.d/gt68xx.conf{,.orig}
vim /etc/sane.d/gt68xx.conf

Il faut ajouter les lignes suivantes :

override "plustek-opticslim-1200"
firmware "/usr/share/sane/gt68xx/cism216.fw"

Ça doit ressembler à

/etc/sane.d/gt68xx.conf
##############################################################################
# Autodetect Plustek OpticSlim 1200
usb 0x07b3 0x0413
override "plustek-opticslim-1200"
firmware "/usr/share/sane/gt68xx/cism216.fw"
Pb 2
$ scanimage -L
device `escl:http://127.0.0.1:60000' is a HP DeskJet 3630 series [9BE284] (USB) flatbed scanner
device `hpaio:/usb/DeskJet_3630_series?serial=CN5CS2H5YV067P' is a Hewlett-Packard DeskJet_3630_series all-in-one

$ scanimage -T -d escl:http://127.0.0.1:60000
Output format is not set, using pnm as a default.
scanimage: open of device escl:http://127.0.0.1:60000 failed: Out of memory

$ scanimage -T -d 'hpaio:/usb/DeskJet_3630_series?serial=CN5CS2H5YV067P'
Output format is not set, using pnm as a default.
scanimage: open of device hpaio:/usb/DeskJet_3630_series?serial=CN5CS2H5YV067P failed: Error during device I/O
Solution
sudo systemctl disable --now ipp-usb.service
sudo systemctl mask ipp-usb.service
2025/03/24 15:06

Notes sauvegardes

Notes

Il faut considérer deux types de sauvegarde :

  • En mode bloc
  • En mode ficher

Pour restaurer un serveur qui tombe on utilise en général le mode bloc. La sauvegarde en mode bloc peut se faire par disque ou par partition. Dans le second cas il est nécessaire de sauvegarder la table des partitions. Elle peut-être de deux types : MBR et GPT.

Concernant la sauvegarde en mode fichier, dont il semble être question ici :

Il faut sauvegarder toutes les partitions locales mais exclure le swap et les partitions pseudo-fs tel que dev, sys, proc, debugfs, tmpfs, configfs, etc… En gros les partition affichées avec lsblk -fm et qui sont montées.

Des optimisations et des choix peuvent être fait comme ignorer les fichiers cores dump et certains dossiers tel que /tmp, /var/tmp, /var/cache/, inclure ou non les partitions applicatives…

D’autres éléments doivent être considérés tel que :

  • Impacte performance / accessibilité pendant la sauvegarde
  • La nature de ce qui doit être sauvegardé (on ne sauvegarde pas une base de donnée en fonctionnement en copiant un à un des fichiers des tablesspaces)
  • Intégrité de la sauvegarde. Parce que entre le début et la fin de la sauvegarde l’état des fichiers sur disque peut avoir changé
  • snapshot LVM ou autres avant copie des fichiers ?
  • Préserver certaines méta données tel que les droits POSIX, ACL, contexte SELinux…
  • Choix de préserver ou nom les atime, mtime, ctime
2025/03/24 15:06
blog.txt · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki