bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

readutmp backlog


From: Bruno Haible
Subject: readutmp backlog
Date: Sat, 09 Sep 2023 13:13:25 +0200

The recent overhaul/rewrite of the 'readutmp' module is nearly complete:
It supports a system-independent API. It gets information from systemd
instead of /var/run/utmp when possible. It has fallbacks for the boot time.
It was tested with various desktop environments.

One thing is still missing though, and I haven't had time to look into it:

* Since /var/log/wtmp is meant to go away in the long run [1], how to
  replace the read_utmp call of this file with systemd calls?
  We have a read_utmp_from_systemd function. Shouldn't we have a
  read_wtmp_from_systemd function as well?

  What's the right replacement?
  - wtmpdb ? [3]
  - journalctl --list-boots ? [4][5]
  - last ? [4]

  The test case is the 'who' program from coreutils:
    $ who /var/log/wtmp | grep -v pts/

  Can we have a reasonable synthesis of

  $ who /var/log/wtmp | grep -v pts/ | tail
  bruno    tty1         2023-06-30 09:03 (:0)
  bruno    tty1         2023-06-30 09:05 (:0)
  bruno    tty2         2023-07-08 23:42
  bruno    tty2         2023-07-08 23:49
  bruno    tty1         2023-08-26 01:57 (:0)
  bruno    tty1         2023-08-27 03:47 (:0)
  bruno    tty1         2023-08-27 19:37 (:0)
  bruno    tty1         2023-08-27 20:12 (:0)
  bruno    tty1         2023-08-28 18:42 (:0)
  bruno    tty1         2023-08-28 19:30 (:0)

  $ journalctl --list-boots | tail
   -9 9113e51371aa447fa4066b75a5b672b8 Fri 2023-06-30 09:03:06 CEST—Fri 
2023-06-30 09:05:12 CEST
   -8 bf6cd9a3cb5043efa0236176f01ad5c1 Fri 2023-06-30 09:05:35 CEST—Mon 
2023-08-21 20:51:31 CEST
   -7 4b5bc800085049039e78c143f76c82bc Sat 2023-08-26 01:57:20 CEST—Sun 
2023-08-27 02:12:49 CEST
   -6 19b5da9e34f84dd1989c2892431c0a20 Sun 2023-08-27 03:47:29 CEST—Sun 
2023-08-27 19:24:14 CEST
   -5 0665e0539d434f88a14f03b654f3832f Sun 2023-08-27 19:37:48 CEST—Sun 
2023-08-27 20:11:34 CEST
   -4 a9c53ad707bf4b72964f4ec6015be144 Sun 2023-08-27 20:12:10 CEST—Mon 
2023-08-28 12:30:01 CEST
   -3 aac7e9a36fd547979993d243fd3ffbef Mon 2023-08-28 18:35:37 CEST—Mon 
2023-08-28 18:35:37 CEST
   -2 d4d3ea3ad5ca4b2c99501c89023f2ca4 Mon 2023-08-28 18:38:40 CEST—Mon 
2023-08-28 18:38:40 CEST
   -1 3fda343a1c6a47e4aa2136a427bbc5a5 Mon 2023-08-28 18:42:03 CEST—Mon 
2023-08-28 19:22:53 CEST
    0 e0d1afceba004eff827723549f896edb Mon 2023-08-28 19:30:50 CEST—Sat 
2023-09-09 13:09:01 CEST

  $ last | head -n 33
  bruno    pts/19       :0               Sat Sep  9 12:35   still logged in
  bruno    pts/18       :0               Fri Sep  8 13:18   still logged in
  bruno    pts/17       :0               Tue Sep  5 22:19   still logged in
  bruno    pts/17       :0               Tue Sep  5 17:37 - 21:21  (03:44)
  bruno    pts/16       :0               Tue Sep  5 15:40   still logged in
  bruno    pts/15       :0               Tue Sep  5 15:10   still logged in
  bruno    pts/15       :0               Mon Sep  4 22:26 - 22:51  (00:25)
  bruno    pts/14       :0               Fri Sep  1 11:28   still logged in
  bruno    pts/13       :0               Fri Sep  1 02:08   still logged in
  bruno    pts/12       :0               Wed Aug 30 01:58   still logged in
  bruno    pts/15       :0               Tue Aug 29 20:46 - 01:58  (05:12)
  bruno    pts/14       :0               Tue Aug 29 19:19 - 01:58  (06:39)
  bruno    pts/12       :0               Tue Aug 29 19:19 - 01:58  (06:39)
  bruno    pts/7        :0               Tue Aug 29 15:19   still logged in
  bruno    pts/4        192.168.178.46   Mon Aug 28 21:05   still logged in
  bruno    pts/13       :0               Mon Aug 28 19:30 - 15:25 (1+19:54)
  bruno    pts/12       :0               Mon Aug 28 19:30 - 10:41  (15:10)
  bruno    pts/7        :0               Mon Aug 28 19:30 - 10:41  (15:10)
  bruno    pts/4        :0               Mon Aug 28 19:30 - 21:02  (01:31)
  bruno    pts/6        :0               Mon Aug 28 19:30 - 21:02  (01:31)
  bruno    pts/14       :0               Mon Aug 28 19:30 - 21:02  (01:31)
  bruno    pts/5        :0               Mon Aug 28 19:30   still logged in
  bruno    pts/3        :0               Mon Aug 28 19:30   still logged in
  bruno    pts/2        :0               Mon Aug 28 19:30   still logged in
  bruno    pts/10       :0               Mon Aug 28 19:30   still logged in
  bruno    pts/8        :0               Mon Aug 28 19:30   still logged in
  bruno    pts/1        :0               Mon Aug 28 19:30   still logged in
  bruno    pts/11       :0               Mon Aug 28 19:30   still logged in
  bruno    pts/9        :0               Mon Aug 28 19:30   still logged in
  bruno    pts/0        :0               Mon Aug 28 19:30   still logged in
  bruno    tty1         :0               Mon Aug 28 19:30   still logged in
  reboot   system boot  5.15.0-79-generi Mon Aug 28 19:30   still running
  bruno    pts/16       :0               Mon Aug 28 19:15 - 19:22  (00:07)

Bruno

[1] https://sourceware.org/bugzilla/show_bug.cgi?id=24492
[2] https://www.thkukuk.de/blog/Y2038_glibc_wtmp_64bit/
[3] https://github.com/thkukuk/utmpx/blob/main/utmp-to-logind.md
[4] 
https://eng.libretexts.org/Bookshelves/Computer_Science/Operating_Systems/Linux_-_The_Penguin_Marches_On_(McClanahan)/12%3A_Linux_Systems_Security/5.17%3A_journalctl_last_Commands
[5] 
https://unix.stackexchange.com/questions/408936/why-journalctl-list-boots-doesnt-match-what-uptime-and-who-b-report






reply via email to

[Prev in Thread] Current Thread [Next in Thread]