Finding Debian release history with etckeeper
The Anarcat at
I praise etckeeper enough. That you use or not
formal configuration management tools, you should have etckeeper
installed, even if to do ad-hoc changes in an emergency.
For example, I just thought I could use it to figure out which Debian release I originally installed on this machine, and when I did the upgrades. Turns out it's amazingly easy:
cd /etc
sudo git log --oneline -p --no-prefix /etc/issue
Here is the result here:
root@marcos:/etc# git log --oneline -p --no-prefix --pretty=format:'%s (%ai)' /etc/issue | cat Initial commit (2011-02-23 00:14:08 -0500) diff --git issue issue new file mode 100644 index 0000000..9d52ed2 --- /dev/null +++ issue @@ -0,0 +1,2 @@ +Debian GNU/Linux 6.0 \n \l + saving uncommitted changes in /etc prior to apt run (2011-05-22 19:08:20 -0400) diff --git issue issue index 9d52ed2..647d490 100644 --- issue +++ issue @@ -1,2 +1,2 @@ -Debian GNU/Linux 6.0 \n \l +Debian GNU/Linux wheezy/sid \n \l committing changes in /etc after apt run (2013-01-23 09:40:27 -0500) diff --git issue issue index 647d490..d363ace 100644 --- issue +++ issue @@ -1,2 +1,2 @@ -Debian GNU/Linux wheezy/sid \n \l +Debian GNU/Linux 7.0 \n \l committing changes in /etc after apt run (2013-06-15 13:02:04 -0400) diff --git issue issue index d363ace..efc8255 100644 --- issue +++ issue @@ -1,2 +1,2 @@ -Debian GNU/Linux 7.0 \n \l +Debian GNU/Linux 7 \n \l committing changes in /etc after apt run (2014-02-02 23:28:12 -0500) diff --git issue issue index efc8255..e65d112 100644 --- issue +++ issue @@ -1,2 +1,2 @@ -Debian GNU/Linux 7 \n \l +Debian GNU/Linux jessie/sid \n \l committing changes in /etc after apt run (2014-12-18 11:32:43 -0500) diff --git issue issue index e65d112..6478eed 100644 --- issue +++ issue @@ -1,2 +1,2 @@ -Debian GNU/Linux jessie/sid \n \l +Debian GNU/Linux 8 \n \l
In other words:
- 2011-02-23: installed etckeeper, running
Debian 6.0
("squeeze", fresh from the stable release from 2011-02-06) - 2011-05-22: upgraded to
wheezy/sid
("testing", at that point) - 2013-01-23: some upgrade to testing, unclear (although wheezy is in freeze since 2012-06-30 at that point, it seems the version string changed then in base-files 7)
- 2013-06-15: wheezy 7.1 point release drops the digit
- 2014-02-02: switch to
jessie/sid
(back to "testing", a few months after the freeze is announced) - 2014-12-18: upgrade to
Debian 8
(one month after the freeze, still not released)
Unfortunately, there isn't much more details about the exact upgrade
points, especially since /etc/os-release
is a symlink starting with
Jessie. Besides things are much more in flux than we would like to
believe, especially when you run a rolling distribution like
"testing", but it still gives a good idea of my upgrade history:
- i ran 3 different major releases of Debian on this machine, always upgrading from the previous one without reinstalling
- i probably installed etckeeper from the start, as configuration mentions the machine was online on 2011-03-08
- i generally run stable until i get tired and upgrade to testing, generally at some point close to the freeze time
There is of course more information available directly in git log
,
namely the exact package version changes. With some more commandline
filtering, we can see exactly when each upgrade was done, including
minor releases:
# git log --date iso --grep base-files --reverse | egrep "^commit|^Date|base-files" commit 34ad962ff10c6e4e201378698e0fe0d4b03c8c39 Date: 2011-04-02 22:21:11 -0400 -base-files 6.0 +base-files 6.0squeeze1 commit 1cba7d2e097091e86eba1a2d8e4f5a9771e746a1 Date: 2011-07-09 19:40:05 -0400 -base-files 6.3 +base-files 6.4 commit cb409a0fbe2f95c3cd6a7c1ff0af263b55c7d597 Date: 2011-09-28 17:54:57 -0400 -base-files 6.4 +base-files 6.5 commit cf6d9dab6f79f4b50e5bd80dcba1769b0aa6c84b Date: 2012-03-25 19:18:44 -0400 -base-files 6.5 +base-files 6.7 commit bb1b6aab4406276388542cefd7b4eff92d960533 Date: 2012-06-29 00:42:32 -0400 -base-files 6.7 +base-files 6.9 commit c6d9218ba75b3276ea44d949ef3410c35713d487 Date: 2012-09-29 14:25:01 -0400 -base-files 6.9 +base-files 6.11 commit bd730398e572c8403b2b9c0421df64a407669877 Date: 2013-01-23 09:40:27 -0500 -base-files 6.11 +base-files 7.1 commit af42616d72c4fe5c4a0e43ee8948031732735ec5 Date: 2013-06-15 13:02:04 -0400 -base-files 7.1 +base-files 7.1wheezy1 commit d2ef5df9c689073b62b4898a12e42bb8488c8cdc Date: 2013-10-14 18:15:11 -0400 -base-files 7.1wheezy1 +base-files 7.1wheezy2 commit 104ea49559eb2b6b2aff21817b3980b274882a28 Date: 2013-12-14 11:07:09 -0500 -base-files 7.1wheezy2 +base-files 7.1wheezy3 commit bfa19b7ad737cb22c495af9429e922e6ec46202d Date: 2014-02-02 23:28:12 -0500 -base-files 7.1wheezy3 +base-files 7.2 commit 830570ca4083af0c4b87c6c7c746c9513e260cf7 Date: 2014-05-15 11:20:13 -0400 -base-files 7.2 +base-files 7.3 commit 4c9e6ca21bb8189810199e6d518250432a62391d Date: 2014-07-27 19:50:14 -0400 -base-files 7.3 +base-files 7.5 commit 4bc6abe2ba193cb6fac4eae00fa855eb32b86400 Date: 2014-10-20 16:14:09 -0400 -base-files 7.5 +base-files 7.6 commit a5e2ce476982201338220a314b1f9ccb03c99517 Date: 2014-11-28 19:45:56 -0500 -base-files 7.6 +base-files 7.10 commit eaa69b112fee60ef71938d9a725c07f9f29b2011 Date: 2014-12-18 11:32:43 -0500 -base-files 7.10 +base-files 8 commit f95a199df77030dc9ee6ab55bf4fa246fa88c959 Date: 2015-07-24 12:34:04 -0400 -base-files 8 +base-files 8+deb8u1 commit db4ab55b7327cecea54c5fe6a65560ba0e385978 Date: 2015-09-07 19:09:47 -0400 -base-files 8+deb8u1 +base-files 8+deb8u2