来自 ubuntu:22.04 的 docker 镜像中的 who/w 命令不起作用(缺少 /var/run/utmp 文件)

来自 ubuntu:22.04 的 docker 镜像中的 who/w 命令不起作用(缺少 /var/run/utmp 文件)

我从这个 Dockerfile 创建了一个 Docker 容器(我删除了不相关的行):

FROM ubuntu:22.04

ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Etc/UTC

RUN apt-get update && apt-get install -y openssh-server && apt-get autoremove -

...

我注意到,当使用whow当用户通过 SSH 连接到容器时,我得到的结果为空。据我了解,这些文件只是读取文件的内容/var/run/utmp,容器中缺少此文件

ls /var/run/utmp
ls: cannot access '/var/run/utmp': No such file or directory

如果我手动添加此文件,该who命令将按预期工作。但我猜这是一个糟糕的解决方案。

但是,如果我将 ubuntu 版本更改为 20.04(ubuntu:20.04),则该文件就在那里:

ls -la /var/run/utmp 
-rw-rw-r-- 1 root utmp 0 Dec 11 02:14 /var/run/utmp

命令who正在起作用。

为什么这在 22.04 版本中不起作用?我需要安装特定的软件包吗?

相关内容