AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 407637
Accepted
Sudarshan Srinivasan
Sudarshan Srinivasan
Asked: 2017-11-29 20:01:14 +0800 CST2017-11-29 20:01:14 +0800 CST 2017-11-29 20:01:14 +0800 CST

Para superar as diferenças no formato do ifconfig Ubuntu16.04 e Ubuntu17.01

  • 772

Fundo:

Estou verificando a lista de interfaces disponíveis no Linux usando o comando ifconfig.

No entanto, há uma diferença no formato da saída do ifconfig no ubuntu 16.04 e no ubuntu 17.10.

Ao verificar mais, o pacote net-tools foi atualizado (de net-tools 1.60 PARA net-tools 2.10-alpha) no ubuntu17.10 e o ifconfig mais recente gera os nomes das interfaces de rede com dois pontos (':'). Na versão mais antiga:

$ ifconfig --version net-tools 1.60 ifconfig 1.42 (13-04-2001)

$ ifconfig

enp0s3 Link encap:Ethernet

Na versão mais recente

$ ifconfig --version net-tools 2.10-alpha

$ifconfig

ens160: flags=4163 mtu 1500

lo: flags=73 mtu 65536

Isso pode quebrar algumas ferramentas que levam em consideração ou esperam o ':' extra na saída.

Pergunta:

Existe uma maneira de obter a lista de interface de rede de maneira confiável, de modo que qualquer alteração no formato da saída ifconfig não afete as ferramentas que a utilizam? Existe alternativa para ifconfig que pode ser usada de maneira consistente?

network-interface
  • 2 2 respostas
  • 850 Views

2 respostas

  • Voted
  1. Best Answer
    mjturner
    2017-11-30T01:13:37+08:002017-11-30T01:13:37+08:00

    O pacote net-tools ficou obsoleto por algum tempo, sendo substituído pelo iproute2 ( ipsendo a principal ferramenta desse pacote). Muitas distribuições nem mesmo enviam ferramentas de rede como parte de sua instalação básica.

    O desenvolvimento de net-tools foi reiniciado desde então, mas isso resultou em várias ferramentas sendo aprimoradas de maneiras que quebram a compatibilidade, como você viu com ifconfig. Em NEWS.Debian.gzum sistema Debian 9.0:

    Após 15 anos sem desenvolvimento upstream, o net-tools está sendo trabalhado novamente, corrigindo muitos problemas de longa data. A má notícia é que a saída de muitos comandos foi alterada e certamente interromperá os scripts que dependiam de sua análise.

    Por esse motivo, pode ser uma ideia adaptar seus scripts para usar as ferramentas iproute2. Por exemplo, ip linkdeve fornecer informações semelhantes às suas ifconfiganteriores. A única desvantagem dessa abordagem é que ela quebra a compatibilidade com sistemas não-Linux, quase todos os quais usam ifconfig.

    • 2
  2. Low power
    2017-11-30T09:34:55+08:002017-11-30T09:34:55+08:00

    Uma maneira alternativa de listar todas as interfaces no Linux a partir do shell é lendo /proc/net/dev, que tem um formato mais estável do que a saída de ifconfig(8) de net-tools.

    Por exemplo, para obter o nome das interfaces:

    whr@debianjessie:~$ sed -r -e 1,2d -e 's/^ +//' -e 's/: .+//' /proc/net/dev
    ppp0
    lo
    eth0
    eth1
    
    • 1

relate perguntas

  • Acessar VM via IP estático (NAT?)

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Matriz JSON para bash variáveis ​​usando jq

    • 4 respostas
  • Marko Smith

    A data pode formatar a hora atual para o fuso horário GMT? [duplicado]

    • 2 respostas
  • Marko Smith

    bash + lê variáveis ​​e valores do arquivo pelo script bash

    • 4 respostas
  • Marko Smith

    Como posso copiar um diretório e renomeá-lo no mesmo comando?

    • 4 respostas
  • Marko Smith

    conexão ssh. Conexão X11 rejeitada devido a autenticação incorreta

    • 3 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Marko Smith

    comando systemctl não funciona no RHEL 6

    • 3 respostas
  • Marko Smith

    rsync porta 22 e 873 uso

    • 2 respostas
  • Marko Smith

    snap /dev/loop em 100% de utilização -- sem espaço livre

    • 1 respostas
  • Marko Smith

    chave de impressão jq e valor para todos no subobjeto

    • 2 respostas
  • Martin Hope
    EHerman Matriz JSON para bash variáveis ​​usando jq 2017-12-31 14:50:58 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Drux A data pode formatar a hora atual para o fuso horário GMT? [duplicado] 2017-12-26 11:35:07 +0800 CST
  • Martin Hope
    AllisonC Como posso copiar um diretório e renomeá-lo no mesmo comando? 2017-12-22 05:28:06 +0800 CST
  • Martin Hope
    Steve Como as permissões de arquivo funcionam para o usuário "root"? 2017-12-22 02:46:01 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST
  • Martin Hope
    Cbhihe Altere o editor padrão para vim para _ sudo systemctl edit [unit-file] _ 2017-12-03 10:11:38 +0800 CST
  • Martin Hope
    showkey Como baixar o pacote não instalá-lo com o comando apt-get? 2017-12-03 02:15:02 +0800 CST
  • Martin Hope
    youxiao Por que os diretórios /home, /usr, /var, etc. têm o mesmo número de inode (2)? 2017-12-02 05:33:41 +0800 CST
  • Martin Hope
    user223600 gpg — o comando list-keys gera uid [ desconhecido ] depois de importar a chave privada para uma instalação limpa 2017-11-26 18:26:02 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve