데비안 시스템의 빌드 날짜를 어떻게 얻나요?

데비안 시스템의 빌드 날짜를 어떻게 얻나요?

여기에 꽤 오래된 데비안이 설치된 powerpc 상자가 있습니다.

Lenny 파생 상품으로 식별할 수 /etc/issue있습니다 Debian GNU/Linux 5.0. 일부 공급업체별 패키지가 있습니다.

시스템의 어떤 부분을 추출에 사용할 수 있나요?세워배포 날짜? 설치 날짜에는 관심이 없습니다.

답변1

Debian 정책을 사용하여 컴파일된 모든 패키지에는 . 변경 로그의 최신 항목은 패키지가 완료된 시점, 즉 패키지 소스를 마지막으로 변경한 후 패키지가 빌드되기 전이어야 합니다./usr/share/doc/PACKAGE-NAME/changelog.Debianchangelog.gz

이것컴파일 출력의 타임스탬프(네이티브 실행 파일, 라이브러리, 바이트코드 등)이 빌드 시간이 됩니다. 이는 시스템의 빌드 날짜가 존재하는 한입니다. 물론, 모든 패키지는 다릅니다. 데비안 시스템은 한번에 완성되는 것이 아닙니다. (이론적으로는 가능하지만 시간이 많이 걸립니다.)

에 일부 .deb파일이 있는 경우 /var/cache/apt/archives수정 시간에 따라 빌드 시간의 상한이 지정됩니다.

디렉토리의 수정 시간과 inode 변경 시간( ls -lc)은 관련된 파일의 수명에 대한 하한을 제공합니다. 로그는 /var/log/dpkg.log*및 에서 사용할 수 있습니다 /var/log/apt. (배포판이 너무 오래되었다면 그렇지 않을 수도 있습니다. lenny에 이미 존재했는지 기억이 나지 않습니다.) 그러나 이것은 모두 설치 중이나 설치 후입니다.

댓글에서 법적 조사를 언급하셨습니다. 이러한 타임스탬프는 모두 위조가 쉽기 때문에 시스템 관리자가 이를 조작한 것으로 의심되지 않는 경우에만 유용합니다.

답변2

적성 등 설치된 소프트웨어의 빌드 날짜를 확인하세요. 소프트웨어에 보안 업그레이드가 있는 경우에는 작동하지 않지만 컴파일 시간을 보고하는 패키지의 초기 컴파일 시간을 보면 어느 정도 아이디어를 얻을 수 있습니다. 내 시스템은 Debian 7.6입니다. 다음은 내 컴퓨터의 몇 가지 예입니다.

자격

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

적절한

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

세른

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

faheem@orwell:~$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Feb 10 2013 02:28:47)

OpenSSL

faheem@orwell:~$ openssl version
OpenSSL 1.0.1e 11 Feb 2013

나노미터

faheem@orwell:~$ nano --version
GNU nano version 2.2.6 (compiled 21:40:01, Jun 22 2012)

답변3

~에서https://lists.debian.org/debian-user/2013/05/msg01045.html

~# uname -a Linux wheezy 3.2.0-4-amd64 #1 SMP 데비안 3.2.41-2 x86_64 GNU/Linux

~# ls -l /boot/vm* ​​​​-rw-r--r-- 1 루트 루트 2833376 5월 15일, 23:58 /boot/vmlinuz-3.2.0-4-amd64 ~#

uname 출력에는 더 이상 날짜가 없으며 이를 커널 이미지 파일의 타임스탬프와 비교할 수 있습니다.

이제 uname이 보고한 데비안 패키지 버전(위 예에서는 3.2.41-2)을 현재 설치된 버전(예: dpkg -l 사용)과 비교해야 합니다. 그러나 /proc/version은 여전히 ​​빌드 시간을 보고합니다.

나에게는 설득력이 없는 것 같습니다. 관리자로서 저는 설치된 커널 패키지를 빌드하는 데 어떤 소스가 사용되는지 신경 쓰지 않습니다.

커널을 빌드하는 데 사용된 소스 패키지는 커널을 고유하게 식별하므로 소스 패키지 버전에만 관심을 가져야 합니까?

===

제 생각에는 centos/rhel이 uname에서 빌드 날짜를 표시하지 않으면 좋지 않을 것 같습니다...

관련 정보