¿Cuál es una forma independiente de la distribución para determinar la fecha de instalación del sistema operativo?

¿Cuál es una forma independiente de la distribución para determinar la fecha de instalación del sistema operativo?

Estoy en una máquina CrunchBang e intento escribir un script que necesita tener la fecha de instalación del sistema operativo como referencia.

Busqué y encontré este comando:

ls -lct /etc | tail -1 | awk '{print $6, $7, $8}'

se imprime

Mar 31 21:24

No entendí la tail -1parte, pero pude descubrir que $6 $7 $8 son las apariciones sexta, séptima y octava de la última línea a la que hace referencia el comando.

Sin embargo, me di cuenta de que el año no se puede incluir porque no se muestra en el ls -ltccomando.

Algunas personas sugirieron buscar la fecha /etcde creación y otras verificar, /var/log/syslogetc. Pensé que esto podría ser un poco específico de la distribución.

¿Cuál es su recomendación para una forma verdaderamente independiente de la distribución de encontrar la fecha de instalación del sistema operativo?

Respuesta1

Si se supone que tiene un sistema de archivos ext{2,3,4} y formateó el sistema de archivos raíz cuando instaló el sistema operativo (y no realizó actualizaciones desde otro sistema operativo sin borrar), puede usar dumpe2fs:

% dumpe2fs -h /dev/mapper/vg_desktop-lv_root 2>&1 |grep 'Filesystem created'
Filesystem created:       Sat Jul 23 04:28:07 2011

Respuesta2

No conozco ningún método formal para esto.

Lo que siempre he hecho es:

touch /install-`date +"%F"` && chattr +i /install-20*

Eso crea un archivo llamado 'install-' seguido de la fecha actual (si se ejecuta hoy sería install-2012-04-03) y lo configura como inmutable, por lo que no se puede eliminar por accidente.

Entonces, ¿es sólo cuestión de mirar ese archivo para ver cuándo se instaló el sistema operativo?

información relacionada