Oi Daniel,

2009/8/3 Daniel Carlos <[email protected]>:
>
>
> Olá Cleber,
>
> A resposta desta questão é um pouco mais complexa. Vamos lá!!
>
> Você está errado quanto ao uso do MAKEDEV, pois ele também pode ser usado
> para criar dispositivos, inclusive deve-se usar ele em detrimento do mknod,
> pois este está em processo de depreciação.

OK, mas deve-se lembrar que isso vale apenas para dispositivos que
foram mapeados, pois ele utiliza uma base interna, preconigurada, com
as permissões e características destes dispositivos (Que é o caso
aqui). Caso você precise de algum dispositivo específico ainda vai
precisar do mknod.

>
> Logo, tanto o item 1 como o 2 estão corretos, entretanto, em algumas
> distribuições o MAKEDEV não é um shell script e sim um binário, logo ele
> deve ser executado diretamente e não através do chamado do shell conforme o
> item 1.

Em um email posterior levantei estas considerações, e por isso
considerei nesta questão o item 2 como o mais correto.

>
> Ou seja, o item 1 está correto em distribuições baseados no Debian (onde o
> MAKEDEV é um shell script). Em distribuições baseadas no RH, este item está
> incorreto, pois ele é um binário.
>
> Ok??

Isso mesmo. Mas como existe o problema de em algumas distribuições o
MAKEDEV ser um binários e em outros ser um script, não considero uma
boa opção a resposta 1. Também existe o problema do MAKEDEV não estar
no /dev em algumas distribuições. Concordo com você nos pontos que
você levanta, mas para esta questão a resposta 2 ainda é a mais
genérica, pois funciona em qualquer sistema linux, tanto Debian,
Redhat ou qualquer outro.

Concorda?


>
> Abraços,
>
> Daniel Carlos
> RHCE, LPIC-3
> Petrobras S.A
>
> 2009/8/2 Cleber Paiva de Souza <[email protected]>
>>
>>
>>
>> 2009/8/2 Rodrigo Fernandes <[email protected]>:
>> >
>> >
>> > Pessoal , peço uma ajuda nessa questão abaixo
>> >
>> > Acidentalmente foi apagado do servidor o seguinte arquivo de
>> > dispositivo:
>> > crw-rw----  1 root uucp 4, 64 1998-05-05 17:32 /dev/ttyS0
>> > Para recriar este arquivo, pode-se usar:
>> > 1 - sh /dev/MAKEDEV ttyS0
>> > 2 - mknod ttyS0 c 4 64
>> > 3 - mknod ttyS0 b 4 64
>> > 4 - ln /proc/ttyS0 /dev/ttyS0
>> > 5 - touch /dev/ttyS0
>> >
>> > Bom o comando MKNOD ele cria um dispositivo partindo do Zero , então a
>> > 2,3
>> > ja está fora , o ln fora tambem , considerando que tudo no Linux é um
>> > arquivo , pode ser usar o TOUCH , em alguns documentos o script MAKEDEV
>> > é o
>> > mais correto , porem não começa com sh .
>> >
>> > O que vcs acham ????
>> >
>>
>> A resposta certa é a 2.
>>
>> O mknod é o responsável pela criação de arquivos de bloco ou caracter,
>> avaliando o resutando do ls, temos:
>> crw-rw---- - o c indica se tratar de um dispositivo de caracter;
>> 4, 64 - indica que o MAJOR do dispositivo é 4 e o MINOR é 64.
>>
>> A sintaxe do mknod também está correta. Você pode verificar pelo 'man
>> mknod'.
>>
>> Outras respostas:
>> > 1 - sh /dev/MAKEDEV ttyS0
>> Errada, pois não existe o arquivo MAKEDEV no diretório /dev.
>>
>> > 3 - mknod ttyS0 b 4 64
>> Errada, pois cria um dispositivo de bloco e não de caracter como o que
>> foi apagado.
>>
>> > 4 - ln /proc/ttyS0 /dev/ttyS0
>> Errada, pois cria um link simbólico e não um arquivo de cacter. O
>> arquivo /proc/ttyS0 também não existe.
>>
>> > 5 - touch /dev/ttyS0
>> Errada, pois cria um arquivo vazio, repare que não será atribuído o
>> 'c' nas permissões do arquivo. Isso ocorre apenas quando é utilizado o
>> mknod.
>>
>> Até mais,
>>
>> >
>> >
>> > --
>> > Att.
>> > --
>> >
>> >  . ' '`  .      Rodrigo Fernandes
>> > :  :'   :       Analista de Suporte
>> > `.  `'`        E-mail - [email protected]
>> >   `-        Cel:+55 34 9993 0760
>> > ----------------------------------------------------
>> > Linux User Registered #000164720 Debian-BR User #698
>> >
>> > Think different - Think Linux.
>> >
>> >
>> >
>>
>> --
>> Cleber Paiva de Souza
>
> 



-- 
Cleber Paiva de Souza

Responder a