Обнаружение, что сетевой интерфейс является “физическим” или “виртуальным” использованием только RTNETLINK на Linux?

Поскольку одна и та же клавиша испортила меня как в Windows (неудобно выключиться из игр не в то время), так и в Linux, я отключил сам Keycap, так что я никогда случайно не попаду в него. Тем не менее, для менее экстремального средства, вы должны иметь возможность использовать xmodmap - (старый) man page http://manpages.ubuntu.com/manpages/hardy/man1/xmodmap.1.html

-121--291847-

4 первичные разделы или, как вариант, 3 первичные разделы и расширенный раздел.

Расширенный раздел может быть разделен на несколько логических разделов.

-121--291845-

Ограничение обусловлено оригинальной конструкцией BIOS. В то время люди думали, что на одном диске не будет установлено более четырех различных ОС. Было также непонимание стандарта реализаторами ОС, в частности Microsoft и Linux, которые ошибочно отображают файловые системы с (первичными) разделами вместо того, чтобы подразделять свои собственные разделы на фрагменты, такие как BSD и Solaris, что было первоначальной целью.

Максимальное количество логических разделов ограничено стандартом, но число доступных разделов зависит от OS. Windows ограничивается количеством букв в алфавите, Linux раньше имел 63 слота с драйвером IDE. (hda1 - hda63), но современные версии стандартизируются на драйверах sd, которые по умолчанию поддерживают 15 слотов (sda1 - sda15). При некоторой настройке это ограничение может быть преодолено, но может привести к путанице инструментов (см. http://www.justlinux.com/forum/showthread.php?t=152404 )

В любом случае, это становится историей с EFI/GPT. Последние Linuxes поддерживают GPT, с которым по умолчанию можно иметь 128 разделов. Для полного использования больших дисков (2TB и более) в любом случае потребуется GPT.

2
20.07.2018, 20:27
1 ответ

Единственный способ посмотреть на атрибут IFLA_INFO_KIND, возвращенный из RTM_GETLINK. Это необязательный атрибут, который отсутствует для физических устройств, а также для кольцевого устройства lo.

Когда он присутствует, он содержит строку, например veth, bridgeи так далее. Сравнивая это со списком хорошо -известных типов виртуальных каналов (, см. ip link help), затем идентифицирует виртуальные сетевые интерфейсы, оставляя все другие сетевые интерфейсы на приблизительном поле «физический сетевой интерфейс».

Не идеально, но работает без обращения к /sys/class/net/[IFNAME], который не всегда правильно присутствует и требуетsysfs(повторного )монтажа, см. также Определить, является ли сетевой интерфейс vethиспользуя /sys/class/net?

0
27.01.2020, 22:31

Теги

Похожие вопросы