Date of a FreeBSD installation
Carl Johnson
carlj at peak.org
Fri Jan 14 18:46:06 UTC 2011
Chip Camden <sterling at camdensoftware.com> writes:
> Quoth Carl Chave on Friday, 14 January 2011:
>> > I'd suggest looking at the Btimes of top level directories
>> >
>> > stat -f "%SB %N" /*
>>
>> Or how about just / as this ~15 minutes earlier than most of the
>> remaining top level directories
>>
>>
>> sodserve# stat -f "%SB %N" /*
>> Jan 9 04:54:21 2011 /COPYRIGHT
>> Jan 9 04:54:21 2011 /bin
>> Jan 9 04:54:21 2011 /boot
>> Dec 31 18:59:59 1969 /dev
>> Jan 9 04:54:21 2011 /etc
>> Jan 9 04:54:21 2011 /lib
>> Jan 9 04:54:21 2011 /libexec
>> Jan 9 04:54:21 2011 /media
>> Jan 9 04:54:21 2011 /mnt
>> Jan 9 04:54:21 2011 /proc
>> Jan 9 04:54:21 2011 /rescue
>> Jan 9 04:54:21 2011 /root
>> Jan 9 04:54:21 2011 /sbin
>> Jan 9 04:54:21 2011 /sys
>> Jan 9 04:48:39 2011 /tmp
>> Jan 9 04:48:45 2011 /usr
>> Jan 9 04:49:39 2011 /var
>>
>> sodserve# stat -f "%SB %N" /
>> Jan 9 04:39:59 2011 /
>
> For me, that gets the Nov 21 2009 date, which is earlier than my
> install date.
>
> So far, /etc/hostid and the /home symlink seem to be the winners.
On my system /etc/hostid is several days later than my actual install
date, so that isn't always reliable. You might want to create a file
with the timestamp you want. The most likely time appears to me to be
the 'Created' time in /etc/rc.conf, as someone suggested earlier. The
following code will extract that and create a file with that timestamp.
I have checked it on my system, but use at your own risk.
file=/etc/install_date
date=$(grep '^# Created: ' /etc/rc.conf | cut -c 12-80)
tdate=$(date -j -f "%a %b %d %H:%M:%S %Y" "$date" "+%Y%m%d%H%M.%S")
echo $date > $file
touch -t $tdate $file
chmod -w $file
chflags schange $file
--
Carl Johnson carlj at peak.org
More information about the freebsd-questions
mailing list