Vou tentar dar um breve exemplo do que você pode fazer, mas não é um exemplo completo, porque a configuração exata, as necessidades, etc. podem diferir bastante.
Primeiro, vamos fazer algumas suposições para tornar esse caso mais simples:
- Você não está usando o gerenciador de rede
- Você não está usando
resolvconf
, mas o arquivo estático /etc/resolv.conf - Seu arquivo de interfaces não contém
allow-hotplug
linhas para reconfigurar se o cabo está desconectado / conectado.
Vamos configurar nossa variável auxiliar DEV
## your device is eth0
# stop /etc/interface control of the eth0 device, should also stop/kill dhcp for that device
ifdown eth0
## stop dhclient to be sure, don't worry about leases files etc
pkill dhclient
## ubuntu precise calls dhclient with dhclient3
pkill dhclient3
# set ip manually: (NETMASK is quite often 24 == 255.255.255.0)
ifconfig eth0 up 192.168.0.1/NETMASK
# do you need default gw? (for this example it's 192.168.0.254)
route add default gw 192.168.0.254
## if your /etc/resolv.conf is incorrect add correct nameserver like this:
### 8.8.8.8 = goole open dns
echo 'nameserver 8.8.8.8' > /etc/resolv.conf
Agora, se a suposição 1 for falsa do (pare o gerenciador de rede):
stop network-manager
Para o pressuposto 2) remova resolvconf
ou remova /etc/resolv.conf
se for um symlink e substitua-o por um arquivo estático
[ -h /etc/resolv.conf ] && rm /etc/resolv.conf
E para a suposição 3): Isso deve comentar as linhas de hotplug .. e espero que seja suficiente
perl -i -pe 's/^(\s*allow-hotplug)/# /g' /etc/network/interfaces