Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
kb_it:linux [2023/04/14 20:09] befekb_it:linux [2025/11/21 01:52] (Version actuelle) befe
Ligne 86: Ligne 86:
 </code> </code>
  
 +ou
 +
 +<code bash>
 +uchardet file.txt
 +</code>
 ==== Ajouter le BOM à un fichier UTF-8 ==== ==== Ajouter le BOM à un fichier UTF-8 ====
  
Ligne 109: Ligne 114:
  
 ---- ----
 +
 +===== Gestion des disques et de l'espace disque =====
 +
 +==== Agrandissement d'une partition suite au redimensionnement d'un disque ====
 +
 +A adapter selon le disque à redimensionner.
 +
 +Initier un scan des nouvelles caractéristiques du disque :
 +<code bash>
 +echo 1 > /sys/class/block/sda/device/rescan
 +</code>
 +
 +Vérifier la prise en compte de la demande de scan :
 +<code bash>
 +dmesg
 +[9937790.353627] sd 0:0:2:0: [sda] 419430400 512-byte logical blocks: (215 GB/200 GiB)
 +[9937790.353767] sda: detected capacity change from 209715200 to 419430400
 +</code>
 +
 +Si nécessaire, installer growpart.\\
 +Sous Debian :
 +<code bash>
 +apt install cloud-utils
 +</code>
 +
 +Agrandir la partition :
 +<code bash>
 +growpart /dev/sda 1
 +</code>
 +
 +Agrandir le système de fichier :
 +<code bash>
 +resize2fs /dev/sda1
 +</code>
 +
 +Pour automatiser le processus, il est possible de planifier l'exécution d'un script.\\
 +Attention, le script n'a pas été testé !\\
 +Source : https://codenotary.com/blog/enlarge-a-disk-and-partition-of-any-linux-vm-without-a-reboot\\
 +Par exemple, créer la tâche planifiée suivante dans ''/etc/cron.d/resize_disk'' :
 +<code>
 +*/5 * * * *   root   /usr/local/bin/disk_resize.sh
 +</code>
 +
 +Contenu de disk_resize.sh :
 +<code bash>
 +#!/bin/bash
 +LOGFILE=/data/log/speed/resize.log
 +LOCKFILE=/tmp/enlarge.lock
 +export PATH=/usr/sbin:/usr/bin:/sbin:/bin
 +
 +dotlockfile -r 0 $LOCKFILE || exit 1
 +
 +echo 1 > /sys/class/block/sda/device/rescan
 +sleep 5
 +GROWPART_OUT=`growpart /dev/sda 2`
 +if [ $? -eq 0 ]; then
 +    echo `date` >> $LOGFILE
 +    echo "trying to resize fs" >> $LOGFILE
 +    echo $GROWPART_OUT >> $LOGFILE
 +    resize2fs /dev/sda2 >> $LOGFILE 2>&1
 +    echo `date` >> $LOGFILE
 +    echo "resize done" >> $LOGFILE
 +fi
 +
 +echo 1 2>/dev/null >/sys/class/block/sdb/device/rescan
 +sleep 5
 +GROWPART_OUT=`growpart /dev/sdb 1`
 +if [ $? -eq 0 ]; then
 +    echo `date` >> $LOGFILE
 +    echo "trying to resize fs" >> $LOGFILE
 +    echo $GROWPART_OUT >> $LOGFILE
 +    resize2fs /dev/sdb1 >> $LOGFILE 2>&1
 +    echo `date` >> $LOGFILE
 +    echo "resize done" >> $LOGFILE
 +fi
 +
 +dotlockfile -u $LOCKFILE
 +</code>
 +
 +==== Contrôler la taille des fichiers du système ====
 +
 +<code bash>
 +duc index -x --exclude=/dev --exclude=/proc --exclude=/sys --exclude=/net --exclude=/run -v --debug /
 +</code>
 +
 +==== Monitorer la taille d'un fichier en temps réel ====
 +
 +<code bash>
 +watch -n 1 "ls -lh /root/.cache/duc | awk '{print \$5}'"
 +</code>
  
 ===== Gestion des utilisateurs ===== ===== Gestion des utilisateurs =====
Ligne 117: Ligne 212:
 usermod -aG <GROUP> <USER> usermod -aG <GROUP> <USER>
 </code> </code>
 +
 +==== Désactiver un compte utilisateur ====
 +
 +<code bash>
 +usermod -L -e 1 <USER>
 +</code>
 +-e 1 : Date d'expiration au 02/01/1970 -> Désactivation définitive
  
 ---- ----
Ligne 130: Ligne 232:
 ===== Interactivité ===== ===== Interactivité =====
  
-==== Afficher le résultat d'une commande et l'enregistrer vers un fichier ==== 
  
-<code bash> 
-<command> | tee output.log 
-</code> 
  
 ==== Enregistrer une saisie ==== ==== Enregistrer une saisie ====
Ligne 188: Ligne 286:
 <code bash> <code bash>
 sudo  dhclient sudo  dhclient
 +</code>
 +
 +==== Désactiver IPv6 ====
 +
 +=== Méthode Grub ===
 +
 +/etc/default/grub
 +<code>
 +GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
 +</code>
 +
 +<code bash>
 +update-grub
 +</code>
 +
 +/etc/netconfig
 +<code>
 +#udp6       tpi_clts      v     inet6    udp           -
 +#tcp6       tpi_cots_ord  v     inet6    tcp           -
 +</code>
 +
 +=== Methode systemctcl ===
 +
 +<code bash>
 +sudo vim /etc/sysctl.d/60-custom.conf
 +</code>
 +
 +<code>
 +net.ipv6.conf.all.disable_ipv6 = 1
 +net.ipv6.conf.default.disable_ipv6 = 1
 +net.ipv6.conf.lo.disable_ipv6 = 1
 +</code>
 +
 +<code bash>
 +sudo sysctl -p
 +sudo systemctl restart procps
 +</code>
 +
 +<code bash>
 +cat /proc/sys/net/ipv6/conf/all/disable_ipv6
 +1
 </code> </code>
  
Ligne 250: Ligne 389:
 Defaults:username    timestamp_timeout=3600 Defaults:username    timestamp_timeout=3600
 </code> </code>
 +
 +=== Masquer les astérisques lors de la saisie du mot de passe ===
 +
 +<code bash>
 +echo 'Defaults !pwfeedback'|sudo tee /etc/sudoers.d/0pwfeedback
 +</code>
 +Le nom du fichier 0pwfeedback peut être à adapter selon les configurations.
 +
 ===== Divers ===== ===== Divers =====
  
Ligne 272: Ligne 419:
 </code> </code>
  
-==== Exécuter une commande à intervalles régulières ====+==== Exécuter une commande à intervalles réguliers ====
  
 <code bash> <code bash>
 watch -n 1 date watch -n 1 date
 +</code>
 +
 +==== Supprimer les noyaux inutilisés ====
 +
 +<code bash>
 +echo $(dpkg --list | grep linux-image | awk '{ print $2 }' | sort -V | sed -n '/'`uname -r`'/q;p') $(dpkg --list | grep linux-headers | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"'/q;p') | xargs sudo apt-get -y purge
 +sudo apt autoremove --purge
 </code> </code>