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 :

Espace disque : 2 programmes, 2 valeurs


Sujet :

Administration système

  1. #1
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 699
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 699
    Points : 15 042
    Points
    15 042
    Par défaut Espace disque : 2 programmes, 2 valeurs
    Préambule
    Pourquoi je hais Linux (des fois) :
    2. View I/O Limits

    Use the -i option as shown below to display the I/O limits on a particular block device.

    You can either pass the partition as an argument, or the whole device.

    The following output displays the minimum IO size, physical and logical sector size of /dev/sdb1 device.

    # blkid -i /dev/sdb1
    MINIMUM_IO_SIZE=512
    PHYSICAL_SECTOR_SIZE=512
    LOGICAL_SECTOR_SIZE=512
    source
    et dans un terminal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    # blkid -i /dev/sda4
    MINIMUM_IO_SIZE=13213811617399046656
    PHYSICAL_SECTOR_SIZE=13213811617399046656
    LOGICAL_SECTOR_SIZE=12884902400


    +++
    blkid display a single device attribute

    the blkid command with a device name display only this device attributes

    # blkid /dev/sda
    /dev/sda: UUID="a4dc8beb-1f79-4a54-883c-26bad0570794" TYPE="xfs" LABEL="/dcs07_l4_5"
    source
    et dans un terminal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # blkid /dev/sda
    /dev/sda: TYPE="isw_raid_member"
    (nota : cette information serait peut-être issue de l'utilisation précédente de ce disque [seconde main], qui aurait résisté au partitionnement + formatage ?)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # blkid /dev/sda4
    /dev/sda4: LABEL="datas" UUID="88e48b0e-ef96-4cc0-b249-fa998ec2ec34" TYPE="ext4"
    Ah ! Faut rajouter le "4" pour transformer le device en partoche.

    et avec un autre disque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    # blkid /dev/sdb
    (rien -- ligne vide)
    # blkid /dev/sdb1
    /dev/sdb1: LABEL="backup_sdb" UUID="2fcd8e8f-09c9-4ed5-90be-358eb3541d95" TYPE="ext4"
    Pareil, faut rajouter "1".
    Ces trucs-là me font perdre des heures, c'est dingue -- comme si j'avais l'éternité devant moi ...

    +++
    La question :
    j'essaie juste de savoir pourquoi tune2fs ne remonte pas la même information que df -B1 en ce qui concerne l'espace total d'une partition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    # df -B1 /dev/sdb1
    Sys. fich.        1B-blocks        Util.  Disponible Uti% Monté sur
    /dev/sdb1      867740401664 746057814016 77597048832  91% /media/sdb1
     
    # tune2fs -l /dev/sdb1
    Block count:              215261439 --> x 4096 = 881710854144
    Free blocks:               29707663 --> x 4096 = 121682587648, correspond au champ f_bfree de la structure statvfs quand on joue avec C
    Reserved block count:      10763071 --> x 4096 =  44085538816, soustraction des champs f_bfree - f_bavail
    La différence entre Block count de t2fs et 1B-blocks de df (qui correspond au champ f_blocks de la structure statvfs) est inexplicable et je ne sais pas quelle valeur correspond à la vraie vie.

    Si quelqu'un a une idée...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  2. #2
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 266
    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 266
    Points : 12 681
    Points
    12 681
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    # df -B1 /dev/sdb1
    Sys. fich.        1B-blocks        Util.  Disponible Uti% Monté sur
    /dev/sdb1      867740401664 746057814016 77597048832  91% /media/sdb1
     
    # tune2fs -l /dev/sdb1
    Block count:              215261439 --> x 4096 = 881710854144
    Free blocks:               29707663 --> x 4096 = 121682587648, correspond au champ f_bfree de la structure statvfs quand on joue avec C
    Reserved block count:      10763071 --> x 4096 =  44085538816, soustraction des champs f_bfree - f_bavail
    La différence entre Block count de t2fs et 1B-blocks de df (qui correspond au champ f_blocks de la structure statvfs) est inexplicable et je ne sais pas quelle valeur correspond à la vraie vie.

    Si quelqu'un a une idée...
    tune2fs te donne les vraies valeurs sans prendre en considération le système (il vit dans son propre monde) , tandis que df te donne les valeurs sur un point de vue pour l'utilisateur non root, donc en ne comptant pas le journal, la table de bitmap,...
    Cordialement.

  3. #3
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 699
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 699
    Points : 15 042
    Points
    15 042
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    tune2fs te donne les vraies valeurs sans prendre en considération le système (il vit dans son propre monde), tandis que df te donne les valeurs sur un point de vue pour l'utilisateur non root, donc en ne comptant pas le journal, la table de bitmap, ...
    Ça me va.
    Si pas d'autre(s) avis, je prends, et

    EDIT : ça me va, mais il y a quand même un truc qui me chagrine...

    La sortie de df mérite une explication plus approfondie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # df -B1 /media/sdb1/
    Sys. fich.        1B-blocks        Util.  Disponible Uti% Monté sur
    /dev/sdb1      867740401664 746057814016 77597048832  91% /media/sdb1
    En effet,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      746057814016 utilisé
    +  77597048832 disponible
    = 823654862848


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      867740401664
    - 823654862848
    =  44085538816 / 4096 = 10763071 (Reserved block count de tune2fs)
    qui n'apparait pas dans la sortie de df.

    Jusqu'à présent, cette histoire de "reserved block count" se trouve sur le web comme "Reserved for root" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        /*
         * It is helpful to use a picture for calculation of disk space.
         *
         * |<--------------------- f_blocks ---------------------------->|
         *                 |<---------------- f_bfree ------------------>|
         *
         * ---------------------------------------------------------------
         * | USED          | f_bavail                | Reserved for root |
         * ---------------------------------------------------------------
         *
         */
    source
    mais à te lire ce n'est pas vrai : l'utilisateur root avec tous ses pleins pouvoirs ne va pas utiliser cet espace qui lui est "réservé" pour y stocker des photos cochonnes ou Dieu seul sait quoi, en fait cet espace est "Reserved for system (journaux, tables diverses, etc.)"

    Du coup, le vrai espace total utilisable est la somme de USED et f_bavail.

    D'ailleurs, man statfs nous dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      fsblkcnt_t f_bfree;   /* Free blocks in filesystem */
      fsblkcnt_t f_bavail;  /* Free blocks available to unprivileged user */
    que j'aurais tendance à récrire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      fsblkcnt_t f_bfree;   /* Blocks reserved for system use */
      fsblkcnt_t f_bavail;  /* Free blocks available to users */
    Je vais donc me baser sur le calcul précédent pour connaître l'espace total, et voili et voilou.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  4. #4
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 699
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 699
    Points : 15 042
    Points
    15 042
    Par défaut
    Salut,

    Un dernier mot en forme de conclusion et résumé :
    en fait le problème de compréhension de la sortie de df en français est d'ordre sémantique : je sais pas vous mais moi, quand je vois la colonne "Util.", quand je lis "Util." quand j'entends dans ma tête "Util." je comprends (hélas) "Utile" car ça "sonne" pareil, sauf qu'il faut comprendre "Utilisé", used in English, et non pas available, ce qui change tout.

    Par ailleurs, je confirme ce que je disais hier, ce "Reserved for root" est une bêtise, j'ai fait des tests et les informations renvoyées par la structure statvfs sont les mêmes, que le programme analysant les données soit lancé sous root ou sous un user lamba : c'est bien "Reserved for system" qu'il faut comprendre.
    L'erreur vient peut-être (sans doute ?) d'une confusion entre l'utilisateur root et l'emplacement root (racine) sur le périphérique.

    J'utilise maintenant les valeurs de statvfs, et l'espace total devient sbuf.f_frsize * (sbuf.f_blocks - sbuf.f_bfree + sbuf.f_bavail), qui correspond aux sorties de df -B1 Util.[isé !] + Disponible.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #5
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 266
    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 266
    Points : 12 681
    Points
    12 681
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        /*
         * It is helpful to use a picture for calculation of disk space.
         *
         * |<--------------------- f_blocks ---------------------------->|
         *                 |<---------------- f_bfree ------------------>|
         *
         * ---------------------------------------------------------------
         * | USED          | f_bavail                | Reserved for root |
         * ---------------------------------------------------------------
         *
         */
    source
    mais à te lire ce n'est pas vrai : l'utilisateur root avec tous ses pleins pouvoirs ne va pas utiliser cet espace qui lui est "réservé" pour y stocker des photos cochonnes ou Dieu seul sait quoi, en fait cet espace est "Reserved for system (journaux, tables diverses, etc.)"
    Non, si c'était le cas, tu retrouverais la valeur du Block count de tune2fs en additionnant le tout, ce qui n'est pas le cas, la réserve permet bien à root de pouvoir continuer à travailler alors que le FS est déclaré FULL.

    Ou alors, je n'ai pas compris de quels journaux ou tables diverses tu faisais allusion.

    Un exemple simple: tu crées une partition var ou dedans tu as les log du systèmes (genre messages) ainsi que le spool d'un serveur de mail.
    Un utilisateur pourrait te remplir la partition rien qu'en recevant beaucoup de mail, ce qui ferait qu'une fois cette partition full à cause de l'utilisateur en question, on ne pourrait plus avoir d'alerte dans messages ou autre log système et pour faciliter les choses, ton système pourrait se figé. C'est là toute l'utilité de cette réserve pour root.
    D'ailleurs, un petit détail: celle-ci est par défaut de 5% mais lors de l'initialisation de la partition, il est souvent utile de changer cette valeur, car 5% de 1To c'est un peu beaucoup, mais 5% de 100Mo, ce n'est peut-être pas assez selon l'utilisation de la partition en question.
    Cordialement.

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 348
    Points : 42 815
    Points
    42 815
    Par défaut
    La confusion vient je pense des éléments de la structure statfs
    champ f_bfree : blocs libres
    champ f_bavail : blocs libres pour les utilisateurs

    La différence entre f_bfree et f_bavail étant les blocs réservés à root.

    la doc de df ne précise pas la valeur retournée.
    Je viens de faire un test en appelant df en user simple et en root : même résultat.

    Reste à voir ce qui est retourné : f_bfree ou f_bavail

    Il me paraitrait logique que ce soit f_bavail, la réservation étant pour éviter de ne rien pouvoir faire si FS rempli. J'ai pas regardé.

    Autre point :
    Un FS va te retourner un nombre de blocs lié à celui-ci, un utilitaire de périphérique, hors FS va te retourner un nombre de bloc lié au périphérique. Il peut y avoir une différence.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  7. #7
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 699
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 699
    Points : 15 042
    Points
    15 042
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Ou alors, je n'ai pas compris de quels journaux ou tables diverses tu faisais allusion.
    je parlais de ta réponse précédente :
    Citation Envoyé par disedorgue Voir le message
    donc en ne comptant pas le journal, la table de bitmap,...
    Je comprends bien qu'un système de logs va pouvoir y accéder et permettre à root d'y éditer des fichiers, mais pas plus.
    La confusion semble venir du fait que si bfree-bavail = bfree4root, il n'est pas possible pour autant que root y stocke des films ou que sais-je.
    Cet espace ne peut pas se comporter comme une partoche dédiée à root, c'est pour ça que les mots utilisés dans l'aide prêtent à confusion.

    De toute façon, en utilisant grand_total = sbuf.f_blocks - sbuf.f_bfree + sbuf.f_bavail je suis tranquille car en remplaçant la valeur remontée par df (premier champ) par ce grand_total, je conserve la marge réservée à root, aux fichiers système, bref à cette partie qu'on ne maîtrise pas.


    Citation Envoyé par chrtophe Voir le message
    Reste à voir ce qui est retourné : f_bfree ou f_bavail
    Je suis parti de cette discussion, où on y croise quelqu'un qu'on voit parfois ici

    Pour s'y retrouver, j'ai pondu des lignes comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        printf("Espace used  : %15llu %s\n", (long long) sbuf.f_frsize * (sbuf.f_blocks - sbuf.f_bfree), " = df Util.");
        printf("Espace dispo : %15llu %s\n", (long long) sbuf.f_frsize *  sbuf.f_bavail, " = df Disponible, bavail");
        printf("nouveau total: %15llu %s\n", (long long) sbuf.f_frsize * (sbuf.f_blocks - sbuf.f_bfree + sbuf.f_bavail), " = blocks-bfree+bavail (= Util.+Dispo)");
        printf("Espace libre : %15llu %s\n", (long long) sbuf.f_frsize *  sbuf.f_bfree, " = bfree, tune2fs Free blocks");
        printf("libre - dispo= %15llu %s\n", (long long) sbuf.f_frsize * (sbuf.f_bfree - sbuf.f_bavail), " = bfree - bavail, tune2fs Reserved block count");
    Les textes permettent de raccorder les morceaux, en comparant avec une sortie df -B1.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  8. #8
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 699
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 699
    Points : 15 042
    Points
    15 042
    Par défaut
    Bonjour,

    un petit mot vite fait à propos de l'avancement du chantier.

    1) une info : dans mon petit prog (qui remonte les mêmes infos que df -B1 chemin), il faut IM-PÉ-RA-TI-VE-MENT faire un appel à sync(); sinon l'appel suivant à statvfs remplit la structure des datas avec des valeurs fausses ! C'est bien noté ?

    2) un souci : il va falloir que je creuse un truc vraiment bizarre, l'arrondi à l'unité supérieure en nombre de blocs est fluctuant.
    Un exemple : soit une petite partoche ext4 (sur clé usb) de 128 Mo, avec donc une taille de bloc de 1024 bytes.
    Si j'y copie un fichier de 1025 bytes, il va occuper 2 blocs car 1025 / 1024 = 1,0009765625 soit supérieur à 1 donc 2.

    Et j'ai un fichier (pour le moment, mais je ne sais pas trop comment chercher ça...) de 54 860 518 bytes (choisi au pif), donc 54860518 / 1024 = 53574,7246094 que j'arrondis à 53575 mais l'appel à statvfs retourne 53576.
    Un fichier plus petit de 38 455 854 bytes retourne bien 37555 blocs, calcul comme appel à statvfs.

    Ce n'est pas dramatique mais c'est très désagréable.

    Il va falloir que je fasse d'autres tests, mais j'ai un peu peur de m'engager dans un chemin passablement hasardeux, et termes de choix des fichiers.

    Je résume : fichier de 38 Mo --> nombre de blocs ok, fichier de 55 Mo --> nombre de blocs + 1.
    Je n'aurai pas trop le temps cet après-midi, mais je vous lirai avec attention à mon retour.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  9. #9
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 266
    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 266
    Points : 12 681
    Points
    12 681
    Par défaut
    Comment as-tu mis tes fichiers sur ta clé ?

    As-tu créé un nouveau répertoire ou bien agrandi la structure de ton répertoire d'origine de ta clé ?

    En gros, ça peut être le soucis de passé par des comptages indirectes, ici, on peut bêtement agrandir un répertoire...
    Cordialement.

  10. #10
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 699
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 699
    Points : 15 042
    Points
    15 042
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Comment as-tu mis tes fichiers sur ta clé ?
    Avec la touche F5 dans mc.

    Citation Envoyé par disedorgue Voir le message
    As-tu créé un nouveau répertoire ou bien agrandi la structure de ton répertoire d'origine de ta clé ?
    Ni l'un ni l'autre : ai d'abord tout nettoyé/viré avec gparted, puis recréé une partoche de 128 M au début de la clé, toujours avec gparted, qui a participé au formatage également.

    Citation Envoyé par disedorgue Voir le message
    En gros, ça peut être le soucis de passé par des comptages indirectes, ici, on peut bêtement agrandir un répertoire...
    Pas compris ce que tu veux dire, là.

    Quand je me suis rendu compte de ce décalage de 1 bloc, c'était après copie d'un paquet de fichiers : alors j'ai tout viré puis recommencé un fichier à la fois jusqu'à trouver le coupable, que j'ai confirmé après nouvelle suppression de tout puis copie de juste le coupable.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  11. #11
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 348
    Points : 42 815
    Points
    42 815
    Par défaut
    Tes fichiers sont sur clé USB ? Donc en FAT, ton calcul n'est peut-être pas juste du coup.

    L'unité d"allocation en FAT n'est pas un bloc mais un cluster. La taille d'un cluster est variable, de 1 à 128 secteurs par multiple de 2 (octet 13 du secteur 0 du volume FAT appelé BPB). Un fichier utilise au minimum un cluster. Si la taille d'un cluster est de 4 secteurs, un fichier de 1 octet occupera sur le disque 4*512=2048 octets, et donc un fichier de 2049 octets occupera 4096 octets. Il faudrait voir si le VFS Linux reporte bien la taille d'un cluster dans le champ f_bsize du statfs d'un volume FAT, en théorie ça devrait être le cas.

    Ou alors c'est peut-être une question d'arrondi.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  12. #12
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 699
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 699
    Points : 15 042
    Points
    15 042
    Par défaut
    Citation Envoyé par chrtophe Voir le message
    Tes fichiers sont sur clé USB ? Donc en FAT, ton calcul n'est peut-être pas juste du coup.
    Je l'ai formatée en ext4 et à l'insertion (à l'instant) elle est parfaitement bien reconnue automatiquement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /dev/sdc1 on /media/redkey type ext4 (rw,nosuid,nodev,relatime,data=ordered,uhelper=udisks)
    redkey c'est le petit nom mignon que je lui ai attribuée, because elle est d'un joli rouge tendre,
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  13. #13
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 699
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 699
    Points : 15 042
    Points
    15 042
    Par défaut
    Quand j'appelle l'outil stat sur mon fichier de 55 Mo, la première ligne retourne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       Taille : 54860518  	Blocs : 107152     ES blocs : 1024   fichier
    ...
    (On notera le mot "fichier" tout seul au bout de la ligne )

    et si je l'appelle ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    # stat --format=%s,%b,%B,%o /media/redkey/Wang\ Dang\ Doodle.wav
    ça me donne cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    54860518,107152,512,1024
    avec ces 4 options (man stat) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
           %s     Total size, in bytes
           %b     Number of blocks allocated (see %B)
           %B     The size in bytes of each block reported by %b
           %o     I/O block size
    Questions :
    que veut dire ES ? Entrées/Sorties ? C'est la valeur renvoyée par l'option %o, I/O block size, soit 1024.
    pourquoi %B (512) n'est pas directement remonté par l'outil ?

    Par ailleurs, 107152 x 512 = 54861824, c'est la valeur la plus proche divisible par 4 de la taille divisée par %o : 54860518 / 512 = 107149,449219 --> 107150 n'est pas divisible par 4, pas plus que 107151, mais 107152 oui --> 26788, tiens tiens, car si ensuite je multiplie 26788 par 2 ça donne 53576, la valeur dont j'ai déjà parlé à propos du bloc surnuméraire, sans explication.

    Et 53576 x 1024 = 54861824, la valeur remontée par df -B1 fichier ou mon outil.

    Je vais continuer à creuser cette histoire de division entière par 4 (même si je n'ai rien lu à ce propos) avec d'autres fichiers, histoire de voir...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  14. #14
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 266
    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 266
    Points : 12 681
    Points
    12 681
    Par défaut
    Perso, j'ai des fichiers qui ont par exemple 16 blocs en plus si on calcul par rapport à leur taille réelle...

    Ceci se joue à cause de la fragmentation. As-tu essayé d'utiliser debugfs comme par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    debugfs /dev/sdc1 <<_EOF
    dump_extents -l "/Wang Dang Doodle.wav"
    _EOF
    Chez moi, par exemple le fichier avec 16 blocs en plus par rapport à sa taille me donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Level Entries         Logical              Physical Length Flags
     1/ 1   1/ 14      0 -    124  78250624 -  78250748    125 
     1/ 1   2/ 14    125 -   6143  88631239 -  88637257   6019 
     1/ 1   3/ 14   6144 -   8191 101388288 - 101390335   2048 
     1/ 1   4/ 14   8192 -  10239 101535744 - 101537791   2048 
     1/ 1   5/ 14  10240 -  12287 101617664 - 101619711   2048 
     1/ 1   6/ 14  12288 -  14335 103501824 - 103503871   2048 
     1/ 1   7/ 14  14336 -  18431 104091648 - 104095743   4096 
     1/ 1   8/ 14  18432 -  51199 104163328 - 104196095  32768 
     1/ 1   9/ 14  51200 -  83967 104196096 - 104228863  32768 
     1/ 1  10/ 14  83968 - 116735 104228864 - 104261631  32768 
     1/ 1  11/ 14 116736 - 149503 104261632 - 104294399  32768 
     1/ 1  12/ 14 149504 - 182271 104294400 - 104327167  32768 
     1/ 1  13/ 14 182272 - 186367 104327168 - 104331263   4096 
     1/ 1  14/ 14 186368 - 211277 104419328 - 104444237  24910
    Cordialement.

  15. #15
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 699
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 699
    Points : 15 042
    Points
    15 042
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Perso, j'ai des fichiers qui ont par exemple 16 blocs en plus si on calcule par rapport à leur taille réelle...
    Et encore, tu n'as pas précisé si les blocs étaient de 512, 1024 ou 4096 octets,

    Citation Envoyé par disedorgue Voir le message
    Ceci se joue à cause de la fragmentation. As-tu essayé d'utiliser debugfs
    Je ne connaissais pas cet outil, j'ai fait man debugfs et j'ai pleuré un grand coup,

    Bon, le mieux étant l'ennemi du bien, je crois que je vais en rester là.

    L'idée de base était de récupérer l'espace libre exact d'une partoche, pour pouvoir y créer par programmation des disques virtuels statiques de grande taille.
    Si l'espace remonté par le champ f_bavail de la structure statvfs est toujours supérieur (ou égal, par une sacrée coïncidence !) à la réalité, on va donc dire que dans tous les cas ça ira.

    Merci à tous,


    Ah, pour les curieux (compil sous geany : F8 puis F9) :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    /* file mydf.c -- jipété, déc. 2018 */
     
    /* http://www.linuxquestions.org/questions/programming-9/find-dir-space-419927/#post2126437
     
     mettre ce define sinon erreur EOVERFLOW si fichier > 2,147 Gb
     
     vient de config.h de coreutils */
    /* Number of bits in a file offset, on hosts where this is settable. */
    #define _FILE_OFFSET_BITS 64
    /* oblige à rajouter un casting (long long) et modif lu -> llu */
     
    #include <sys/types.h>
    #include <sys/statvfs.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <unistd.h> // sync
     
    int main (int nb_args, char * args[])
    {
      long long total, occup, libre;
    	struct statvfs sbuf;
     
    	if (nb_args != 2) {
    		 fprintf (stderr, "syntaxe : %s <fichier> ou <dossier>\n", args[0]);
    		 exit (1);
    	}
     
      sync();
     
      if (statvfs(args[1], &sbuf) < 0) {
         fprintf (stderr, "Erreur en récupérant les informations de %s\n", args[1]);
         exit(-1);
      }
    /*  
      printf("mode 'df -B1':\n");
      //printf("Espace total : %15llu %s\n", (long long) sbuf.f_frsize *  sbuf.f_blocks, " = df 1B-blocks");
      printf("Espace used  : %15llu %s\n", (long long) sbuf.f_frsize * (sbuf.f_blocks - sbuf.f_bfree), " = df Util.");
      printf("Espace dispo : %15llu %s\n", (long long) sbuf.f_frsize *  sbuf.f_bavail, " = df Disponible, bavail");
      printf("nouveau total: %15llu %s\n", (long long) sbuf.f_frsize * (sbuf.f_blocks - sbuf.f_bfree + sbuf.f_bavail), " = blocks-bfree+bavail (= Util.+Dispo)");
      printf("Espace libre : %15llu %s\n", (long long) sbuf.f_frsize *  sbuf.f_bfree, " = bfree, tune2fs Free blocks");
      printf("libre - dispo= %15llu %s\n", (long long) sbuf.f_frsize * (sbuf.f_bfree - sbuf.f_bavail), " = bfree - bavail, tune2fs Reserved block count");
    //netbsd    printf("libre - dispo= %15llu %s\n", (long long) sbuf.f_frsize * (sbuf.f_bresvd), " = f_bresvd, tune2fs Reserved block count");
      printf("\n"); 
    */  
      total = sbuf.f_frsize * (sbuf.f_blocks - sbuf.f_bfree + sbuf.f_bavail);
      occup = sbuf.f_frsize * (sbuf.f_blocks - sbuf.f_bfree);
      libre = sbuf.f_frsize *  sbuf.f_bavail;
      printf("Espace gnd total |         utilisé |      disponible | (en octets)\n");
      printf("%16llu  %16llu  %16llu \n", total, occup, libre);
     
    /* sortie (dossier '.') :
    Espace gnd total |         utilisé |      disponible | (en octets)
         83953655808       31480061952       52473593856 
         
       et pour récupérer les champs par script :
       # /datas/Coding/C/stat_work/mydf . | awk 'NR==2 {print $1}'
       83953655808
       # /datas/Coding/C/stat_work/mydf . | awk 'NR==2 {print $2}'
       31480094720
       # /datas/Coding/C/stat_work/mydf . | awk 'NR==2 {print $3}'
       52473561088
     */
        /* https://stackoverflow.com/questions/4965355/converting-statvfs-to-percentage-free-correctly
         * SIMUL -- les champs commençant par "f_" viennent de la structure statvfs
         *  les deux autres sont calculés : 
         *  USED = f_blocks - f_bfree (= df Util.[isé]), 
         *  Rfr = f_bfree - f_bavail
         *
         * |<--------------------- f_blocks 100------------------------->|
         *                 |<---------------- f_bfree 60---------------->|
         *
         * ---------------------------------------------------------------
         * | USED  40      | f_bavail  35            | Resrv for root 25 |
         * ---------------------------------------------------------------
         *
         * Rfr = 60 -35 = 25
         * nouveau total = 100-60+35 = 75 --> = 100-25 = used + bavail = 40+35 = 75
         */
     
        return (0);
    }
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  16. #16
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 699
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 699
    Points : 15 042
    Points
    15 042
    Par défaut
    Une dernière chose me turlupinait, déjà indiquée :
    Citation Envoyé par Jipété Voir le message
    D'ailleurs, man statfs nous dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      fsblkcnt_t f_bfree;   /* Free blocks in filesystem */
      fsblkcnt_t f_bavail;  /* Free blocks available to unprivileged user */
    que j'aurais tendance à récrire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      fsblkcnt_t f_bfree;   /* Blocks reserved for system use */
      fsblkcnt_t f_bavail;  /* Free blocks available to users */
    Et je n'étais pas d'accord avec cette réponse :
    Citation Envoyé par disedorgue Voir le message
    la réserve permet bien à root de pouvoir continuer à travailler alors que le FS est déclaré FULL.
    Ce matin j'ai regardé la structure profonde de ext4 et j'ai fait une recherche du mot root dans la page https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout,
    Nulle part il est question du user "root", nulle part !
    Par contre, il y a 17 occurrences de "root" trouvées, les voilà, toujours liées à la racine du système de fichiers :
    Root directory.
    when a directory is created in the root directory, the inode allocator scans
    The root node of the extent tree is stored in
    The root of the tree always lives in the first data block of the directory.
    The rest of the root node contains metadata about
    If dx_root.info.indirect_levels is non-zero then
    the root node's map
    The root of the htree is in struct dx_root,
    struct dx_root_info.reserved_zero
    struct dx_root_info.hash_version
    struct dx_root_info.info_length
    struct dx_root_info.indirect_levels
    struct dx_root_info.unused_flags
    The hash maps that exist in both struct dx_root and struct dx_node
    The limit and count entries in the dx_root/dx_node structures
    the htree index header (dx_root or dx_node)
    Et ici https://bugzilla.kernel.org/show_bug.cgi?id=93031, on voit plusieurs fois le mot root mais la plupart du temps en liaison avec journal, fs, flags, exemple : "If I mistype noatime to noatiem the root filesystem mounts read-only."

    Et aussi https://bugzilla.kernel.org/show_bug.cgi?id=114821
    "the inode holds a single text file in the root directory of the drive"
    "the file is in the root directory and gets listed each time the root is traversed."
    (Dommage, la discussion s'arrête sur des questions de l'OP sans réponses du support depuis deux ans et demi... Pas cool. )

    Je remets donc le croquis permettant de mieux comprendre (un petit dessin vaut mieux qu'un long discours, ), avec une petite modification, donc :
    https://stackoverflow.com/questions/...free-correctly

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        /*
         * It is helpful to use a picture for calculation of disk space.
         *
         * |<--------------------- f_blocks ------------------------------->|
         *                 |<---------------- f_bfree --------------------->|
         *
         * ------------------------------------------------------------------
         * | USED          | f_bavail                | Reserved for root fs |
         * ------------------------------------------------------------------
         *
         */
    et je modifie mon extrait du man statfs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fsblkcnt_t f_bfree;   /* Free blocks in filesystem */
    fsblkcnt_t f_bavail;  /* Free blocks available to unprivileged user */
    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fsblkcnt_t f_bfree;   /* Blocks reserved for filesystem functionalities + f_bavail */
    fsblkcnt_t f_bavail;  /* Free blocks available to users */
    to users car je mets la même quantité de données sur ma clé usb, que je sois loggé root ou lambda.


    Rien à voir mais bon à savoir : ext4 becomes less efficient when it's approaching ~90% full (https://ext4.wiki.kernel.org/index.php/Ext4_VM_Images)
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  17. #17
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 266
    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 266
    Points : 12 681
    Points
    12 681
    Par défaut
    Ok, le man de mk2efs doit être faux ou mal interprété de ma part:
    -m reserved-blocks-percentage
    Specify the percentage of the filesystem blocks reserved for the super-user. This avoids fragmentation, and allows root-owned daemons, such as syslogd(8), to continue to function correctly after non-privileged processes are prevented from writing to the filesystem. The default percentage is 5%.
    Cordialement.

  18. #18
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 699
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 699
    Points : 15 042
    Points
    15 042
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Ok, le man de mk2efs doit être faux ou mal interprété de ma part:
    -m reserved-blocks-percentage
    Specify the percentage of the filesystem blocks reserved for the super-user.
    De ce que j'ai vu ce matin, je dirais qu'il faudrait plutôt le lire
    Specify the percentage of the filesystem blocks reserved for the root directory
    .

    Citation Envoyé par disedorgue Voir le message
    This avoids fragmentation, and allows root-owned daemons, such as syslogd(8), to continue to function correctly after non-privileged processes are prevented from writing to the filesystem.
    La non-fragmentation fait appel à un autre mécanisme (extent), quant au reste, ma foi, pourquoi pas, dans un contexte où il n'y a qu'une seule partition pour tout le système.

    Citation Envoyé par disedorgue Voir le message
    The default percentage is 5%.
    Et ça, ça me semble correct, et déterminé par les options qu'on passe à mke2fs.

    Mais je ne prétends pas détenir la vérité absolue, juste que je m'interroge, que je creuse, et je viens partager avec vous le fruit de mes découvertes et gamberges...


    Et du coup je tombe sur des trucs sympas, genre avec ça
    Citation Envoyé par Jipété Voir le message
    Quand j'appelle l'outil stat sur mon fichier de 55 Mo, la première ligne retourne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       Taille : 54860518  	Blocs : 107152     ES blocs : 1024   fichier
    ...
    (On notera le mot "fichier" tout seul au bout de la ligne )
    et ce mot "fichier" qui m'intriguait, tout seul, et qui est en fait une traduction bizarre.
    Je suis tombé sur un exemple plus clair, avec le texte d'origine : Size: 4984 Blocks: 16 IO Block: 4096 regular file, source
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  19. #19
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 266
    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 266
    Points : 12 681
    Points
    12 681
    Par défaut
    Passer de:
    Specify the percentage of the filesystem blocks reserved for the super-user
    à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Specify the percentage of the filesystem blocks reserved for the root directory
    Il y a un quand même une différence de concept que je n'arrive pas à partager et qui rend d'ailleurs incohérente la phrase suivante.
    En plus, je ne vois pas le besoin de cette réserve pour le "répertoire racine"...

    Et je rajouterai même que cette réserve n'est pas prise, c'est juste une valeur qui servira au système (partie intelligente du driver) à savoir s'il peut continuer à allouer des blocs pour un demandeur lambda ou s'il ne peut le faire que pour le super-user.

    Sinon, personnellement, j'ai du mal avec les versions "traduites" des man et autre commande qui sont généralement pleines de malentendus, comme par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    man -a wc
    WC(1)                    Manuel de l’utilisateur Linux                   WC(1)
    
    NOM
           wc - Afficher le nombre d’octets, de mots et de lignes d’un fichier
    ....
    ....
    WC(1)                            User Commands                           WC(1)
    
    NAME
           wc - print newline, word, and byte counts for each file
    La version anglaise dit bien qu'elle compte les "newline" et non pas les lignes comme semble le dire la version française...
    Cordialement.

  20. #20
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 699
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 699
    Points : 15 042
    Points
    15 042
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Passer de:
    Specify the percentage of the filesystem blocks reserved for the super-user
    à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Specify the percentage of the filesystem blocks reserved for the root directory
    Il y a quand même une différence de concept que je n'arrive pas à partager et qui rend d'ailleurs incohérente la phrase suivante.
    Ben oui, je sais bien, ça m'a fait pareil, tout ce que je peux conseiller c'est de relire mon post de 10 h 14 (dont je n'hésite pas à remettre un bout), et j'invite les courageux à suivre le lien que j'ai donné concernant le layout de l'ext4.
    Citation Envoyé par Jipété Voir le message
    Ce matin j'ai regardé la structure profonde de ext4 et j'ai fait une recherche du mot root dans la page https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout,
    Nulle part il est question du user "root", nulle part !
    Par contre, il y a 17 occurrences de "root" trouvées, les voilà, toujours liées à la racine du système de fichiers :
    Root directory.
    when a directory is created in the root directory, the inode allocator scans
    The root node of the extent tree is stored in
    The root of the tree always lives in the first data block of the directory.
    The rest of the root node contains metadata about
    If dx_root.info.indirect_levels is non-zero then
    the root node's map
    The root of the htree is in struct dx_root,
    struct dx_root_info.reserved_zero
    struct dx_root_info.hash_version
    struct dx_root_info.info_length
    struct dx_root_info.indirect_levels
    struct dx_root_info.unused_flags
    The hash maps that exist in both struct dx_root and struct dx_node
    The limit and count entries in the dx_root/dx_node structures
    the htree index header (dx_root or dx_node)
    Et ici https://bugzilla.kernel.org/show_bug.cgi?id=93031, on voit plusieurs fois le mot root mais la plupart du temps en liaison avec journal, fs, flags, exemple : "If I mistype noatime to noatiem the root filesystem mounts read-only."

    Et aussi https://bugzilla.kernel.org/show_bug.cgi?id=114821
    "the inode holds a single text file in the root directory of the drive"
    "the file is in the root directory and gets listed each time the root is traversed."
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/05/2018, 12h13
  2. Réponses: 2
    Dernier message: 24/06/2004, 10h13
  3. Probleme d'espace disque (= 0)
    Par infotron dans le forum Administration système
    Réponses: 12
    Dernier message: 01/06/2004, 19h29
  4. VBScript pour obtenir l'espace disque libre
    Par Archangelo dans le forum ASP
    Réponses: 2
    Dernier message: 05/05/2004, 13h33
  5. visualiser l'espace disque occupé par ma base
    Par superdada dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 08/01/2004, 15h59

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