Why the wifi worked with /etc/network/interfaces but the eth0 didn't?
Pelos nomes das interfaces de rede, eu suponho que você esteja falando de Raspbian Jessie ou mais velho; estes serão diferentes no Stretch e mais recentes.
Você não disse para iniciar no momento da inicialização (com auto eth0
) ou para iniciar sempre que o hardware de rede é detectado (com allow-hotplug eth0
).
Se nenhuma dessas linhas estiver presente em /etc/network/interfaces
, a interface eth0
só será iniciada quando um comando manual ifup eth0
explícito for usado.
Does dhcpcd has somehow priority over /etc/network/interface?
No Debian e nas distribuições relacionadas, /etc/network/interfaces
é geralmente destinado a ser o local principal para a configuração manual de interfaces de rede; interfaces não listadas serão controladas por NetworkManager
, se estiver instalado.
No entanto, a inicialização padrão para dhcpcd5
aparentemente não inclui uma lista firme de interfaces nas quais ele pode trabalhar (para permitir hot-plugging, eu acho), e aparentemente ele pode ser usado para contornar o topo controle de nível de /etc/network/interfaces
fornecendo a configuração em /etc/dhcpcd.conf
.
O Stretch Raspbian está usando isso como prática padrão.
Não sou muito versado em Raspbian especificamente, mas acho que a solução deles pode fazer sentido: em um sistema com recursos mínimos, eles podem querer minimizar o número de diferentes sintaxes que suas ferramentas de configuração GUI / TUI precisarão ser. capaz de analisar. Se a sintaxedhcpd.conf
-like já estiver sendo usada em algum outro arquivo de configuração, a decisão de padronizar o uso pode permitir uma reutilização mais eficiente dos componentes do analisador de configuração.
When to use which file?
Em um sistema Debian normal, eu recomendaria principalmente usar /etc/network/interfaces
e usar /etc/dhcpcd.conf
apenas para itens que você não pode alcançar em /etc/network/interfaces
, por exemplo, adicionando ou manipulando as opções de DHCP solicitadas / recebidas.
Mas parece que para o Raspbian Stretch e mais recente, o /etc/dhcpcd.conf
é o arquivo recomendado.