Forum Linux.général cat et fichiers de plus de 2Go ?

Posté par  .
Étiquettes : aucune
0
29
nov.
2005
Bonjour,

Je voulais tester la copie de DVD en utilisant la commande cat.

J'ai donc fait la commande suivante:

cat /dev/dvd > toto

Arrivé à environ 2G0, j'obtiens un message d'erreur (input/output error).

Est-ce que cat supporte les fichiers de plus de 2Go ? Est-ce une limitation du FS ?
  • # même sanction avec dd

    Posté par  . Évalué à 1.

    Je commence à penser que c'est le lecteur DVD qui a une baisse de régime arrivé au seuil des 2Go.

    Peut-être pas à mettre sur le dos de cat, de dd ou du FS mais simplement quelque chose qui ferait planter le lecteur DVD.

    Une idée ?
  • # File system

    Posté par  (site web personnel) . Évalué à 4.

    Je pense que c'est une limitation du système de fichier.
    • [^] # Re: File system

      Posté par  (site web personnel) . Évalué à 2.

      En effet, si tu essais de stocker ton fichier "toto" sur un système de fichier de type FAT, la limitation de la taille d'un fichier est de 2Go.
      Ceci peut expliquer cela...
      • [^] # Re: File system

        Posté par  (site web personnel) . Évalué à 3.

        Pour info, voici les limitations des différents systèmes de fichier :
        http://en.wikipedia.org/wiki/Comparison_of_file_systems
      • [^] # Re: File system

        Posté par  . Évalué à 2.

        Ce n'est pas du FAT (pas de ça chez moi merci) mais du ext3.
        • [^] # Re: File system

          Posté par  (site web personnel) . Évalué à 3.

          Je pense que ce n'est pas cat mais bash qui gère le pipe dans ta commande.

          Je pense qu'il est possible que ton bash ne soit pas compilé avec le support des large files (pour voir la vraie raison tu peux lancer ton bash par strace normalement l'erreur système sera plus précise). Essaie de le recompiler avec "-D_FILE_OFFSET_BITS=64", c'est un switch vu par les fonctions d'accès aux fichiers par la glibc. Tu peux aussi faire ch** ton vendor pour qu'il le fasse par défaut.

          Pour info j'ai eu le même problème sous Mandriva la plus récente, "mkdofs" ne fonctionne pas sur des fichiers de plus de 2G. J'ai du me faire un http://zarb.org/~gc/t/mkdosfs-largefiles moi-même pour la peine :/

          Ca sux.
    • [^] # Integer

      Posté par  . Évalué à 4.

      Bonjour,

      Je pense que c'est la limitation de integer signed . L'utilisation de integer 32 bit donc 1 bit pour dire que c'est du positible ou négatif donc certain programme ne peut pas adresse de fichiers plus de 2Go. C'est pour ca qu'on ne peut pas utiliser cdrecord pour graver mais la version spécial dvdrecord, donc les integer sont remplacer par des variables de type long.

      Ce problème peut être disparu tout seul grâche au système 64 bit (la taille de variable integer passe à 64 bit).

      Cordialement,

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.