Внезапно, после перезагрузки сервер (ОС Gentoo) отказался подниматься. Загрузка остановилась после сообщения Caching service dependencies

После трех минут ожидания (ничего не происходило) и нажания Ctrl+C загрузка продолжилась и прикладные сервисы стартанули штатно. Но так как проблема возникла, нужно с ней разобраться
Решение
Смотрим, с каким статусом запускались скрипты
rc-status -a
а вот и ответ

Видно, что почти все скрипты из runlevel sysinit не смогли стартануть
Проверяем, какие скрипты должны запускаться из sysinit. Для этого выполняем
cd /etc/runlevels/sysinit
Для большей наглядности лучше это делать из mc

В выводе видно три битых линка. Удаляем их. Затык может быть и не в линках. Но для порядка не повредит
Теперь вручную обновим кеш зависимостей
rc-update -u
Caching service dependencies …
Перезагружаем и смотрим вывод rc-status -a

Причина по которой возникает данная ошибка связана с понятием clock skew, когда время создания файлов в /etc новее, чем системное время
И напоследок
Все вышенаписанное может применятся, когда у нас есть временной люфт и нет проблемы выполнить несколько рибутов. Но что делать в случае, когда возможность выполнить контрольный рибут представится не скоро? Помним, что не все sysinit скрипты отработали. И как следствие — невозможно обновить ПО. Смотрим
emerge -auND @world
Failed to validate a sane ‘/dev’.
bash process substitution doesn’t work; this may be an indication of a broken ‘/dev/fd’
Нет устройства fd в /dev. Создадим линк на это устройство
ln -s /proc/self/fd/ /dev/fd
Еще раз пробуем
emerge -auND @world
bash: line 1: /dev/null: Permission denied
….
Не хватает прав на устройство /dev/null
chmod o+rw /dev/null
emerge отработает без ошибок
Системный администратор с 2000 года
Участник Freelancehunt, Хабр Q&A
Кейсы