Je voulais partager certaines connaissances que j'ai acquises lorsque j'ai eu des problèmes avec libpcap et snort pour renifler une liaison réseau haute capacité (1 Go en duplex intégral; 2 Go max agrégé). Les applications renifleraient tout le trafic avec succès, mais se bloqueraient lorsque la taille du fichier atteindrait 2 Go capturés.
Si vous rencontrez des problèmes avec la création de fichiers de 2 Go, même si vous avez un système de fichiers qui le prend en charge et / ou si vous savez que le noyau le prend en charge, c'est pour vous.
Réponses:
La prise en charge des fichiers volumineux (> 2 Go) pour Linux doit être traitée dans trois emplacements distincts pour vous assurer de ne pas exécuter la limite de taille de fichier maximale de 2 Go:
Prise en charge des fichiers volumineux activée dans le noyau
Un système de fichiers qui prend en charge de grandes tailles de fichiers (de nombreux systèmes de fichiers basés sur Linux le font (ext3, reiserfs> = 3.6, etc.))
Prise en charge de fichiers volumineux dans les bibliothèques ou applications utilisées
La prise en charge du noyau pour les fichiers volumineux existe depuis le 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 lors de l'utilisation d'un système de fichiers réseau.
Enfin, les bibliothèques (ie libpcap) et les applications doivent être compilées avec les options gcc -D _LARGEFILE64_SOURCE -D _FILE_OFFSET_BITS = 64. Vérifiez que les packages que vous utilisez sont pré-compilés avec ces options ou lancez les vôtres.
Voir ici pour plus de détails.
la source
_FILE_OFFSET_BITS
passeO_LARGEFILE
à l'open
appel système sur la bonne arche, mais_FILE_OFFSET_BITS
est préférable pour la portabilité: stackoverflow.com/questions/2888425/…On dirait que c'est un problème avec libpcap ... Comme indiqué dans la première réponse.
Recompilez libpcap ou trouvez une autre version.
la source