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 -1
parte, 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 -ltc
comando.
Algunas personas sugirieron buscar la fecha /etc
de creación y otras verificar, /var/log/syslog
etc. 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?