marca de tiempo XXXX s en la edición futura: comando táctil (Linux)

marca de tiempo XXXX s en la edición futura: comando táctil (Linux)

Cuando descomprimo un tar.gzarchivo 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 touchlo siguiente para cambiar la marca de tiempo del archivo y statmuestra 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é touchno 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 statel tar.gzarchivo, encontrará que la hora se cambió correctamente. touchNo 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

información relacionada