/ dev / random está faltando após um upgrade

3

Estou tendo problemas com um sistema fedora atualizado. Recentemente a Amazon adicionou imagens baseadas em EBS e eu decidi experimentá-lo. Eu lancei uma instância básica do FC8 e a atualizei com o yum. Primeiro até FC10 e depois até FC12.

Bem, estou perdendo / dev / random na instância do FC12 agora e há algumas outras coisas obscuras. Por exemplo: / dev / null tem 600 permissões e / dev / urandom não é um dispositivo de bloco. / dev / random é absolutamente ido:)

Eu li aqui link , como "consertar" os problemas acima, no entanto a cada começo do sistema tudo é o mesmo. Estou planejando adicionar as correções ao /etc/rc.local. Você acha que esta é uma boa solução / solução alternativa?

Alguém sabe exatamente onde está o problema?

Obrigado por qualquer aviso e conhecimento compartilhado,

Stan.

p.s. A instância está executando este kernel: 2.6.21.7-2.ec2.v1.2.fc8xen

    
por Stan Bright 07.12.2009 / 14:56

6 respostas

3

Eu acredito que eles são criados pelo udev. Comparar o conteúdo do seu diretório / etc / udev com um sistema em funcionamento ou ver o / var / log / udev pode lhe dar alguma idéia.

    
por 07.12.2009 / 16:14
3

Você não pode realmente atualizar uma imagem ec2 como essa. Como o kernel é fornecido pela Amazon, você precisa certificar-se de inicializar sua instância com o kernel correspondente ou um comportamento estranho (como você descreveu) ocorrerá.

A única maneira de "atualizar" um sistema que requer mudanças no kernel é construir uma nova imagem a partir do zero ou encontrar uma AMI existente com o sistema operacional que você quiser.

    
por 07.12.2009 / 19:05
2

Você pode executar:

/sbin/MAKEDEV std

para criar esses arquivos de dispositivo (e alguns outros).

    
por 07.12.2009 / 15:21
1

A maioria das distribuições Linux modernas usam udev para preencher dinamicamente o conteúdo de /dev .

Normalmente, o seu FS raiz só precisa de entradas estáticas para /dev/console e /dev/null para inicializar. Uma vez inicializado, um tmpfs mount sobrepõe /dev , para fornecer o complemento completo dos nós de dispositivos.

Algumas etapas de diagnóstico.

  • Determine se o seu kernel suporta o udev com: dmesg | grep udev
  • Verifique se o daemon está sendo executado: ps ax | grep udevd
  • Verifique se o udev está montado com: grep udev /proc/mounts

Você pode e deve verificar o conteúdo de /etc/udev de acordo com a resposta de Kyle. Embora o udev deva funcionar em um nível básico sem quaisquer regras, é menos provável que seja a causa.

Não vá criando todos os nós manualmente, porque ele voltará a te morder em uma data posterior.

    
por 07.12.2009 / 17:48
1

Eu encontrei onde meu problema é:

link

Na verdade, quando atualizei para um Udev mais novo, ele usa signalfd (2), que não está disponível no kernel do EC2.

Espero que esta informação ajude a outra pessoa.

Stan.

    
por 06.01.2010 / 17:08
0

O que Kyle disse. O wiki do Fedora tem um artigo: Atualizando o Fedora usando o yum - em particular, eu verificaria arquivos .rpmsave em / etc como descrito na seção "Coisas Limpas". Consertar o problema é sempre uma idéia melhor do que tentar corrigir os sintomas e, provavelmente, perder algo importante.

    
por 07.12.2009 / 17:27