Archives de catégorie : Administration

grub2 – partitions bootable manquante

grub2 et osprober

Message d’erreur :

warning: osprober will not be executed to detect other bootable partitions:
check GRUB_DISABLE_OS_PROBER documentation entry

Explication :

Depuis Grub 2.6, la valeur par défaut de GRUB_DISABLE_OS_PROBER est passée de « false » à « true »

 

Résolution :

Pour activer os-prober lors de l’exécution de update-grub il faut donc ajouter à /etc/default/grub

GRUB_DISABLE_OS_PROBER=false

 

puis relancer un update-grub

update-grub

 

 

MEMO – gestion USB sous GNU/Linux

Avec la plupart des distributions Linux à interface graphique, il existe des outils logiciels permettant de gérer les clés USB. Néanmoins, il est également possible de le faire dans un terminal, avec différentes commandes. Dans cet article, plusieurs points sont abordés :

  • L’identification des fichiers associés à la clé USB et aux partitions ;
  • Le montage manuel des clés USB ;
  • L’identification des points de montage ;
  • Le démontage manuel des clés USB ;
  • Le formatage d’une partition d’une clé USB ;
  • La création d’une clé USB bootable.

 

Identifier des fichiers associés à la clé USB et à ses partitions

Sous Linux, les périphériques sont gérés par des fichiers créés dans le répertoire /dev. Les clés USB n’échappent pas à cette règle. Il est donc nécessaire de connaitre le fichier associé à la clé USB et ceux associés à ses partitions, notamment pour la monter manuellement. Afin de connaitre le fichier associé à la partition d’une clé USB, il faut utiliser la commande fdisk -l.

Cette commande renvoie la liste des disques (disques durs internes, disques durs externes, clés USB,…) connectés à l’ordinateur. Il suffit ensuite de répérer la clé USB (en fonction de sa taille généralement) et noter le fichier associé à la partition de la clé USB (/dev/sdb1 par exemple).

La commande fdisk- l renvoie également le type de fichier de la partition (ou des partitions) des différents disques.

Remarque : un fichier associé à périphérique de stockage est du format /dev/sdX, avec X correspondant à une lettre (a pour le premier périphérique, b pour le deuxième, etc). Chaque partition du périphérique est ensuite associée à un autre fichier dont le nom correspond au nom du fichier associé au périphérique, suivi du numéro de partition. Par exemple, si votre périphérique de stockage est associé au fichier /dev/sdc, la première partition de ce périphérique est associée au fichier /dev/sdc1, la deuxième au fichier /dev/sdc2, etc. Pour une clé USB, il n’y a généralement qu’une partition.

 

Montage manuel d’une clé USB

Avant de monter une clé USB, vous devez créer, avec la commande mkdir, un répertoire de montage (répertoire qui vous permettra de naviguer dans la clé USB). Ce répertoire peut être créé dans le dossier /mnt de Linux (prévu pour accueillir les points de montage de différents systèmes de fichier) ou dans le dossier /media (prévu pour accueillir les points de montage des périphériques externes).

Par exemple : mkdir /mnt/usb

Vous pouvez maintenant monter la clé USB avec la commande mount, prenant en paramètre le fichier du répertoire /dev associé à la partition à monter et le répertoire de montage.

Par exemple, pour monter la clé USB associée au fichier /dev/sdc1 dans le répertoire /mnt/usb : mount /dev/sdc1 /mnt/usb

 

Identifier le point de montage d’une clé USB

Dans le cas d’une clé USB montée automatiquement, il est possible de connnaitre le point de montage d’une clé USB (et des autres périphériques) avec la commande lsblk. Vous pouvez utiliser l’option -o suivie du nom de colonnes pour avoir plus d’informations : lsblk -o model,name,type,fstype,size,label

Démontage manuel d’une clé USB

La commande umount permet de démonter une clé USB. Elle prend en paramètre le répertoire de montage de la clé USB.

Par exemple : umount /mnt/usb (pour démonter une clé USB montée dans le répertoire /mnt/usb).

 

Formatage d’une partition d’une clé USB

