From 1505c5bd1dc2cd3d4d1d5edd6155e20e8d4fdcaf Mon Sep 17 00:00:00 2001 From: Daniel-I-Am Date: Wed, 15 Jun 2022 18:04:15 +0200 Subject: [PATCH] Add the much prettier codegroups to my pacman snippet --- .../snippets/seconds-since-last-pacman-sync.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/content/snippets/seconds-since-last-pacman-sync.md b/content/snippets/seconds-since-last-pacman-sync.md index 4b3650b..5fb51da 100644 --- a/content/snippets/seconds-since-last-pacman-sync.md +++ b/content/snippets/seconds-since-last-pacman-sync.md @@ -8,9 +8,12 @@ draft: false ## Result We can find out how many seconds ago the last package was installed or updated using pacman by using the following command: +{{< codegroup >}} +Shell ```sh {data-copy-button=true} echo $(expr $(date +%s) - $(grep -rn -A 1 %INSTALLDATE% /var/lib/pacman/local/*/desc | grep -oP '\d{10,}$' | sort | tail -1)) ``` +{{< /codegroup >}} --- @@ -21,14 +24,19 @@ Pacman stores its local cache on your system at `/var/lib/pacman/local/`. This f Try reading the files for the kernel for example. We are only interested in the installation date, so let's focus on that field. +{{< codegroup >}} +Shell ```sh $ grep -A 1 '%INSTALLDATE%' /var/lib/pacman/local/linux-5.17.5.arch1-1/desc %INSTALLDATE% 1651693442 ``` +{{< /codegroup >}} By running this on all files in the pacman cache directory and then filtering for numbers, you get to see the entire list of dates for every package. +{{< codegroup >}} +Shell ```sh $ grep -A 1 '%INSTALLDATE%' /var/lib/pacman/local/*/desc | grep -oP '\d{10,}$' | head -5 1642498423 @@ -37,16 +45,23 @@ $ grep -A 1 '%INSTALLDATE%' /var/lib/pacman/local/*/desc | grep -oP '\d{10,}$' | 1640443485 1640443485 ``` +{{< /codegroup >}} Now we just need to sort the entries and pick the highest value. This is the timestamp of our last package installation. +{{< codegroup >}} +Shell ```sh $ grep -rn -A 1 %INSTALLDATE% /var/lib/pacman/local/*/desc | grep -oP '\d{10,}$' | sort | tail -1 1654790640 ``` +{{< /codegroup >}} Now we just have to subtract this timestamp from the current date to get the amount of seconds since the last package installation. +{{< codegroup >}} +Shell ```sh {data-copy-button=true} echo $(expr $(date +%s) - $(grep -rn -A 1 %INSTALLDATE% /var/lib/pacman/local/*/desc | grep -oP '\d{10,}$' | sort | tail -1)) ``` +{{< /codegroup >}}