Diferença entre dhclient & dhclient3?

5

Bem, eu me deparei com um comando que conecta sua conexão com fio da linha de comando, emitindo isso no terminal; "sudo dhclient3 eth0". Mas existe também um comando chamado "dhclient". Eles são os mesmos? Eu poderia emitir o mesmo comando como; "sudo dhclient eth0?" Alguém poderia esclarecer o novato sobre esse assunto?

    
por Maverick 02.01.2011 / 04:36

1 resposta

5

Eles são realmente um e o mesmo:

~$ ls -lah /sbin | grep dhclient
lrwxrwxrwx  1 root root      9 2010-12-30 14:38 dhclient -> dhclient3
-rwxr-xr-x  1 root root   402K 2010-08-07 04:49 dhclient3

A seta indica que dhclient é um Link simbólico que aponta para dhclient3 . Nós podemos usar

test -h /sbin/dhclient
echo $?

para se certificar de que é; ele retornará 0 , significando sim.

Às vezes, isso é feito para manter a compatibilidade com programas e scripts mais antigos que assumem o comando antigo.

Se você estiver escrevendo um programa que use um desses, use dhclient3 e gerencie suas dependências de acordo.

Em ls -lah , os argumentos significam l no formato de listagem ong, a ll arquivos e h uman tamanhos de arquivo legíveis. Além disso, test não tem nada a ver com links simbólicos, é um utilitário geral para testar a verdade de uma instrução, o argumento -h faz com que funcione em arquivos e retorna True (0) se o arquivo existir e é um link simbólico .

Para descobrir onde o arquivo está, usei o utilitário type :

type dhclient
dhclient is hashed (/sbin/dhclient)

Se você encontrar dois arquivos que não estejam simbolicamente vinculados e suspeitar que eles ainda são os mesmos, use uma Função de hash para ver se são as mesmas:

stefano@lenovo:~$ md5sum /sbin/dhclient && md5sum /sbin/dhclient3
fc2491e5c1576783bdc4aa8c5817166e  /sbin/dhclient
fc2491e5c1576783bdc4aa8c5817166e  /sbin/dhclient3
    
por Stefano Palazzo 02.01.2011 / 05:32