Question Devrais-je arrêter d'utiliser Ifconfig?


Avec les serveurs qui montent des cartes Infiniband, lorsque j’utilise le ifconfig commande, je reçois cet avertissement:

Ifconfig uses the ioctl access method to get the full address 
information, which limits hardware addresses to 8 bytes.
Because Infiniband address has 20 bytes, only the first 8 bytes 
are displayed correctly.
Ifconfig is obsolete! For replacement check ip.

Devrais-je arrêter d'utiliser ifconfig? Est-ce qu'il est déconseillé en faveur de la ip commander? Ou sera-t-il mis à jour dans un proche avenir?

Remarque: Cette question et les réponses concernent GNU / Linux distributions "majeures". Il ne faut pas présumer que les informations s'appliquent à toutes les distributions, et en particulier aux autres systèmes d'exploitation.


155
2017-12-17 08:52


origine


Plus vite vous basculez, mieux c'est. Il m'a fallu mois remplacer la mémoire musculaire de ifconfig. Cela rend les opérations sur Windows encore plus amusantes. "ip add-Non, attends, ce n'est pas ça, ifcon-NON, argh ipconfig" - Charles
Peut-être qu'un alias aidera: alias ipconfig='echo ipconfig is deprecated, use ip instead'. Bien sûr, vous créez des alias plus sensés. - ott--
ifconfig est obsolète? Je vivais dans une grotte - wim
Je trouve curieux qu'une commande appelée "ip" puisse effectuer des opérations au niveau des liens. - James O'Gorman
Il est uniquement obsolète sur certains systèmes d'exploitation. Si vous utilisez des éléments en dehors de Linux, j’estime que ifconfig est toujours utilisé. Je ne vois pas un tel avertissement sur FreeBSD, par exemple. - Stefan Lasiewski


Réponses:


Citant Thomas Pircherle site web de (cc-by-sa): 

ifconfig vs ip

La commande /bin/ip a été autour depuis un certain temps maintenant. Mais les gens continuent à utiliser l'ancienne commande /sbin/ifconfig. Soyons clairs: ifconfig ne partira pas rapidement, mais sa version plus récente, ip, est plus puissant et finira par le remplacer.

La page de manuel de ip Cela peut paraître intimidant au début, mais une fois que vous vous êtes familiarisé avec la syntaxe de la commande, la lecture est facile. Cette page n'introduira pas les nouvelles fonctionnalités d'ip. Il propose plutôt une comparaison côte à côte si ifconfig et ip pour obtenir un aperçu rapide de la syntaxe de commande.

Afficher les périphériques réseau et la configuration 

ifconfig

ip addr show
ip link show

Activer une interface réseau

ifconfig eth0 up
ip link set eth0 up

Une interface réseau est désactivée de la même manière:

ifconfig eth0 down
ip link set eth0 down

143
2017-12-17 09:48



Il est intéressant de noter que dans chaque cas d'utilisation, vous avez mentionné que la commande ip est plus longue et complexe. Probablement une des principales raisons pour lesquelles les gens utilisent encore ifconfig - TheLQ
@TheLQ: ip fournit beaucoup, beaucoup plus de fonctionnalités. Bien sûr que c'est plus complexe. Quoi qu'il en soit, de nombreuses commandes peuvent être raccourcies. par exemple. ip addr show peut être raccourci à ip a, ip link show à ip l, ip link set eth0 up à ip l set eth0 up etc. Cela apporte ip à égalité avec ifconfig. - BatchyX
N'oubliez pas que le monde entier n'est pas une machine Linux. Solaris, AIX, HP-UX, tous les BSD et SCO (personne ne se soucie de leur) tous utilisent ifconfig. Si vous voulez être un unix admin (pas seulement un Linux admin) vous devez au moins vous familiariser avec ifconfig et sa syntaxe de base ... - voretaq7
Votre premier exemple y répond. Pourquoi exécuter 2 commandes quand 1 le fait? - ott--
@ott ip addr show comprend à peu près la sortie de ip link show. - nyuszika7h


Oui, ifconfig est déconseillé en faveur de iproute2 (le ip commander) sur Linux.

De même, le arp, route et netstat les commandes sont également obsolètes.

Cependant, iproute2 est spécifique à Linux, lorsque d’autres Unix utilisent ifconfigDonc, il peut être utile de savoir / se rappeler comment cela fonctionne si vous utilisez un autre Unix ...

Pour apprendre la "nouvelle façon", je vous suggère de regarder ces 3 liens:

Selon le dernier lien, ifconfig n'a pas été maintenu depuis +15 ans:

Sauf pour la masse de correctifs accumulée par Debian, les outils réseau   paquet n'a pas vu de développement en amont après la version 1.60,   publié vers le 15 avril 2001.


38
2018-04-30 09:56



ifconfig a été développé par BSD à l’époque. Linux utilisait essentiellement la pile IP de BSD (comme Windows et d’autres à l’époque, pourquoi ipconfig est toujours similaire à ifconfig). Dans le noyau 2.4 Linux commençant à diverger fortement de la pile de BSD, c’était le début de 2001. Ce n’est pas un hasard si ifconfig sous Linux n’a pas été bien entretenu depuis. - Chris S
10 années!? Il est temps de lancer un projet "save ifconfig" sur GitHub, je suppose. - kenchilada


ifconfig est obsolète depuis de nombreuses années maintenant, il est temps de passer, en particulier dans un cas comme le vôtre.


19
2017-12-17 08:57



J'aime aussi son raccourcissement de commande cisco-esque. "ip a" = "show ip address" - Coops
meh Il y a suffisamment de scripts et d'autres outils construits sur ifconfig pour que je ne ressente pas le besoin de changer jusqu'à ce qu'il disparaisse ... - Jason Antman
Je n'ai jamais entendu parler de ip. Je viens de le tester sur un serveur FreeBSD et cela dit ip: Command not found.. Peut être ifconfig est déconseillé uniquement sur Linux. - ctype.h
@ ctype.h: En effet, il n'est déconseillé que sur Linux. La publication d'ifconfig sur linux date de 1999. ip était déjà le choix recommandé pour les noyaux 2.4. - BatchyX


ip a été le remplaçant de ifconfig pendant un moment, probablement à un moment donné ifconfig mettra à jour, mais je ne l'attendrais pas et apprendre à travailler avec ip ainsi que. Son supporté sur toutes les distributions Linux


5
2017-12-17 08:57



ip a été le remplacement de ifconfig sur Linux, au choix de certaines distributions. - Kaz
Il semble extrêmement improbable que ifconfig puisse être totalement compatible avec Linux. commandes comme ifconfig eth0 192.168.0.7/24 n'ont pas de signification claire: par exemple. si eth0 a déjà 2 adresses IP dessus (deux dessus, pas un, un alias comme eth0: 1). - Jasen