Εκτύπωση χρόνου από την εγκατάσταση της τρέχουσας διανομής

Καλησπέρα σας,
Μέσα από την ανάπτυξη μερικών στατιστικών για το askfetch έγραψα ένα script για την εκτύπωση του χρόνου που έχει διέλθει από την εγκατάσταση της τρέχουσας διανομής. Το bash script αυτό δίνει απάντηση στην ερώτηση:

Πόσο καιρό έχω αυτή τη διανομή;

Ο κώδικάς του δίνεται στο ακόλουθο repository:

Στη δική μου εγκάτάσταση (Manjaro XFCE) λαμβάνω τα ακόλουθα:

bash get_installed_for.sh
41 days 16 hours 53 minutes and 36 seconds

Δοκιμάστε το και στις δικές σας εγκαταστάσεις και πείτε μου για προβλήματα.
Είμαι βέβαιος πως όλοι οι distro-hoppers εδώ θα έχουν απίστευτα μικρά διαστήματα εγκατάστασης, αλλά κάποιοι θα είναι λίγο πιο αφοσιωμένοι στην εγκατάστασή τους.

3 Likes

Debian 10 64bit MATE, προσφατη εγκατασταση, δουλευει μια χαρα.

1 Like

Η εντολή κλειδί είναι:
ls -lact --full-time /etc |awk 'END {print $6,$7,$8}'

η οποία βρίσκει το παλιότερο αρχείο ρυθμίσεων δλδ
ls -lact --full-time /etc | tail -n 1

Σωστά δουλεύει το σκριπτάκι και σε μένα βρίσκει και το ζητούμενο, αλλά δεν είναι απόλυτο η μεγαλύτερη ηλικία τροποποίησης αρχείου ρυθμίσεων ταυτίζεται με την ηλικία τής εγκατάστασης.

3 Likes

Έχεις πολύ δίκιο. Για Debian παίζει αλλά και πάλι μπορεί να έχεις αλλάξει filesystem οπότε να είναι λάθος η πληροφορία. Αν ξέρετε κάποιον πιο universal τρόπο θα ήθελα να τον ακούσω. Για Arch μπορώ να το κάνω με τον pacman αλλά για τις υπόλοιπες διανομές έχω θέματα.

2 Likes

Για να δεις την ημερομηνία που δημιουργήθηκε το filesystem σου, μπορείς να τρέξεις την παρακάτω εντολή :

fs=$(df / | tail -1 | cut -f1 -d’ ') && sudo tune2fs -l $fs | grep created
ή
sudo dumpe2fs /dev/sdaX | grep ‘Filesystem created:’ (όπου Χ βάζουμε το linux partition μας)
ή
sudo tune2fs -l /dev/sdaX | grep ‘Filesystem created:’ (ομοίως για το X)

Πηγή : https://www.ostechnix.com/find-exact-installation-date-time-linux-os/
Σε ένα μηχάνημά μου για παράδειγμα που δοκίμασα τον κώδικα του @arvchristos έχει 12 δευτερόλεπτα διαφορά :smile:

2 Likes

Ευχαριστώ @GNUTechie

Πάρτε και την πιο απλή εκδοχή των παραπάνω

ls -alct /|tail -1|awk '{print $6, $7, $8}'

Αυτό που γράφεις εκτυπώνει την ημερομηνία εγκατάστασης σε human readable μορφή και όχι το διάστημα εγκατάστασης, δηλαδή την αφαίρεση της ημερομηνίας της εντολής σου από την τρέχουσα (που είναι πιο tricky γιατί βολεύει η μετατροπή σε linux epoch και η αφαίρεση απο εκεί)

είπα να χρησιμοποιήσω όσο το δυνατό λιγότερα εργαλεία γιατί το έφτιαξα ώστε να τρέξει στο askfetch που πρέπει να είναι συμβατό με πολλές διανομές και δεν ήθελα να έχω το tune2fs ως dependency.

Πάντως προφανώς και έχεις δίκιο ότι αυτές οι εντολές κάνουν επίσης σωστά τη δουλειά (δε ξέρω πως μας ξεφεύγουν αυτά τα δώδεκα δευτερόλεπτα να σου πω την αλήθεια :stuck_out_tongue: )

1 Like

το
ls -alct /

βγάζει περίεργα αποτελέσματα σε μένα
το boot/ λέει Ιαν 1 1970 !
μετά έχω μια κατάτμηση σε άλλο δίσκο που είναι παλιότερη από την εγκατάσταση μου (αυτές τις μόνιμες προσαρτήσεις τις κάνω κατευθείαν στο / )
και μόνο μετά το lost+found/ έχει την σωστή ημερομηνία.

1 Like

./get_installed_for.sh
375 days 10 hours 28 minutes and 9 seconds

Ubuntu MATE 18.04 (αλλά χρησιμοποιώ περισσότερο το XFCE :stuck_out_tongue:).
Δε νομίζω να έχω κρατήσει μια εγκατάσταση για τόσο πολύ χρόνο…

Edit: Το script δουλεύει μια χαρά. Δεν έχω κάνει κάποιο upgrade σε κάποια ενδιάμεση έκδοση και η εγκατάσταση είναι η ίδια εδώ και ένα χρόνο γιατί απλά βαριέμαι να αλλάξω distro ή να κάνω upgrade προς το παρόν.

1 Like

Χμμμ είτε είσαι πολύ πιστός στην εγκατάστασή σου είτε κάποιο λάθος παίζει με το script. Υπάρχει περίπτωση να είχες επαναφέρει το filesystem απο άλλο backup είτε να έκανες εγκατάσταση κρατώντας το παλιό etc?

Το lost+found είναι μια αρκετά καλή λύση γιατί δημιουργείται κατά τη δημιουργία του filesystem αλλά αυτό δεν ειναι απαραίτητα σωστό αφού στο σενάριο που δεν δημιουργηθηκε κατά την εγκατάσταση νέο filesystem έχεις λάθος ημερομηνία.

Γενικά δεν περίμενα να είναι τόσο δύσκολο να πάρει κάποιος αυτή τη πληροφορία

Μάλλον έχει να κάνει με το ότι μετά από 12 δευτερόλεπτα από τη δημιουργία του filesystem έγινε η πρώτη τροποποίηση αρχείου.

1 Like

Ωραίος, Good catch!!!

1 Like

Σίγουρα το πρώτο. Έκανα και μια αλλαγή στο προηγούμενο post μου.

1 Like

Ω το λες και ρεκόρ αυτό

1 Like

1128 days 23 hours 21 minutes and 8 seconds

Slackware 14.2 x64 στο main desktop.

2 Likes

Μάλλον θα πρέπει να γράψω δυο γραμμές να εμφανίζει και χρόνια για κάτι σκληροπυρηνικούς σαν και σας

1 Like

Χαχαχα τι να κάνουμε ο Pat δεν βγάζει stable αν δεν περάσει καμια 4ετία…

2 Likes