Le formatage est souvent utilisé comme synonyme de suppression complète des données. En réalité, le formatage consiste à définir un système de fichiers pour une partition (ce qui a pour effet de supprimer les données présentes sur la partition). Pour formater une clé USB, il faut donc choisir un système de fichiers. Plusieurs systèmes de fichiers peuvent être utilisés :

  • FAT32 : compatible Windows, Mac et Linux – stockage de fichiers inférieurs à 4 Go ;
  • NTFS : compatible Windows, Mac (en lecture seule seulement), Linux – pour les systèmes Windows en priorité ;
  • exFAT : compatible Windows, Mac, Linux (avec l’installation du paquet exfat) – pour les fichiers dépassant 4 Go ;

Il est également possible d’utiliser le système de fichiers ext4 de Linux pour formater une clé USB, mais celle ci ne sera utilisable correctement que sur Linux. Il est donc conseillé d’utiliser le système de fichier exFAT.

Une fois que vous avez choisi un système de fichiers, le formatage s’effectue avec la commande mkfs, en passant en paramètre le fichier associé à la clé USB. Vous pouvez aussi préciser un nom à donner à la partition avec l’option -n. Par exemple, pour formater la partition d’une clé USB associée au fichier /dev/sdb1 et en donnant le nom MaCle à la partition :

  • En FAT32 : mkfs.vfat -n MaCle /dev/sdb1
  • En NTFS : mkfs.ntfs -n MaCle /dev/sdb1
  • En exFAT : mkfs.exfat -n MaCle /dev/sdb1

 

Création d’une clé bootable à partir d’un fichier ISO

Avoir une clé USB bootable est toujours utile, soit pour installer un poste ou faire du dépannage. Pour créer une clé USB bootable, vous devez avoir le fichier ISO du système que vous souhaitez installer sur la clé USB et connaitre le fichier associé à la clé USB. Il suffit ensuite d’utiliser la commande dd en précisant le fichier ISO avec l’option if et le fichier associé à la clé USB avec l’option of. Vous pouvez aussi utiliser l’option status=progress pour afficher l’avancement de la création de la clé USB.

Par exemple, pour créer une clé USB bootable associée au fichier /dev/sdc à partir du fichier ISO /home/debian.iso : dd if=/home/debian.iso of=/dev/sdc status=progress

Remarques :

  • Cette commande supprime toutes les données présentes sur le périphérique de stockage. Ne vous trompez donc pas sur le fichier associé à la clé USB.
  • La clé USB s’adapte au système sur lequel est appelé la commande dd : si le poste fonctionne avec un BIOS classique, la clé USB sera bootable en BIOS. Si le poste fonctionne avec un UEFI, la clé USB sera bootble en UEFI.

Bluetooth accélérer la reconnexion sous Debian

Accélérer la reconnexion d’une souris bluetooth sous Debian

Que c’est pénible d’attendre la reconnexion d’un périphérique bluetooth. Voici comment accélérer la reconnexion d’une souris sous Debian.

Logitech MX Anywhere 2

Pour les périphériques de type input (clavier souris), il peut être intéressant d’accélérer la reconnexion.

 

vi /etc/bluetooth/input.conf

et ajouter le paramètre :

AutoConnectTimeout = 0

 

Pour acheter cette excellente souris Logitech MX Anywhere 2. Souris sans Fil, Bluetooth et 2.4 GHz avec récepteur USB Unifying, Multidispositifs, Suivi Laser sur Toute Surface, 7 Boutons,…

zgrep – Recherche de texte dans une archive

bash-unix-shell-command

zgrep est utilisé pour invoquer la commande grep sur des fichiers compactés par compress ou par gzip. Toutes les options spécifiées sont passées directement à grep. Si aucun fichier n’est mentionné, alors l’entrée standard est décompactée si nécessaire et est envoyée à grep. Sinon, les fichiers fournis sont décompactés si nécessaire et sont envoyés à grep.

J’ai du rechercher des actions passées d’un joueur Minecraft, et ce dans les log du jeu.

J’ai effectuer dans le dossier des logs Minecraft un simple

zgrep 'Nom du joueur' 2020-*

l’action du joueur était en 2020, mais on peux étendre la recherche à tous les fichiers du répertoire, par exemple avec l’extension

zgrep 'texte à rechercher' *.log.gz

