我正在使用 Yocto 为 SystemD 版本 241 的小型嵌入式 Linux 系统生成自定义映像。根文件系统是只读的。我使用绑定安装和overlayfs 使/var/log/journal 目录存在于单独的读/写分区上。我有一个问题,systemd-journald 得到“Amnesia”并且不记得以前的引导日志,即使它们在持久的读/写文件系统上。这意味着即使日志文件在文件系统上存在且有效,日志也无法访问或清除以前启动时的旧日志文件。
# Setup overlayfs binds for various RW files
VOLATILE_BINDS_append = " \
/persistent-storage/var/log /var/log\n\
"
Run Code Online (Sandbox Code Playgroud)
路径 /var/log 存在:
root@me:/var/log# cd /var/log/
root@me:/var/log# ls -lrt
total 9
drwxr-xr-x 2 root root 1024 Jun 3 01:50 nginx
-rw-r--r-- 1 root root 5260 Jun 9 17:56 messages
drwxr-sr-x 5 root systemd-journal 1024 Jun 9 18:00 journal
root@me:/var/log# ls -lrt journal/
total 3
drwxr-sr-x 2 root systemd-journal 1024 Jun 9 …Run Code Online (Sandbox Code Playgroud) 我想将默认journal目录存储/var/log/journal/在已安装的设备上,但我不确定我是否可以这样做,因为这journal是一项重要的服务,可能在安装任何设备之前已经运行,这会导致突然直接改变。
将journal目录存储在已安装的设备上是否安全/可能,如果是,如果简单的安装不起作用,该怎么做。
journal条目中的目录列表:
2019-03-18 22:16:41 root@AAEB-APP206LY:/var/log/journal/d41cf15550e34487abe7103b61fbf794 => ll
total 792M
drwxr-sr-x 1 root systemd-journal 884 Mar 12 06:35 ./
drwxr-sr-x 1 root systemd-journal 64 Feb 26 18:17 ../
-rw-r----- 1 root systemd-journal 96M Mar 18 22:16 system.journal
-rw-r----- 1 root root 120M Feb 26 18:17 system@d5301574c947425cb992f7839ae52cdb-0000000000000001-0005827c7effc14d.journal
-rw-r----- 1 root systemd-journal 96M Mar 5 12:29 system@d5301574c947425cb992f7839ae52cdb-0000000000051acb-000582cf3a7ba719.journal
-rw-r----- 1 root systemd-journal 96M Mar 12 06:35 system@d5301574c947425cb992f7839ae52cdb-00000000000872b4-000583572e31154d.journal
-rw-r-----+ 1 root systemd-journal 128M Mar 18 …Run Code Online (Sandbox Code Playgroud)