Создайте файл /etc/udev/rules.d/70-persistent-net.rules
следующим образом:
sudo nano /etc/udev/rules.d/70-persistent-net.rules
добавить следующая строка:
# PCI device 0x10ec:0x8xxxx (ethernet_module_here)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="3x:17:ef:6f:s2:2h", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x168c:0xyyy (wifi_module_here)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="74:e5:ii:uu:de:nn", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
Запустите sudo ifconfig
, чтобы получить адрес Mac, и измените его на свой здесь: ATTR {адрес} == "74: e5: ii: uu: de: nn"
Ctrl O , затем нажмите Введите , чтобы выйти с помощью Ctrl X
Отключите Предсказуемые имена сетевых интерфейсов с помощью:
ln -sf /dev/null /lib/udev/rules.d/80-net-setup-link.rules
Это перезапишет существующий файл, поэтому, при желании, сделайте резервную копию перед выполнением команды.
Откройте свой интерфейс:
ip link set eth0 up
ip link set eth0 down
Альтернативный метод:
Отредактируйте файл конфигурации grub:
sudo nano /etc/default/grub
добавьте net.ifnames = 0 biosdevname = 0
в GRUB_CMDLINE_LINUX = ""
вот так:
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
update grub.cfg
: sudo grub-mkconfig -o /boot/grub/grub.cfg
Отредактируйте свой / etc / network / interfaces
, чтобы изменить имя интерфейса, затем перезагрузите компьютер.
Типа.
Ядро (например, Linux) имеет собственный внутренний интерфейс системного вызова, поэтому один системный вызов обычно может вызывать другой системный вызов без необходимости настраивать всю процедуру системного вызова.
Как узнать? У вас есть исходники ядра, возможно, у вас есть grep
, чтобы вы могли узнать.
Да. Например, системный вызов fork
фактически вызывает системный вызов clone
. Мы также можем использовать системный вызов clone
для более точного управления дочерним процессом.