|
DIOS SANTOOOO, ES EL MESIAS!!!!
(perdon, necesitaba decirlo) :-P
Eso si es analizar algo
Saludos
-------Original Message-------
Date: Jueves, 03 de
Enero de 2002 12:37:52
Subject: Re: [LUG.ro]
Algo raro con el nfs
-----BEGIN PGP SIGNED MESSAGE----- Hash:
SHA1
El ls -l muestra los sig datos:
los permisos del
archivo, el n�mero de enlaces que tiene, el
nombre del propietario, el del
grupo al que pertenece, el tama�o (en bytes), una marca de tiempo, y
el nombre del archivo.
De forma
predeterminada, la marca de tiempo que se muestra es la de la
�ltima modificaci�n.
Al parecer, lo que sucede es culpa del ls,
el cual pertenece al paquete fileutils por lo que busque los fuentes
del paquete para ver como estaba el archivo ls.c. Mis conocimientos de
C son b�sicos, as� que perdonen si meto la pata ; ))
Hab�a
dicho antes que toma el tiempo de modificaci�n por defecto para mostrar
o time_mtime. Si nos fijamos en los fuentes hay una comparaci�n que se
hace para ver que tiempo pone.
Cando se ejecuta el ls -l hay un
case tendr�a que setear a 1 a la variable full_time en caso de que se
ponga el indicador --full-time. Dado que con ls -l esto no ocurre,
tomara el camino del false.
Hay un if que lo eval�a para determinar
la forma de mostrar el tiempo:
if
(full_time) long_time_format[0] = long_time_format[1] = dcgettext
(NULL, "%a %b %d %H:%M:%S %Y",
LC_TIME); else { long_time_format[0] = dcgettext (NULL, "%b %e
%Y, LC_TIME); long_time_format[1] = dcgettext (NULL, "%b %e %H:%M",
LC_TIME); }
Al setear esta forma, luego hace una comparaci�n del
tiempo, para ver si el archivo tiene un tiempo de modificaci�n
reciente o no. Esto lo hace haciendo una peque�a cuenta que se fija si
es menor a 6 meses con lo que sabe que es reciente.
La cantidad
de segundos en un a�o se calcula con el calendario Gregoriano que es
365.2425 * 24 * 60 *60 = 31556952 segundos.
El tiempo actual es
tomado desde los segundos que pasaron desde 1970 hasta el tiempo
marcado en el mtime.
static time_t current_time = TYPE_MINIMUM
(time_t); static int current_time_ns = -1;
Entonces veamos
algunas cuentas las cuales se hacen empleando la sig
estructura.
six_months_ago = current_time - 31556952 /
2; recent = (six_months_ago <= when && (when <
current_time || (when == current_time && when_ns <=
current_time_ns))); fmt = long_time_format[recent];
Al
comparar, cuando paso un minuto la variable recent se pone en 0, antes de
ese minuto se seteo en 1
Recordemos que: long_time_format[0]
= dcgettext (NULL, "%b %e %Y, LC_TIME); long_time_format[1] = dcgettext
(NULL, "%b %e %H:%M", LC_TIME);
Por lo que parece, despues de haber
puesto toda esta chorrada, no ha sabido el ls si el archivo tine mas o
menos de 6 meses, por lo cual ha puesto mal la variable
long_time_format que es la que indica como se mostrara en el comando
ls -l el tiempo definido en mtime, que es el usado por
defecto.
Resta para Uds un peque�o ejercicio que no he podido hacer
por falta de tiempo y es determinar dado los datos del mail de
Alejandro si al pasar un minuto despues de las 12:00 del 2 de Enero de
2002, la comparaci�n para ver si es mas viejo que 6 meses se esta
seteando mal.
Espero que se entienda ; ))
Si, ya se, me lime
; ))
Saludos.-
El Thursday 03 January 2002 10:38,
Alejandro Gomez Fernandez escribi�: > Esto que les muestro es lo que
yo llamo �raro�: > > -rw-r--r-- 1 102 101 1156 ene 2 11:59
pallet_200201020099_316_2736.txt > -rw-r--r-- 1 102 101 1156 ene 2
11:59 pallet_200201020104_316_2741.txt > -rw-r--r-- 1 102 101 1156
ene 2 11:59 pallet_200201020103_316_2740.txt > -rw-r--r-- 1 102 101
1156 ene 2 11:59 pallet_200201020102_316_2739.txt > -rw-r--r-- 1 102
101 1156 ene 2 12:00 pallet_200201020105_317_2742.txt > -rw-r--r-- 1
102 101 1169 ene 2 2002 pallet_200201020106_318_2743.txt >
-rw-r--r-- 1 102 101 1153 ene 2 2002
pallet_200201020109_319_2746.txt > -rw-r--r-- 1 102 101 1153 ene 2
2002 pallet_200201020108_319_2745.txt > -rw-r--r-- 1 102 101 1153
ene 2 2002 pallet_200201020107_319_2744.txt > -rw-r--r-- 1 102 101
1153 ene 2 2002 pallet_200201020110_319_2747.txt > > Lo notan?
Para verlo van a necesitar un programa de correo que soporte >
html... > Para aquellos que no lo tengan al ver este mail, les
cuento que > normalmente, despues de la fecha (mes y dia) aparece la
hora de la ultima > modificacion del archivo en cuestion. (En este
caso tambien es la fecha > de creacion). Ahora, Si se fijan, en los
ultimos 5 archivos de esta > muestra, la hora �magicamente� se
transformo en el a�o!!!! Estos archivos > se crearon el mismo dia,
en orden consecutivo dado por la secuencia de > los digitos que
continuan a la palabra pallet_20020102xxxx . > Lo de los numeros 102
y 101 son los el usuario y grupo del servidor > original y que no
existen en mi equipo... > > Alguna idea? > >
Gracias!!! > > > Alejandro.
- -- -
-- Sebasti�n D. Criado - [EMAIL PROTECTED] L.U.G.R.o
- http://www.lugro.org.ar Linux
Registered User # 146768 -
------------------------------------------------------------------- "Si
el Universo fuera un programa estar�a hecho en C, y correr�a sobre un
sistema UNIX" An�nimo. -----BEGIN PGP SIGNATURE----- Version:
GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org
iD8DBQE8NHlJ8hmHQ8ZCg0IRAimeAJ9PEjqfo/cnSmIXCqU6WR4PDyH12QCgqGnb vMa9RlHv2eTCFzFU3ks7pIY= =cVwn -----END
PGP SIGNATURE-----
. |