Montez automatiquement des périphériques USB sur un Raspberry PI

Cet article a été publié par Hey sur notre foro

Dans Raspberry, si vous n'utilisez pas d'interface graphique, il devient ennuyeux de monter encore et encore notre mémoire USB. En outre, dans le processus d'automatisation de cette action (ce que je montre ci-dessous), vous pouvez en apprendre un peu plus sur la façon dont Linux gère les périphériques.

Installez autofs et udev

La première chose que nous allons faire est d'installer autofs y udev

sudo apt-get installer autofs udev

udev est un outil du noyau Linux chargé de gérer le répertoire / dev où se trouvent tous les périphériques. Et autofs nous permet, une fois configurés, de tout monter et démonter automatiquement dès que l'usb est connecté ou déconnecté.

La première chose que nous allons faire est de connecter notre mémoire usb (j'utiliserai une marque Kingston) dans notre ordinateur / Raspberry Pi. Ensuite, nous exécutons:

sudo fdisk-l

aura une sortie similaire à celle-ci:

Disque / dev / mmcblk0: 15.7 Go ... Device Boot Start End Blocks Id System / dev / mmcblk0p1 2048 1607421 802687 e W95 FAT16 (LBA) / dev / mmcblk0p2 1613824 30613503 14499840 85 Linux étendu / dev / mmcblk0p3 30613504 30679039 Linux … .. Disque / dev / sda: 32768 Go ... ID de blocs de début de démarrage de périphérique Système / dev / sda83 30.9 1 2048 c W60436479 FAT30217216 (LBA)

Ma mémoire USB externe a 30.9 Go (c'est-à-dire qu'il s'agit de / dev / sda1), tandis que la mémoire SD sur laquelle Linux est installé a 15.7 Go.

Règles personnalisées dans udev

Sachant que sda1 est notre appareil, nous utiliserons udev pour extraire des informations de la mémoire, nous exécutons donc la commande suivante:

udevadm info -a -p $ (udevadm info -q chemin -n / dev / sda1)

il y aura des blocs séparés par la phrase "regardant le périphérique parent '/ devices / ... .."

pour rendre la recherche un peu plus facile, nous pouvons utiliser grep, donc je fais ce qui suit:

udevadm info -a -p $ (udevadm info -q chemin -n / dev / sda1) | fabricant de grep

dans mon cas comme ma mémoire est un Kingston, la sortie est:

    ATTRS {fabricant} == "Kingston" # 1 ATTRS {fabricant} == "Linux 3.12.28+ dwc_otg_hcd"

ou nous pouvons également rechercher:

udevadm info -a -p $ (udevadm info -q chemin -n / dev / sda1) | grep model udevadm info -a -p $ (udevadm info -q chemin -n / dev / sdd1) | fournisseur grep

Je suis intéressé:

ATTRS {fabricant} == "Kingston"

Comme ce fut la première coïncidence. Dans la sortie de commande udevadm Je cherche le bloc où il apparaît pour la première fois "ATTRS {fabricant}"

Je prends des données que je considère comme uniques de l'appareil d'un bloc, dans mon cas:

   ATTRS {produit} == "xxx" ATTRS {série} == "xxxx" DRIVERS == "usb"

il vous suffit de créer les règles. Nous créons un fichier terminé en .rules dans udev:

sudo nano /etc/udev/rules.d/personal.rules

dans le fichier que nous mettons

ATTRS {produit} == "xxx", ATTRS {serial} == "xxx", DRIVERS == "usb", SYMLINK + = "miusb"

Maintenant, quand je connecte mon usb, il y aura un fichier / dev / miusb. C'était la partie la plus difficile.

Configuration des autofs

Nous exécutons:

sudo nano / etc / default / autofs

où il dit "TIMEOUT =" ils mettent "TIMEOUT = 1"

Allons à /etc/auto.master

nano /etc/auto.master

et à l'intérieur du fichier, nous mettons dans la dernière ligne:

/ media /etc/auto.misc

maintenant nous allons dans /etc/auto.misc

nano /etc/auto.master

et dans la dernière ligne nous écrivons:

ma mémoire -fstype = vfat, utilisateurs, rw, umask = 000: / dev / miusb

enfin on lui fait charger le module autofs au début:

sudo nano / etc / modules

et dans la dernière ligne nous écrivons:

autofs4

et voila, nous redémarrons le Raspberry. Gardez à l'esprit que le dossier n'existe pas dans / media mais lorsque nous faisons un

cd / média / mémoire

nous sommes déjà à l'intérieur. Et si nous arrêtons de l'utiliser, le dossier disparaît et nous pouvons supprimer l'appareil sans le supprimer manuellement.


5 commentaires, laissez le vôtre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Hey dit

    merci de l'avoir posté 🙂

  2.   Pablo dit

    Je pense qu'il y a une erreur, à l'étape d'édition de auto.misc, auto.master est écrit dans le code, au cas où quelqu'un sans méfiance le ferait et ne s'en rendrait pas compte 🙂

  3.   Fernando Díaz dit

    Merci, je cherchais juste à le faire sur Raspbian, j'ai utilisé Arch avant et c'était plus facile.

  4.   Azureus dit

    Très bien, que j'ai pu occuper lorsque j'ai mis mon Pi en tant que client torrent avec des répertoires partagés par samba.
    Le manuel fstab dit que quelque chose d'un peu plus robuste est de vérifier l'étiquette de l'unité avec # blkid, dans mon cas, j'ai une partition Windows montée automatiquement à chaque démarrage comme suit:

    / Dev / sda2
    UUID = 24A0729FA07276E0 / home / azureus / Windows ntfs auto, par défaut 0 2

    sur la framboise j'ai un LVM monté, je ne me souviens pas bien de la configuration.
    Selon le manuel, vous pouvez utiliser # fdisk -l pour obtenir le numéro et la lettre du lecteur et # blkid pour savoir quelle étiquette correspond à quel lecteur.

    Salutations.

    1.    Azureus dit

      [Mettre à jour]
      Cette étiquette vient du fait qu'il y a des gens (comme moi) qui se sentent paresseux pour déconnecter un volume à chaque fois que l'ordinateur est éteint, le problème c'est quand on a plusieurs volumes car il n'est pas toujours monté dans le même ordre après plusieurs redémarrages . En passant, cela présente un inconvénient, lorsque le périphérique correspondant à l'étiquette attribuée pour le montage automatique est supprimé, cela génère une erreur et ne permet pas de charger le / home au cas où la partition serait montée sur home. Cela peut être résolu en commentant le périphérique provoquant des conflits dans fstab ou en reconnectant le périphérique