
Lo que tengo aquí es un dispositivo powerpc con Debian bastante antiguo instalado.
Es identificable como derivado de Lenny: /etc/issue
menciona Debian GNU/Linux 5.0
. Hay algunos paquetes específicos del proveedor.
¿Qué rincones del sistema podría utilizar para extraer elconstruirfecha de la distribucion? No me interesa la fecha de instalación.
Respuesta1
Cada paquete que se compila con la política de Debian contiene un archivo de registro de cambios en formato . Se puede llamar al archivo si el paquete se creó a partir de una fuente nativa de Debian. Se supone que la última entrada en el registro de cambios es la hora en que se finalizó el paquete, es decir, es después del último cambio en la fuente del paquete y antes de la hora en que se creó el paquete./usr/share/doc/PACKAGE-NAME/changelog.Debian
changelog.gz
Elmarca de tiempo en las salidas de la compilación(ejecutables nativos, bibliotecas, código de bytes, etc.) será el momento en que se compilaron. Siempre que exista la fecha de construcción de un sistema, ésta es la fecha. Por supuesto, es diferente para cada paquete: un sistema Debian no se construye de una sola vez. (Bueno, sería teóricamente posible, pero llevaría mucho tiempo).
Si algunos .deb
archivos están presentes en /var/cache/apt/archives
, su tiempo de modificación dará un límite superior a su tiempo de compilación.
El tiempo de modificación de los directorios y los tiempos de cambio de inodo ( ls -lc
) dan un límite inferior a la antigüedad de los archivos involucrados. Los registros pueden estar disponibles en /var/log/dpkg.log*
y /var/log/apt
. (Tal vez no si la distribución es demasiado antigua, no recuerdo si ya existían en lenny). Pero todo esto es durante el tiempo de instalación o después de la instalación.
En un comentario, mencionas una investigación legal. Todas estas marcas de tiempo se pueden falsificar fácilmente, por lo que sólo son útiles si no se sospecha que el administrador del sistema las haya manipulado.
Respuesta2
Verifique la fecha de compilación del software instalado, por ejemplo, aptitude. Esto no funcionará si el software tuviera una actualización de seguridad, pero de lo contrario, el tiempo de compilación de la lista inicial de un grupo de paquetes que informan sus tiempos de compilación le daría una idea. Mi sistema es Debian 7.6 (sibilancia). Aquí hay algunos ejemplos de mi máquina.
aptitud
faheem@orwell:~$ aptitude --version
aptitude 0.6.8.2 compiled at Nov 7 2012 07:08:03
Compiler: g++ 4.7.2
Compiled against:
apt version 4.12.0
NCurses version 5.9
libsigc++ version: 2.2.10
Ept support enabled.
Gtk+ support disabled.
Qt support disabled.
Current library versions:
NCurses version: ncurses 5.9.20110404
cwidget version: 0.5.16
Apt version: 4.12.0
apto-obtener
faheem@orwell:~$ apt-get --version
apt 0.9.7.9 for amd64 compiled on Oct 8 2014 10:25:29
Supported modules:
*Ver: Standard .deb
*Pkg: Debian dpkg interface (Priority 30)
Pkg: Debian APT solver interface (Priority -1000)
S.L: 'deb' Standard Debian binary tree
S.L: 'deb-src' Standard Debian source tree
Idx: Debian Source Index
Idx: Debian Package Index
Idx: Debian Translation Index
Idx: Debian dpkg status file
Idx: EDSP scenario file
slrn
faheem@orwell:~$ slrn --version
slrn 1.0.1
S-Lang Library Version: 2.2.4
Compiled on: Feb 10 2014 20:58:07
Operating System: Linux
COMPILE TIME OPTIONS:
Backends: +nntp +slrnpull +spool
External programs / libs: +canlock +inews +ssl +uudeview +iconv
Features: +decoding +emphasized_text +end_of_thread +fake_refs +gen_msgid
-grouplens -msgid_cache +piping +rnlock +spoilers -strict_from
Using 64 bit integers for article numbers.
DEFAULTS:
Default server object: nntp
Default posting mechanism: nntp
ssh
faheem@orwell:~$ ssh -v
OpenSSH_6.0p1 Debian-4+deb7u2, OpenSSL 1.0.1e 11 Feb 2013
empuje
faheem@orwell:~$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Feb 10 2013 02:28:47)
abresl
faheem@orwell:~$ openssl version
OpenSSL 1.0.1e 11 Feb 2013
nano
faheem@orwell:~$ nano --version
GNU nano version 2.2.6 (compiled 21:40:01, Jun 22 2012)
Respuesta3
dehttps://lists.debian.org/debian-user/2013/05/msg01045.html
~# uname -a Linux wheezy 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2 x86_64 GNU/Linux
~# ls -l /boot/vm* -rw-r--r-- 1 raíz raíz 2833376 15 de mayo 23:58 /boot/vmlinuz-3.2.0-4-amd64 ~#
Ya no hay fecha en la salida de uname, que podría comparar con la marca de tiempo del archivo de imagen del kernel.
Ahora se supone que debe comparar la versión del paquete Debian reportada por uname (3.2.41-2 en el ejemplo anterior) con la versión actualmente instalada (por ejemplo, usando dpkg -l). Sin embargo, /proc/version todavía me informa el tiempo de compilación.
No me parece convincente. Como administrador, no me importa qué fuente se utilizó para construir el paquete del kernel instalado.
Como el paquete fuente utilizado para construir el kernel identifica de forma única el kernel, ¿solo debería preocuparse por la versión del paquete fuente?
===
En mi opinión, sería una mierda si centos/rhel eliminara la fecha de compilación en uname...