8 votes

Pourquoi ne puis-je pas créer des fichiers plus grands que 2 Go sur Linux?

Je voulais partager quelques connaissances que j'ai acquises lorsque j'ai rencontré des problèmes en utilisant libpcap et snort pour écouter un lien réseau à haute capacité (1 Go en duplex intégral ; agrégat maximal de 2 Go). Les applications réussissaient à écouter tout le trafic, mais plantaient lorsque la taille du fichier atteignait 2 Go capturés.

Si vous rencontrez des problèmes pour créer des fichiers de 2 Go, même si votre système de fichiers le prend en charge, et/ou si vous savez que le noyau le prend en charge, alors ceci est pour vous.

0 votes

Pensée que je partagerais cela avec la communauté; faites-moi savoir s'il y a des modifications que je dois apporter.

22voto

Joe Dovahkiin Points 17269

Le support des fichiers volumineux ( >2GB ) pour Linux doit être abordé à trois emplacements distincts pour garantir que vous ne rencontriez pas la limite de taille maximale de fichier de 2 Go :

  1. Support des fichiers volumineux activé dans le noyau

  2. Un système de fichiers qui prend en charge les tailles de fichiers volumineux (de nombreux systèmes de fichiers basés sur Linux le font (ext3, reiserfs >= 3.6, etc))

  3. Support des fichiers volumineux dans les bibliothèques ou les applications utilisées

Le support du système de fichiers pour les fichiers volumineux existe depuis la version 2.4.0-test7 ; si vous utilisez un noyau personnalisé, assurez-vous d'avoir inclus les options de fichiers volumineux.

La plupart des systèmes de fichiers Linux prennent en charge les fichiers volumineux, mais vous pouvez rencontrer des problèmes avec l'utilisation d'un système de fichiers en réseau.

Enfin, les bibliothèques (par exemple libpcap) et les applications doivent être compilées avec les options gcc -D _LARGEFILE64_SOURCE -D _FILE_OFFSET_BITS=64. Vérifiez que les paquets que vous utilisez sont précompilés avec ces options ou compilez-les vous-même.

Consultez ici pour plus de détails.

3 votes

Au lieu de "FILE_OFFSET_BITS", il devrait être "_FILE_OFFSET_BITS".

0 votes

Vous avez raison. Corrigé.

1 votes

Si vous votez négativement, soyez au moins courtois et dites-moi pourquoi.

2voto

Joseph Kern Points 9759

Il semble que ceci est un problème avec libpcap... Comme indiqué dans la première réponse.

Recompilez libpcap, ou trouvez une autre version.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X