Вы должны изучить 2 вещи:
Используйте эти 2 команды и продолжайте читать для получения дополнительной информации.
last -x | head | tac
grep -iv ': starting\|kernel: .*: Power Button\|watching system buttons\|Stopped Cleaning Up\|Started Crash recovery kernel' \
/var/log/messages /var/log/syslog /var/log/apcupsd* \
| grep -iw 'recover[a-z]*\|power[a-z]*\|shut[a-z ]*down\|rsyslogd\|ups'
Выполните эту команду* и сравните вывод с примерами ниже:
last -x | head | tac
Нормальное выключение и включение выглядит следующим образом (обратите внимание, что у вас есть событие выключения, а затем событие загрузки системы):
runlevel (to lvl 0) 2.6.32- Sat Mar 17 08:48 - 08:51 (00:02)
shutdown system down ... <-- first the system shuts down
reboot system boot ... <-- afterwards the system boots
runlevel (to lvl 3)
В некоторых случаях вы можете увидеть следующее (обратите внимание, что нет строки о выключении, но система была на уровне выполнения 0, что является "состоянием остановки"):
runlevel (to lvl 0) ... <-- first the system shuts down (init level 0)
reboot system boot ... <-- afterwards the system boots
runlevel (to lvl 2) 2.6.24-... Fri Aug 10 15:58 - 15:32 (2+23:34)
Неожиданное выключение из-за потери питания выглядит следующим образом (обратите внимание, что у вас есть событие загрузки системы без предшествующего события выключения системы):
runlevel (to lvl 3) ... <-- the system was running since this momemnt
reboot system boot ... <-- then we've a boot WITHOUT a prior shutdown
runlevel (to lvl 3) 3.10.0-693.21.1. Sun Jun 17 15:40 - 09:51 (18:11)
Команда bash для фильтрации наиболее интересных сообщений журнала выглядит следующим образом:
grep -iv ': starting\|kernel: .*: Power Button\|watching system buttons\|Stopped Cleaning Up\|Started Crash recovery kernel' \
/var/log/messages /var/log/syslog /var/log/apcupsd* \
| grep -iw 'recover[a-z]*\|power[a-z]*\|shut[a-z ]*down\|rsyslogd\|ups'
Когда происходит неожиданное выключение питания или аппаратный сбой, файловые системы не будут правильно размонтированы, поэтому при следующей загрузке вы можете получить такие журналы:
EXT4-fs ... INFO: recovery required ...
Starting XFS recovery filesystem ...
systemd-fsck: ... recovering journal
systemd-journald: File /var/log/journal/.../system.journal corrupted or uncleanly shut down, renaming and replacing.
Когда система выключается, потому что пользователь нажал кнопку питания, вы получите такие журналы:
systemd-logind: Power key pressed.
systemd-logind: Powering Off...
systemd-logind: System is powering down.
Только когда система выключается упорядоченно, вы получите такие журналы:
rsyslogd: ... exiting on signal 15
Когда система выключается из-за перегрева, вы получаете такие журналы:
critical temperature reached...,shutting down
Если у вас есть UPS и запущен демон для мониторинга питания и выключения, вы должны проверить его журналы (NUT ведет журналы в /var/log/messages, но apcupsd ведет журналы в /var/log/apcupsd*)
Примечания
*: Вот описание last
из его man-страницы:
last [...] prints information about connect times of users.
Records are printed from most recent to least recent.
[...]
The special users reboot and shutdown log in when the system reboots
or (surprise) shuts down.
Мы используем head
для хранения последних 10 событий и используем tac
для инвертирования упорядочивания, чтобы не запутаться в том, что last печатает от самого последнего к самому последнему событию.
Я не думаю, что ваша энтропия сейчас на достаточно низком уровне. Я вспоминаю, что 100-200 - это порог "начать беспокоиться". Если вы ищете в Интернете, просто избегайте этого:
DO NOT DO THIS: rngd -r /dev/urandom
Чтобы узнать, почему бы не сделать это, вот небольшая статья .
Вы упомянули, что у вас HW. Вы можете генерировать некоторую энтропию (лучше всего клавиатура / мышь, в противном случае сеть и диск (далее - большие находки, подсчет и т. Д.). Наконец, должен быть демон с именем hasged, который генерирует энтропию. Я не исследовал его .
Он может блокироваться при генерации SSL / TLS или блочных шифров до тех пор, пока доступная энтропия не восстановится. Большинство приложений будут либо использовать собственное случайное начальное число, либо использовать / dev / urandom
, чтобы избежать блокировки, обеспечивающей снижение качества случайности, влияющей на целостность безопасности. В конце концов, это вопрос баланса между доступностью и безопасностью.