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

/ dev / random отсутствует после обновления

У меня проблемы с обновленной системой Fedora. Недавно Amazon добавила изображения на основе EBS, и я решил попробовать. Я запустил базовый экземпляр FC8 и обновил его с помощью yum. Сначала до FC10, а затем до FC12.

Что ж, мне сейчас не хватает / dev / random в экземпляре FC12, и есть еще некоторые неясные вещи. Например: / dev / null имеет 600 разрешений, а / dev / urandom не является блочным устройством. / dev / random полностью пропал :)

Я читаю здесь http://markus.revti.com/2007/12/creating-devrandom/ , как "исправить" вышеуказанные проблемы, однако при каждом запуске системы все одинаково. Я планирую добавить исправления в /etc/rc.local. Как вы думаете, это хорошее решение / обходной путь?

Кто-нибудь знает, где именно проблема?

Спасибо за любые советы и общие знания,

Стэн.

p.s. Экземпляр запускает это ядро: 2.6.21.7-2.ec2.v1.2.fc8xen

Вы не можете так обновить образ ec2. Поскольку ядро ​​предоставляется Amazon, вы должны убедиться, что загружаете свой экземпляр с подходящим ядром, иначе произойдет странное поведение (как вы описали).

Практически единственный способ «обновить» систему, требующую изменений ядра, - это либо создать новый образ с нуля, либо найти существующий AMI с нужной версией ОС.

Я считаю, что они созданы udev. Сравнение содержимого вашего каталога / etc / udev с работающей системой или просмотр / var / log / udev может дать вам некоторое представление.

Вы можете запустить:

/sbin/MAKEDEV std

для создания этих файлов устройств (и некоторых других).

Большинство современных дистрибутивов Linux используют udev для динамического заполнения содержимого /dev.

Обычно вашей корневой FS нужны только статические записи для /dev/console и /dev/null для начальной загрузки. После загрузки tmpfs монтировать накладки /dev, чтобы обеспечить полный набор узлов устройства.

Некоторые этапы диагностики ..

  • Определите, поддерживает ли ваше ядро ​​udev с помощью: dmesg | grep udev
  • Проверьте, действительно ли демон работает: ps ax | grep udevd
  • Проверьте, смонтирован ли udev с помощью: grep udev /proc/mounts

Вы можете и должны проверить содержимое /etc/udev согласно ответу Кайла. Хотя udev должен работать на базовом уровне без каких-либо правил, так что это с меньшей вероятностью может быть причиной.

Не создавайте все узлы вручную, потому что это вернется, чтобы укусить вас позже.

Я нашел, где моя проблема:

https://bugs.launchpad.net/ubuntu-on-ec2/+bug/397187

Фактически, когда я обновился до более новой версии Udev, он использует signalfd (2), которого нет в моем ядре EC2.

Надеюсь, эта информация кому-то поможет.

Стэн.

Что сказал Кайл. В вики Fedora есть статья: Обновление Fedora с помощью yum - в частности, я бы проверил файлы .rpmsave в / etc, как описано в разделе «Очистить материал». Устранение проблемы всегда лучше, чем попытки устранить симптомы и, вероятно, упустить что-то важное.