Como criar / dev / null no BSD?

3

Um script escrito incorretamente excluiu /dev/null no meu sistema. Eu encontrei uma resposta aqui e tentei. Mas assim que eu escrevo algo para o novo /dev/null , o sistema trava. Eu tenho medo que a resposta não seja para o BSD.

Alguém pode ajudar?

É o FreeBSD 10.3

    
por iBug 31.03.2017 / 06:36

2 respostas

3

No FreeBSD:

mknod /dev/null c 15 0 root:wheel
chmod 0666 /dev/null

Como você descobriu, os números 15 e 0 não são portáveis para outros sistemas.

    
por 31.03.2017 / 06:53
4

O comando para criar entradas de nó de dispositivo é mknod em belas muito todos os sistemas unix. Os números dos dispositivos dependem completamente da variante unix, portanto, você precisa consultá-los na documentação. Em alguns sistemas, man 4 null (a página null man na seção 4 “arquivos especiais”) informará quais são os números dos dispositivos. (Os dispositivos estão na seção 4 do BSD e Linux, mas o número da seção pode variar em outras variantes do Unix, por exemplo, a seção 7 no Solaris.)

Se as páginas man não lhe disserem, procure por um MAKEDEV , geralmente localizado em /dev . Este é geralmente um script de shell onde você pode facilmente descobrir o número do dispositivo ou executá-lo como cd /dev && ./MAKEDEV null .

Alguns sistemas Unix modernos não usam MAKEDEV porque os nós de dispositivos são criados automaticamente. Este é o caso em sistemas Linux (exceto alguns sistemas embarcados) com o udev, e também no FreeBSD com devfs . Como recriar uma entrada que normalmente é criada automaticamente depende do sistema de criação automática de dispositivos. No FreeBSD, você pode simplesmente dar o nome do dispositivo ao comando mknod : mknod /dev/null .

    
por 01.04.2017 / 02:58