Назад | Перейти на главную страницу

Узнать, когда система вышла из строя?

У меня есть сервер Mac OS X 10.5 с набором RAID, который вышел из строя из-за отключения электроэнергии в четверг, и машина сейчас не загружается *.

Можно ли узнать, когда машина вышла из строя, не загрузившись с внутреннего накопителя? (Я загружаюсь с внешнего диска, ожидая инициализации наборов RAID.)

Обычно я бегал last. На странице руководства не указано, что я могу запустить его с другим загрузочным томом. Кажется возможным проанализировать / var / log / utmpx, но я не думаю, что было бы целесообразно пытаться сделать это с нуля для этой разовой проблемы.


Обновить: Перечитывая страницу руководства, я вижу, что синопсис показывает:

last [-n] [-f file] [-h host] [-t tty] [user ...]

Больше нигде нет -f file упомянутый параметр. Когда я пытаюсь last -f /var/run/utmpx Я получаю немного информации, а затем - ошибку сегментации.

Я googled "человек последний" и придумал страницу руководства для OS X 10.6, и она даже не показывает -f flag в разделе синопсиса. Я предполагаю, что флаг -f содержит известную ошибку.


*** Я все еще пытаюсь понять, почему он недоволен, и могу задать дополнительный вопрос. Прямо сейчас я вижу, что UserNotificationCenter несколько раз аварийно завершал работу рано утром в четверг, и что securityd, mdworker и ARDAgent аварийно завершали работу вскоре после запуска [я думаю - я хочу проверить, когда ящик поднимался и опускался]. Окно входа в систему не появляется правильно (я думаю, что оно вылетает или не справляется с мертвой защитой). Коробка должна быть настроена на отключение, когда ИБП сообщает об отключении питания; на данный момент мне интересно, выходил ли он из строя и снова включался несколько раз! Я очень надеюсь, что нет.

Это всего лишь предположение, так как я парень Linux, но обычно я получаю -- MARK -- в / var / log / messages каждые 20 минут, когда компьютер включен. Просто ищите, когда в файлах системного журнала есть пробелы?

Я не особо хочу принимать это как ответ, поскольку он обходит исходный вопрос, но:

  • наконец, после завершения инициализации RAID я загрузился на сервер в однопользовательском режиме, запустил last и записал результаты.

  • Я сравнивал с /var/log/system.log, и оказалось, что при каждой загрузке он выводит строку с fsck в нем - либо говорит, что ведение журнала включено и проверка не требуется, либо говорит, что проверка была принудительна. (Я не вижу особой корреляции с моментом выключения компьютера.)

  • Изучая /var/log/secure.log, я заметил, что у него проблемы с чтением / etc / authorization. Я просмотрел файл (который должен быть файлом XML), и это был gobbledegook. Я побежал plutil /etc/authorization, на всякий случай это был бинарный лист, и он жаловался на это. Итак, я скопировал / etc / authorization с другого сервера, и после перезагрузки мой сервер заработал и выглядит счастливым.


Обновить: Я просто добавил некоторую информацию из моих журналов, чтобы помочь кому-либо еще с этой проблемой найти свое решение.

В /var/log/system.log, Я видел такие вещи, как:

Apr 29 06:11:41 servername /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow[59]: ERROR | main | session setup failed (status = 226), launched by init = 1
Apr 29 06:11:41 servername /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow[59]: ERROR | main | loginwindow argument passed = console
Apr 29 06:11:41 servername /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow[59]: SessionGetInfo(0xffffffff) -> Mach 1102
...
Apr 29 06:11:42 servername loginwindow[59]: GetOurLSSessionIDInit(), returned error 0xe2, securitySessionID=0x0 attrs=0 uid=0 euid=0.  cf Radar 5123589.
Apr 29 06:11:42 servername /System/Library/CoreServices/coreservicesd[93]: Client must provide a valid sessionID but passed 0, 0x0/0x0 version=10500000 uid=0 euid=0. cf Radar 5123589.
Apr 29 06:11:42 servername loginwindow[59]: LaunchServices/5123589: coreservicesd is running an unsupported version, 0 ( we are 10500000 ), so we cannot talk to it.
...
Apr 29 06:11:47 servername ReportCrash[88]: Formulating crash report for process loginwindow[59]
Apr 29 06:11:48 servername com.apple.launchd[1] (com.apple.UserEventAgent-LoginWindow[195]): Exited: Terminated
Apr 29 06:11:48 servername com.apple.launchd[1] (com.apple.loginwindow[59]): Exited abnormally: Abort trap
Apr 29 06:11:48 servername /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow[220]: Login Window Application Started -- Threaded auth
Apr 29 06:11:48 servername ReportCrash[88]: Saved crashreport to /Library/Logs/CrashReporter/loginwindow_2010-04-29-061142_servername.crash using uid: 0 gid: 0, euid: 0 egid: 0

И в /var/log/secure.log:

Apr 29 06:15:46 servername loginwindow[772]: SessionGetInfo(0xffffffff) -> Mach 1102
Apr 29 06:15:46 servername loginwindow[772]: GetOurLSSessionIDInit(), returned error 0xe2, securitySessionID=0x0 attrs=0 uid=0 euid=0.  cf Radar 5123589.
Apr 29 06:15:46 servername loginwindow[772]: LaunchServices/5123589: coreservicesd is running an unsupported version, 0 ( we are 10500000 ), so we cannot talk to it.
Apr 29 06:15:56: --- last message repeated 4 times ---
...
Apr 29 06:37:23 servername loginwindow[554]: SessionGetInfo(0xffffffff) -> Mach 1102
Apr 29 06:37:23 servername loginwindow[554]: GetOurLSSessionIDInit(), returned error 0xe2, securitySessionID=0x0 attrs=0 uid=0 euid=0.  cf Radar 5123589.
Apr 29 06:37:23 servername loginwindow[554]: LaunchServices/5123589: coreservicesd is running an unsupported version, 0 ( we are 10500000 ), so we cannot talk to it.
Apr 30 08:04:28 localhost com.apple.SecurityServer[36]: Entering service
Apr 30 08:04:33 servername com.apple.SecurityServer[36]: Parsing rules file "/etc/authorization": XML parser error:\n   Unexpected character  at line 1\nOld-style plist parser error:\n    Unexpected character '0x0' at line 1
Apr 30 08:04:33 servername com.apple.SecurityServer[36]: Parsing rules file "/etc/authorization": XML parser error:\n   Unexpected character  at line 1\nOld-style plist parser error:\n    Unexpected character '0x0' at line 1
Apr 30 08:05:20 servername loginwindow[60]: SessionGetInfo(0xffffffff) -> Mach 1102
Apr 30 08:05:20 servername loginwindow[60]: GetOurLSSessionIDInit(), returned error 0xe2, securitySessionID=0x0 attrs=0 uid=0 euid=0.  cf Radar 5123589.
Apr 30 08:05:20 servername loginwindow[60]: LaunchServices/5123589: coreservicesd is running an unsupported version, 0 ( we are 10500000 ), so we cannot talk to it.

Ключевыми моментами журналов являются то, что ничто не могло взаимодействовать с coreservicesd (и из-за этого разбилось окно входа в систему) и что SecurityServer не смог проанализировать / etc / authorization. Следует отметить, что на сервере работает 10.5 (вероятно, 10.5.8).