ubuntu nomes da interface de instalação automática

1

Não parece possível nas autoinstalações do Ubuntu (14.04.3 e 15.04) configurar a interface de rede correta via preseed.

O Ubuntu às vezes usa eth0 e, às vezes, interfaces como p2p1 ou p1p3 .

Eu sei como esses nomes serão gerados. Mas como posso detectar esses nomes durante ou antes da instalação automática? Como posso renomear automaticamente o nome da interface p2p1 para o nome antigo eth0 ?

Para definir as configurações da interface estática eu uso d-i preseed/late_command para sobrescrever o arquivo /etc/network/interfaces . Certo, eu sei que existe apenas uma interface com o nome eth0 .

Eu tentei substituir / excluir o /etc/udev/rules.d/70-persistent-net.rules dentro do preseed/late_command . Mas isso não ajuda em nada - será ignorado.

Como posso alterar o nome da interface para eth0 ? Ou como posso detectar o nome da interface durante a autoinstalação, para escrever o nome correto no arquivo de rede / interfaces?

Editar:

A substituição agora funciona muito bem (graças ao "muru"!)

A interface inicial será gravada em outro servidor e servida internamente via http wget no preseed/late_command :

wget http://{InternalServer}/{path}/interfaces -O /etc/network/interfaces;

na mesma linha, carrego um script replaceinterface.sh adicional com o conteúdo:

#!/bin/bash
sDevice='ip -o link | grep 'link/ether' | grep -oE "^[[:digit:]]:[[:space:]]([[:alnum:]]+)" | cut -d" " -f 2'
sed "s/eth0/$sDevice/g" $1

Após o carregamento, eu disparo chmod +x , executo com sh /tmp/replaceinterface.sh < /etc/network/interfaces > /etc/network/interfaces;

Mas, depois que a instalação estiver concluída, o arquivo /etc/network/interfaces será vazio (?) ...

Se eu fizer as mesmas etapas em outro console manualmente, durante a instalação, eu vejo a saída correta / arquivo modificado correto

Mas isso parece ser outra questão para askubuntu.com ..

Editar²:

A substituição funciona perfeitamente agora - mais uma vez obrigado a "muru"!

#!/bin/bash
sDevice='ip -o link | grep 'link/ether' | grep -oE "^[[:digit:]]:[[:space:]]([[:alnum:]]+)" | cut -d" " -f 2'
sReplaced='sed s/eth0/$sDevice/g $1'
echo "$sReplaced" > $1
    
por exxecc 26.11.2015 / 10:58

0 respostas