Pensé que podría verificar fácilmente la marca de tiempo de determinados archivos. Entonces me di cuenta de que no sería tan fácil cuando vi marcas de tiempo como 1991
.
Pensé que podría verificar fácilmente la marca de tiempo de determinados archivos. Entonces me di cuenta de que no sería tan fácil cuando vi marcas de tiempo como 1991
.
Respuestas:
La forma más sencilla probablemente sería (suponiendo que sda1 es su / root /):
tune2fs -l / dev / sda1 | grep creado
Esto debería mostrarle la fecha en que se creó el sistema de archivos. Confirmado para trabajar en ext2 a ext4, ¡no estoy seguro acerca de otros sistemas de archivos!
cp -a
datos. En resumen: no es posible determinar la edad del sistema en todos los casos.
/dev/root
es un poco más general.
Un mecanismo que uso a menudo es verificar el tiempo de cambio (ctime) en los archivos dentro del directorio de inicio raíz. Dado que el /root
directorio de inicio se crea en el momento de la instalación y rara vez se usa, esto puede proporcionar una aproximación relativamente buena. Como aclaró Kyle en los comentarios, dado que ctime se refiere al inodo y no a los datos, la modificación del contenido del archivo no cambiará el ctime.
Por defecto, el ls
comando imprime el tiempo de modificación (mtime) del archivo. Entonces, si se sustituye en la opción ctime así,
ls -alct /root
Esto imprimirá todos los archivos, mostrará el tiempo de creación y ordenará por tiempo.
Como ejemplo, aquí hay una muestra de los 3 archivos más antiguos en el /root
directorio de uno de mis sistemas.
ls -alt install.log.syslog .cshrc .tcshrc
-rw-r--r--. 1 root 10238 Feb 18 2010 install.log.syslog
-rw-r--r--. 1 root 129 Dec 3 2004 .tcshrc
-rw-r--r--. 1 root 100 Sep 22 2004 .cshrc
Y luego comprobando el tiempo de cambio
ls -alct install.log.syslog .cshrc .tcshrc
-rw-r--r--. 1 root 100 Feb 18 2010 .cshrc
-rw-r--r--. 1 root 10238 Feb 18 2010 install.log.syslog
-rw-r--r--. 1 root 129 Feb 18 2010 .tcshrc
La fecha del 18 de febrero de 2010 sin duda coincide con el tiempo aproximado que habría instalado ese sistema por primera vez.
tratar
ls -alp /etc/ssh/ssh_host_dsa_key.pub | cut -d " " -f6
las claves se generan cuando instala el sistema operativo.
ls
muestra la fecha de manera diferente (al menos en mi máquina) para que el cut
comando no funcione correctamente. Ahora lo usaría stat -c %y /etc/ssh/ssh_host*pub
. Además, me pregunto por qué los tiempos de creación de archivos no han recibido más amor en Linux ...
Verificar el hardware sería una buena apuesta, si tiene acceso a él. Puede inspeccionar el sistema y / o los componentes de hardware para tener una buena idea de cuándo se ensambló.
Alternativamente, si puede obtener acceso a la pantalla del BIOS, a menudo hay información de fecha que se puede usar para determinar la antigüedad de una máquina.
Si puede obtener acceso a la información SMART en el disco duro ( smartctl -a /dev/sda
), puede haber algo para continuar. No veo una marca de tiempo específica en SMART, pero hay al menos un contador de horas de uso. Eso proporcionaría un límite inferior de la antigüedad de la máquina (ya que si el disco duro ha estado funcionando durante 100 horas, el sistema no puede ser menor de 100 horas).
En cuanto a las comprobaciones del sistema de archivos, puede consultar la información de la fecha /lost+found
: ese directorio se creó cuando se creó el sistema de archivos. La fecha debe coincidir con la información de tunefs de la respuesta anterior.
/lost+found
pista, ya que esta información está disponible para usuarios no privilegiados. Ejecutar una operación por lotes como tune2fs en los sistemas de archivos raíz ya que el superusuario es un poco preocupante. Además, esta solución funciona en FreeBSD y en sistemas de archivos no ext2 / 3/4.
Con RedHat y sus derivados, es bastante fácil tener una idea general de la versión / vintage del sistema operativo a través de una combinación de antigüedad del archivo y otros archivos del sistema. Por lo general, revisaré el /root/anaconda-ks.cfg
archivo, ya que contiene la configuración inicial del servidor y los parámetros del paquete. A veces uname -a
tendrá buena información sobre la fecha de compilación del núcleo. También habría un grupo de archivos con la misma fecha /etc
; típicamente los enlaces rcx.d, scripts rc, inittab, etc.
Esto también funciona para los sistemas Red Hat:
rpm -qi basesystem | grep "Install Date"