pas tester mais pourquoi ça ne fonctionnerai pas ? Vous pouvez bien entendu élargir l’utilisation à d’autre archives, par exemple dans le dossiers des log de fail2ban, où logrotate doit archiver vos logs.

Fail2ban – lister et trier les IP bannies

Lister et trier les ips bannies par Fail2ban

Il est utile de connaitre les IPs actuellement bannies par l’excellent Fail2ban.Nous allons lister et trier les ips bannies par Fail2ban avec awk.Fail2ban_logo

 

Pour rappelle cette application permet de définir le nombre de tentative maximum de connexion pour un service donné. Il peux être très intéressant pour des services tel que ssh et son daemon sshd, mais pas que. Je vous laisse vous documenter sur Fail2ban

Personnellement j’utilise :

awk '($(NF-1) = /Ban/){print $NF}' /var/log/fail2ban.log | sort | uniq -c | sort -n

cette commande vous renvoi les IP bannies avec leur nombre de tentative. Information importante pour bannir les IP définitivement de l’accès à votre serveur/machine.

Vérifier le fonctionnement de Fail2ban :

fail2ban-client status sshd

retourne le statut de la prison « sshd » (avec le nombre de tentatives échouées et la liste des IP bannies)

sinon le classique

systemctl status fail2ban

doit retourner un Active: active (running) since et une date depuis laquelle Fail2ban est actif.

PROXMOX – run-parts: /etc/cron.daily/mlocate exited with return code 1

Il m’est arrivé de recevoir un email de l’hyperviseur avec comme titre :
RUN-PARTS: /ETC/CRON.DAILY/MLOCATE EXITED WITH RETURN CODE 1

run-parts: /etc/cron.daily/mlocate exited with return code 1

locate est un lien vers le programme mlocate, il permet de localiser immédiatement n’importe quel fichier ou répertoire présent sur la machine.

locate est rapide parce qu’au lieu de parcourir en « live » toute l’arborescence du système (comme le fait find), une base de données ou index est régulièrement mis à jour qui contient la liste de tous les fichiers et répertoires. C’est cet index statique qui va être exploré très rapidement et fournir le résultat de la recherche lors de l’utilisation de locate.

La base de données est automatiquement mise à jour quotidiennement grâce au programme anacron.

C’est un problème de cet index, que l’on peux résoudre en deux lignes, et les droits root :

rm /var/lib/mlocate/mlocate.db

puis on met à jour updatedb manuellement via :
updatedb

Find où sont mes répertoires vides sous GNU/Linux

La commande find permet de trouver des fichiers, des répertoires et éventuellement d’exécuter une action par dessus. C’est exactement ce que je veux : trouver les répertoires vides d’un répertoire donné.

find -maxdepth 2 -empty -type d
  • -maxdepth : permet de limiter le find à une profondeur de 2
  • -empty : trouver les « vides »
  • -type d : on veux les répertoire

Pour exécuter une commande sur le résultat

find -maxdepth 2 -empty -type d -delete

Attention, il n’y a pas de confirmation, d’où l’intérêt de tester sans l’option -delete avant

D’autres exemples de commandes

Donne la liste des fichiers de « /etc » ayant été modifiés ces dernières 24 heures :

find /etc -mtime -1

Cette utilisation de ‘find’ permet de supprime (après confirmation) tous les fichiers (sous Unix, GNU/Linux tout est fichiers, le répertoires sons aussi concernées) de « /tmp » n’ayant pas été utilisés depuis plus de 5 jours :

find /tmp -atime +5 -exec rm -ri {} \;

Pour trouver les fichiers de plus de 100 Mo on peux utiliser :

find ~ -size +100M

sign_and_send_pubkey: signing failed: agent refused operation

Mémo de résolution de connexion par clef ssh

 

~$ ssh backup
sign_and_send_pubkey: signing failed: agent refused operation
root@10.109.55.6’s password:

 

sur le client : ~$ ssh-add

permet de voir que les droit sur la clef sont trop large, il faut restreindre les droit sur ce fichier.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0744 for ‘/home/christophe/.ssh/id_rsa’ are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.

 

Un simple :

~$ chmod 0700 /home/christophe/.ssh/id_rsa

 

 

Et c’est OK !