Trabajar con ficheros grandes en SuSE Linux 7.0

Base de Datos de Soporte (lfs70)
Referido a

SuSE Linux: Versión 7.0


Petición:

Quiere trabajar con el soporte para ficheros grandes LFS (ficheros > 2 GB) con SuSE Linux 7.0. Pero no sabe como hacerlo.

Procedimiento:

Entorno:

Los sistemas que trabajan a 64 bit, como Alpha y IA64, no tienen problemas con los ficheros grandes, pero también soportan la nueva interficie. En este caso está nueva interficie es principalmente un alias a la interficie normal.

El soporte para LFS lo realizan el kernel de Linux y la libreria GNU C (aka glibc).

Los diferentes sistemas de ficheros son ReiserFS (de momento solo en SuSE) y NFSv3 (no disponible en SuSE Linux y en AFAIK no funciona completamente, 2.4.0-test1).

Restricciones:

Podemos separar dos niveles de trabajo con LFS, en el sistema de ficheros:
  1. Soporte total para ficheros > 2GB y O_LARGEFILE
  2. Soporte LFS limitado: retorna mensajes de error, propios de EINVAL/EFBIG/EOVERFLOW, cuando intenta utilizar O_LARGEFILE o posiciones > 2GB.

NFS y ReiserFS carecen de ambos actualmente. Al menos el segundo nivel puede ser alcanzado generalmente.

NFSv2 actualmente no ofrece el soporte (1), solamente NFSv3 puede hacerlo.

El único sistema de ficheros que soporta (1) en ambos, 2.2 y 2.4, es ext2. En 2.4 NFSv3 con un servidor apropiado y ReiserFS 3.6 pueden hacerlo. ReiserFS 3.5 tal y como se usa en SuSE 7.0 actualmente no soporta LFS.

Cuando los ficheros > 2GB son creados con ext2. los kernels antiguos montarán el sistema de ficheros como solo lectura (activa un flag de compatibilidad de solo lectura).

Los "inodes de 64 bits y los bloques de tamaño 64 bits tambien son olvidados en el kernel actual

Hay documentación bastante completa de las macros _FILE_OFFSET_BITS y _LARGEFILE_SOURCE en el manual glibc (run p.ej. "info libc 'Feature Test Macros'").

El,LFS API está documentado ne el LFS estándar, que está disponible en http://ftp.sas.com/standards/large.file/x_open.20Mar96.html.


Palabras clave: LFS, GRANDE, FICHEROS, SOPORTAR, 7.0

SDB-lfs70, Copyright SuSE Linux AG, Nürnberg, Germany - Versión: 01. Sep 2000
SuSE Linux AG - : 01. Sep 2000 de snbarth (sdb_gen 1.40.0)