Eu tenho um sistema que preciso configurar via systemd-networkd
. Para configurar o adaptador ethernet eth0
criei um arquivo /etc/systemd/network/eth.network
com o seguinte conteúdo:
[Match]
Name=eth*
KernelCommandLine=!nfsroot
[Network]
Address=10.0.1.100/24
Gateway=10.0.1.1
DNS=8.8.8.8
Infelizmente, depois de definir a saída de log para verbose, descobri que systemd-networkd
realmente lê sua configuração a partir da /lib/systemd/network/80-wired.network
qual configura o DHCP para esse adaptador.
Minha pergunta: É seguro excluir/mover esse arquivo? Por que ele substitui meu arquivo? (Fiquei com a impressão de que isso /etc
tem precedência sobre os arquivos enviados com o systemd.)
EDIT: Estou usando uma modificação da distribuição de referência poky do projeto yocto.
Todos os arquivos dos diretórios correspondentes em /etc, /run e /usr/lib são coletados em uma única lista.
A precedência é por arquivo – se dois arquivos em /etc e /usr tiverem o mesmo nome , então o arquivo em /etc terá prioridade enquanto o arquivo em /usr será ignorado. (O resto de /usr não é ignorado, apenas aquele arquivo é.) Isso se aplica à maioria das configurações relacionadas ao systemd.
Depois, no caso de arquivos orientados a correspondência, como arquivos .network, a lista inteira é classificada por nome de arquivo em ordem ASCII, e o primeiro arquivo correspondente vence. Não importa de qual diretório o arquivo veio – se estiver no topo da lista, ele vence.
Em ASCII, todos os números (0x30–0x39) serão classificados antes de qualquer letra (0x40–0x7f). Ou seja,
8*
vai antese*
.É por isso que o arquivo incluído é nomeado
80-something
- ele deixa espaço para seus arquivos personalizados serem nomeados27-whatever
ou50-whatever
.