IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

Savoir sur quel dispositif se trouve un répertoire


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur


    Homme Profil pro
    Instituteur retraité
    Inscrit en
    Novembre 2015
    Messages
    892
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Instituteur retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 892
    Billets dans le blog
    1
    Par défaut Savoir sur quel dispositif se trouve un répertoire
    Bonjour,

    Pour un besoin spécifique (script shell pour réaliser une image système de la carte SD d'un Raspberry), il me faut m'assurer que le chemin d'enregistrement choisi ne se trouve pas sur la carte mémoire elle-même mais bien sur un dispositif de stockage externe.
    J'ai pensé interroger le résultat de la commande df en vérifiant que l'on retrouve bien l'un des chemins de montage d'un dispositif en /dev/sd.. sur le chemin d'enregistrement choisi.

    Existe-t-il une commande permettant de savoir sur quel dispositif se trouve un répertoire ?
    A défaut, quelqu'un aurait-il à proposer une solution plus simple que celle que j'envisage ?
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 376
    Par défaut
    Bonjour,

    Peut-être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stat -L -c "%m" nom_du_fichier
    Avec nom_du_fichier au sens large (fichier,répertoire,lien,fifo,...)
    Cette commande ne te donnera pas le nom du device lui même mais le point de montage (dernière colonne de df).

  3. #3
    Rédacteur


    Homme Profil pro
    Instituteur retraité
    Inscrit en
    Novembre 2015
    Messages
    892
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Instituteur retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 892
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stat -L -c "%m" nom_du_fichier
    Cela devrait effectivement faciliter la recherche de correspondances au sein de ce que renvoie df.

    Citation Envoyé par Flodelarab Voir le message
    Pour obtenir les numéros de périphériques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stat --printf "%d %D %t %T\n" cible
    Après recherches, parce que je ne maîtrise pas ces aspects, je ne vois pas comment exploiter cette information.
    En effet, je ne trouve pas de correspondance entre ce que renvoie cette commande et ce que renvoie
    ou ce que l'on trouve au sein de /proc (fichiers /proc/devices et /proc/partitions notamment)
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  4. #4
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 297
    Par défaut
    Les périphériques ont un numéro majeur et un numéro mineur.
    Cela permet d'utiliser le bon pilote pour le bon périphérique (je crois).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $ stat --printf "%d %D %t %T\n" .
    2055 807 0 0
    $ stat --printf "%d %D %t %T\n" /
    2054 806 0 0
    Déjà, "2055" est suffisant pour différencier les périphériques.
    Et les exclure.
    Tu comprends que mon /home et ma racine / ne sont pas sur la même partition

    Puis, "2055" est le décimal de "807" en hexadécimal.
    Ce nombre est construit avec 8 (numéro majeur) et 7 (numéro mineur).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ grep '\<8\>' /proc/devices                                                                                                                 
      8 sd
    8 correspond aux périphériques sd.
    C'est donc mon 7ème périphérique sd qui nécessite un numéro.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $ lsblk
    NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda       8:0    0 931,5G  0 disk
    ├─sda1    8:1    0   400M  0 part
    ├─sda2    8:2    0   300M  0 part /boot/efi
    ├─sda3    8:3    0   128M  0 part
    ├─sda4    8:4    0 356,3G  0 part
    ├─sda5    8:5    0   450M  0 part
    ├─sda6    8:6    0   100G  0 part /
    ├─sda7    8:7    0 358,4G  0 part /home
    ├─sda9    8:9    0   100G  0 part
    └─sda10   8:10   0  15,5G  0 part
    sr0      11:0    1  1024M  0 rom
    Comme par hasard, c'est mon sda7.
    Et sda6 est ma racine.

    À noter que la numérotation n'a pas l'air systématique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ stat --printf "%d %D %t %T\n" /dev/sr0
    6 6 b 0
    Le numéro majeur est bien 11.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ grep '\<11\>' /proc/devices
     11 sr
    Mais le numéro de périphérique est 6.

    Le 0, comme numéro de périphérique majeur, ou mineur, indique une allocation dynamique de numéro de périphérique.

  5. #5
    Rédacteur


    Homme Profil pro
    Instituteur retraité
    Inscrit en
    Novembre 2015
    Messages
    892
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Instituteur retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 892
    Billets dans le blog
    1
    Par défaut
    Merci pour les précisions !

    Dans ma recherche d'infos, j'avais bien lu ces explications de N° majeur et mineur, mais n'arrivais pas à les retrouver à travers les diverses infos.

    Je viens de percuter qu'ils sont parfois donnés en décimal, parfois en hexadécimal.

    Ainsi, quand j'avais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    stat --printf "%d %D %t %T\n" /media/debian/PRIMTUX2/isolinux
    2065 811 0 0
    je ne faisais pas le rapprochement avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ls -l /dev/sd*
    brw-rw---- 1 root disk 8,  0 avril  2 06:16 /dev/sda
    brw-rw---- 1 root disk 8,  1 avril  2 06:16 /dev/sda1
    brw-rw---- 1 root disk 8,  2 avril  2 06:16 /dev/sda2
    brw-rw---- 1 root disk 8,  5 avril  2 06:16 /dev/sda5
    brw-rw---- 1 root disk 8, 16 avril  2 09:08 /dev/sdb
    brw-rw---- 1 root disk 8, 17 avril  2 09:08 /dev/sdb1
    en cherchant le 11 de 811 (info en hexadécimal) parmi des infos en décimal. Il fallait chercher 17 (10 + 1 en hexadécimal, soit 16 + 1 = 17) !
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  6. #6
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 376
    Par défaut
    En fait, sous linux, df est suffisant si tu ne veux que le nom du device ou se trouve le répertoire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df --output=source nom_du_fichier | tail -1

  7. #7
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 297
    Par défaut
    Bonjour

    Pour obtenir les numéros de périphériques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stat --printf "%d %D %t %T\n" cible

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. savoir sur quel fichier se trouve la souris
    Par juju116 dans le forum Débuter
    Réponses: 5
    Dernier message: 27/02/2010, 11h58
  2. Réponses: 10
    Dernier message: 28/10/2005, 16h41
  3. [C#] Comment savoir sur quel onglet on est ds 1 TabControl ?
    Par Gonat dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/10/2005, 23h17
  4. Formulaire -> pour savoir sur quel bouton on a cliqué.
    Par Thierry8 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/09/2005, 18h53
  5. Savoir sur quel boutton on a cliqué ...
    Par Fofone dans le forum Composants VCL
    Réponses: 8
    Dernier message: 10/03/2003, 16h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo