Linux网卡命名enp3s0说明

用了不少年Linux的我在升级Ubuntu 16.04以后居然发现个人以太网卡的名字居然不是eth0,变成了enp3s0,每次想要修改什么配置,
都要先ifconfig查一下网卡名,真是让我很郁闷!网络

去网上搜索一下才知道,此次的Ubuntu 16的更新幅度很大,当属systemd替换掉了initd来引导系统这个动做给用户带来的影响最大,
原来习惯service什么的来控制系统服务什么的,如今居然被systemctl这个命令替换了(虽然service依旧可用)。systemd带来的另
外一个反作用(或者能够说是优势)就是网络接口的命名方式变了:dom

/*
 * Two character prefixes based on the type of interface:
 *   en — Ethernet
 *   sl — serial line IP (slip)
 *   wl — wlan
 *   ww — wwan
 *
 * Type of names:
 *   b<number>                             — BCMA bus core number
 *   c<bus_id>                             — CCW bus group name, without leading zeros [s390]
 *   o<index>[d<dev_port>]                 — on-board device index number
 *   s<slot>[f<function>][d<dev_port>]     — hotplug slot index number
 *   x<MAC>                                — MAC address
 *   [P<domain>]p<bus>s<slot>[f<function>][d<dev_port>]
 *                                         — PCI geographical location
 *   [P<domain>]p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]
 *                                         — USB port number chain
 */

上面一段是systemd源码的注释,意思是:code

  1. en表明以太网卡接口

  2. p3s0表明PCI接口的物理位置为(3, 0), 其中横座标表明bus,纵座标表明slotip

更加详细的历史及优缺点能够参考freedesktop的wikiget

相关文章
相关标签/搜索