ここにあるのは、かなり古い Debian がインストールされた PowerPC デバイスです。
これは Lenny の派生として識別できます:/etc/issue
言及Debian GNU/Linux 5.0
。ベンダー固有のパッケージがいくつかあります。
システムのどの部分から抽出できるか建てる配布日ですか?インストール日には興味ありません。
答え1
Debian ポリシーでコンパイルされた各パッケージには、 に変更ログ ファイルが含まれています。パッケージがネイティブ Debian ソースからビルドされている場合、このファイルを呼び出すことができます。変更ログの最新のエントリは、パッケージが完成した時間、つまりパッケージ ソースへの最後の変更後、パッケージがビルドされる時間より前であるはずです。/usr/share/doc/PACKAGE-NAME/changelog.Debian
changelog.gz
のコンパイル出力のタイムスタンプ(ネイティブ実行ファイル、ライブラリ、バイトコードなど) の日付は、ビルドされた時刻になります。システムのビルド日付が存在する限り、これがその日付になります。もちろん、これはパッケージごとに異なります。Debian システムは一度にビルドされるわけではありません。(理論的には可能ですが、非常に長い時間がかかります。)
.deb
にいくつかのファイルが存在する場合/var/cache/apt/archives
、それらの変更時刻によってビルド時刻の上限が決まります。
ディレクトリの変更時刻と inode の変更時刻 ( ls -lc
) は、関連するファイルの古さの下限を示します。ログは および で利用できる場合があります/var/log/dpkg.log*
。/var/log/apt
(ディストリビューションが古すぎる場合は利用できない可能性があります。lenny にこれらがすでに存在していたかどうかは覚えていません。) ただし、これはすべてインストール時またはインストール後に行われます。
コメントで、法的調査について言及されています。これらのタイムスタンプはすべて簡単に偽造できるため、システム管理者が改ざんした疑いがない場合のみ役立ちます。
答え2
インストールされたソフトウェア (aptitude など) のビルド日を確認します。ソフトウェアにセキュリティ アップグレードがある場合はこの方法は機能しませんが、それ以外の場合は、コンパイル時間を報告するパッケージの最も古いコンパイル時間から、ある程度の見当がつくでしょう。私のシステムは Debian 7.6 (wheezy) です。私のマシンからの例をいくつか示します。
適性
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
apt-get
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
ヴィム
faheem@orwell:~$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Feb 10 2013 02:28:47)
オープンSSL
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 Debian 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 によって報告された Debian パッケージのバージョン (上記の例では 3.2.41-2) と現在インストールされているバージョン (dpkg -l などを使用) を比較する必要があります。ただし、/proc/version ではビルド時間が引き続き報告されます。
私には説得力がありません。管理者として、インストールされたカーネル パッケージの構築に使用されたソースが何であるかは気にしません。
カーネルをビルドするために使用されるソース パッケージはカーネルを一意に識別するため、ソース パッケージのバージョンのみを気にすればよいのでしょうか?
===
私の意見では、CentOS/RHEL が uname のビルド日付を廃止したら最悪です...