Recientemente tuve un problema con systemd que no conserva los registros de arranques anteriores. Revisé varias respuestas aquí y en otros lugares, pero no encontré una solución.
El problema es que el registro del usuario se vuelve persistente entre los arranques, pero los registros del sistema no.
/etc/systemd/journald.conf
[Journal]
Storage=persistent
SystemMaxUse=500M
SystemMaxFiles=5
journalctl -b -1
[root@2ba2de9e /var/log/journal] # journalctl --system -b -1
Data from the specified boot (-1) is not available: No such boot ID in journal
Estoy usando archlinux arm en algo de frambuesa pis
versiones4.14.24-1-ARCH
systemd 237.64-1
systemd-sysvcompat 237.64-1
¿Alguien tiene una idea de por qué ocurre esto? ¿En mi máquina de escritorio esto funciona sin problemas?
Respuesta1
Es posible que Journald esté eliminando los registros antiguos porque tiene poco espacio en el disco. (No mencionaste cuánto tiempo después del inicio -b -1
no funciona, por lo que no sé si tienes muchos registros del inicio actual en ese momento).
Ya lo SystemMaxUse=500M
configuró, pero Journald podría decidir usar menos de 500 MB si no tiene demasiado espacio libre en el disco. También hay una SystemKeepFree=...
configuración, que por defecto es el 15% del tamaño del sistema de archivos (o 4 GB, lo que sea más pequeño) y el diario aplicará ese límite con más fuerza que la cantidad de espacio permitido. Si lo tiene /var/log/journal
en una partición estrecha, tal vez eso sea parte del problema.
Puede usar algunos comandos para verificar cuánto espacio está usando el diario, como por ejemplo:
$ journalctl --disk-usage
Y también verá cuántas botas (y cuáles son sus tiempos e ID) conoce el diario con:
$ journalctl --list-boots
Estos también podrían ayudar a arrojar luz sobre su problema...
¡Espero que esto ayude!
Respuesta2
Mi distribución vino con este archivo: /etc/systemd/journald.conf.d/volatile-storage.conf
Tenía la siguiente línea
Storage=volatile
La parte volátil debe cambiarse a persistente; de lo contrario, /etc/systemd/journal.conf
se ignora el cambio.
Respuesta3
ExtendiendoseespejoResponda, para que Storage=volatile
y Storage=auto
funcione, el /var/log/journal
directorio debe existir y algunas distribuciones no proporcionan esta ubicación de forma predeterminada.
Por lo tanto, debe crear e indicar journald
que se vacíe todo lo que esté en la memoria.
sudo mkdir /var/log/journal ## Enable persistent logging
sudo journalctl --flush