Cuando descomprimo un tar.gz
archivo en Debian Lenny, obtengo los siguientes resultados:
tar: openssl-1.0.1e/apps/openssl.cnf: time stamp 2013-02-11 15:26:04 is 1360584537.139999998 s in the future
openssl-1.0.1e/apps/openssl-vms.cnf
tar: openssl-1.0.1e/apps/openssl-vms.cnf: time stamp 2013-02-11 15:26:04 is 1360584537.129999998 s in the future
openssl-1.0.1e/apps/passwd.c
Veo que la marca de tiempo del archivo está en el futuro comparando la hora del sistema. Utilizo touch
lo siguiente para cambiar la marca de tiempo del archivo y stat
muestra que la marca de tiempo del archivo es la hora actual del sistema, luego intento descomprimir el archivo, pero sigo teniendo el mismo problema de marca de tiempo (como arriba).
ts7500:/home# touch -am openssl-1.0.1e.tar.gz
ts7500:/home# stat openssl-1.0.1e.tar.gz
File: `openssl-1.0.1e.tar.gz'
Size: 4459777 Blocks: 8736 IO Block: 4096 regular file
Device: 2b09h/11017d Inode: 40802 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 1970-01-01 03:15:24.000000000 +0000
Modify: 1970-01-01 03:15:24.000000000 +0000
Change: 1970-01-01 03:15:24.000000000 +0000
ts7500:/home# date
Thu Jan 1 03:15:48 UTC 1970
ts7500:/home# tar xvf openssl-1.0.1e.tar.gz
Sé que puedo resolver el problema cambiando la hora del sistema date -s "08 JUN 2013 00:19:00"
o use NTP
. Pero me pregunto, ¿por qué touch
no funcionó cambiar la marca de tiempo del archivo ? ¿Cómo debería haber cambiado la marca de tiempo del archivo para no tener esa advertencia?
Si desea ver el sistema de archivos:
ts7500:/home# blkid
/dev/nbd6: SEC_TYPE="msdos" UUID="01E8-4C7D" TYPE="vfat"
/dev/nbd8: UUID="236b63b3-15db-40c3-bc5f-e4b7c4b10751" TYPE="ext2"
/dev/nbd9: UUID="5b13aa84-e589-41a7-84cf-2d0d6bf2a9cd" TYPE="ext3"
ts7500:/home# df -Th
Filesystem Type Size Used Avail Use% Mounted on
tmpfs tmpfs 31M 4.0K 31M 1% /lib/init/rw
udev tmpfs 10M 160K 9.9M 2% /dev
tmpfs tmpfs 31M 0 31M 0% /dev/shm
rootfs rootfs 3.3G 1.7G 1.5G 53% /
/dev/root ext2 2.0M 1.7M 311K 85% /initrd
Respuesta1
No funcionó porque cambiaste la marca de tiempo delarchivo, no de los archivos que contiene. Si ejecuta stat
el tar.gz
archivo, encontrará que la hora se cambió correctamente. touch
No puede acceder a los archivos almacenados en el archivo hasta que los extraiga para que no se modifiquen.
En cualquier caso, esto no debería ser un problema, simplemente descomprima el archivo y luego cambie la marca de tiempo de los archivos:
mkdir foo
mv openssl-1.0.1e.tar.gz foo/
cd foo/
tar xvvzf openssl-1.0.1e.tar.gz
find . -exec touch -am '{}' \;
Respuesta2
Puede extraer su archivo tar con el parámetro --touch para hacerlo automáticamente.
tar --touch -xvf openssl-1.0.1e.tar.gz