ћерион Ќетворкс

7 минут чтени€

— чего начинаетс€ Linux? LPI (Linux Professional Institute) считает, что изучение необходимо начинать с темы Уќбнаружение и настройка комплектующихФ. Ёто работа с УжелезомФ, работа с комплектующими, вс€ аппаратна€ часть, то что мы видим и настраиваем. Ќа сайте LPI (www.lpi.org) мы можем найти, что должен знать обучающийс€ Linux.

  1. ¬ключение и отключение встроенного УжелезаФ
  2. Ќастройка системы с помощью или без помощи внешних устройств.
  3. –азница между устройствами хранени€ информации
  4. –азница между устройствами, поддерживающими У√ор€чую заменуФ
  5. ¬ыделение аппаратных ресурсов дл€ устройств
  6. »нструменты и утилиты дл€ просмотра списка оборудовани€
  7. »нструменты и утилиты дл€ работы с USB
  8. –азбор пон€тий sysfs, udev, dbus.

ƒалее возьмем дл€ простоты Ubuntu 20.04.

ƒиректори€ /sys Ц тут содержитс€ вс€ информаци€ о подключенных устройствах. ¬ данную директорию монтируетс€ файлова€ система sysfs. Sysfs Ч виртуальна€ файлова€ система в операционной системе Linux. Ёкспортирует в пространство пользовател€ информацию €дра Linux о присутствующих в системе устройствах и драйверах. ¬ данной директории есть определенных набор основных папок:

  • devices/ - все устройства €дра
  • bus/ - перечень шин зарегистрированных в €дре. Ўина - это общий путь, по которому информаци€ передаетс€ от одного компонента к другому
  • drivers/ - каталог драйверов
  • block/ - каталог блочных устройств. ¬ данном случае под устройством понимаетс€ совокупность физического устройства и драйвера. “о есть, если при подключении USB-драйва некоторое новое устройство в /sys/devices/ по€витс€ всегда (можно говорить о наличии физического устройства), то по€вление каталога /sys/block/sda зависит ещЄ и от наличи€ в пам€ти необходимых драйверов (usb-storage, sd_mod и т.д. - включа€ все драйвера, необходимые дл€ поддержки usb)
  • class/ - группировка устройств по классам
sys

Ќавигацию по папкам осуществл€ем с помощью команды cd. ”читыва€ вложенность папок переход на уровень вверх, т.е в родительскую папку используем cd .., где двоеточие обозначает родительский каталог. ј также переход в любую папку, например, cd /sys/bus. „тобы посмотреть все что находитс€ в каталоге используем команду ls

—ледующий момент, если мы зайдем в папку с устройствами, то мы можем увидеть, как ќ— наша видит устройства.

block

Ќе очень удобно. „тобы удобнее было работать с устройствами, используетс€ udev. Ёто менеджер устройств, который позвол€ет ќ— предоставл€ть устройства в удобно используемом виде, чтобы было пон€тно нам.

ƒалее папка /proc - она находитс€ в корне нашей ќ— и содержит информацию о всех запущенных процессах. ќна создаетс€ в оперативной пам€ти при загрузке ѕ .  оличество файлов зависит от конфигурации данной системы. ƒл€ работы с файлами необходимы права суперпользовател€.

¬несенные изменени€ сохран€ютс€ только до конца сеанса. Cеанс - это кажда€ терминальна€ оболочка, запущенна€ процессами пользовател€

¬ данную папку монтируетс€ виртуальна€ система procfs. ¬ ней находитс€ информаци€ о состо€нии €дра и вообще операционной системе в целом. “ермин виртуальна€ система - это нека€ абстракци€, котора€ позвол€ет философии Linux говорить, что Увсе €вл€етс€ файломФ, а вообще если рассматривать пон€тие файлова€ система - это иерархическое хранилище данных, которые собраны в соответствии с определенной структурой.

¬от так выгл€дит данна€ папка.

proc

ћы можем посмотреть всю информацию, котора€ нам известна о процессоре. ƒанна€ информаци€ содержитс€ в файле cpuinfo. ƒл€ вывода информации содержащейс€ в файле используем команду cat [им€_файла]. –езультат работы команды cat cpuinfo ниже.

cat cpuinfo

≈сть еще интересный файл mounts. ќн показывает все смонтированные файловые системы.

–езультат вывода будет примерно такой.

mounts

ћожно увидеть, когда мы просматриваем содержимое каталога командой ls, то файлы подсвечиваютс€ белым цветом, а каталоги синим.

ѕереходим немного глубже по дереву каталогов файловой системы cd /prox/sys в данной папке все о настройках и процессах, происход€щих с нашей текущей файловой системой. ¬ данной директории есть несколько подпапок.

ls

» зайдем в подпапку, относ€щуюс€ к файловой системе fs.

fs

ѕосмотрим например file-max в данном файле информаци€ о том сколько файлов одновременно может открыть пользователь.

cat file-max

¬ последней версии число таких фалов увеличилось. ƒо версии 20.04, число файлов было по умолчанию 204394. ћожно изменить число или данные, например, с помощью команды echo 10000000000 > file-max

file-max

¬се изменени€, которые мы делаем в данной директории они сохран€ютс€ только до перезагрузки. Ёто надо учитывать.

≈ще одна основна€ папка в корневой директории папка /dev Ц она в себе содержит интерфейсы работы с драйверами €дра.

  • /dev/sd [буква] - жесткий диск (в системах на €дре Linux)
  • /dev/sd [буква][номер] Ц раздел диска
  • /dev/sr [номер] (/dev/scd [номер]) Ц CD-ROM
  • /dev/eth [номер] Ц cетевой интерфейс Ethernet
  • /dev/wlan [номер] Ц cетевой интерфейс Wireless
  • /dev/lp [номер] Ц принтер
  • /dev/video [номер] - устройство изображений, камеры, фотоаппараты
  • /dev/bus/usb/001/[номер] Ц устройство номер на шине USB
  • /dev/dsp Ц звуковой вывод

Ќабор оборудовани€, команды вывода перечн€ устройств.

  • Lsmod Ц информаци€ о модуле €дра
  • Lspci - информаци€ об устройствах PCI
  • Lspcmcia - информаци€ об устройствах PCMCIA
  • Lsusb - информаци€ о шине USB
  • Lshw Ц детальна€ информаци€ о комплектующих.

 оманда Lsmod Ц утилита котора€ показывает нам модули €дра. ћодуль €дра Ч это объект, который содержит код позвол€ющий расширить функционал €дра. ¬от так выгл€дит ее вывод.

Lsmod

ѕо сути, если проводить аналогию с ќ— Windows это драйвера.

¬ывод команды lshw

lshw

ƒанна€ команда сканирует все устройства и выводит подробную информацию по ним и достаточно детально.

”тилиты дл€ работы с модулем €дра или утилиты управлени€ модул€ми €дра.

  • Lsmod Ц информаци€ о модул€х €дра
  • Modinfo - информаци€ о конкретном модуле
  • Rmmod - удаление модул€ €дра
  • Insmod Ц установка модул€ €дра
  • Modprobe Ц деликатное удаление или добавление модул€ €дра

‘актически эти команды используютс€ дл€ добавлени€ и удалени€ УдрайверовФ устройств в Linux системе. ¬ большинстве случаев ќ— самосто€тельно подключит устройство, но бывает такое, что устройство не стандартное и требуетс€ добавить модель, дл€ того чтобы €дро ќ—, корректно работало с данным устройством.

Rmmod и insmod - команды грубые и не умеют работать с зависимост€ми, поэтому необходимо использовать Modprobe с различными ключами.

¬заимодействие с CPU, основные пон€ти€:

  • IRQ - механизм прерываний
  • IO адреса Ц обмен информацией между устройствами и CPU
  • DMA Ц обращение к ќ«” мину€ CPU

¬ыделение ресурсов. IRQ - механизм прерываний это система котора€ сообщает центральному процессору о наступлении какого либо событи€, на которое процессор должен отреагировать. ≈сть определенные адреса прерываний, их можно увидеть в биосе ѕ . ≈сть стандартные номера прерываний. –анее была необходимость при конфликте устройств назначать в ручном режиме данные прерывани€, в насто€щее врем€ с по€влением технологии Plug and Play, данна€ потребность исчезла.

IO адреса Ц это область пам€ти в которой процессор считывает информацию об устройствах и туда же ее записывает. Ёто выделенный диапазон. ¬ообще она бывает в пам€ти и адресаци€ по портам.

DMA - технологи€ по€вилась относительно недавно и позвол€ет устройствам обращатьс€ к пам€ти мину€ процессор. —ущественно повышает быстродействие.

¬се технологии настраиваютс€ автоматически.

”стройства хранени€:

  • PATA Ц параллельный интерфейс
  • SATA - последовательный интерфейс
  • SCSI - стандарт передачи данных
  • SAS Ц замена SCSI

—овременные SATA, SAS нужно понимать есть устройства поддерживающие гор€чую замену и устройства не поддерживающие гор€чую замену.

”стройства, которые можно выдернуть из ѕ , безболезненно, и это не обрушит систему, причем ќ— не подвиснет, не перезагрузитс€, это устройства поддерживающие гор€чую замену, например, USB.

”стройство, которое не поддерживает гор€чую замену, например, оперативна€ пам€ть. ≈сли мы ее выдернем из материнской платы, ќ— однозначно обрушитс€.

 оманда blkid показывает какие устройства у нас смонтированы.

blkid

Ќужно отметить, что у каждого устройства есть уникальный UUID (универсальный уникальный идентификатор), что udev умеет читать UUID, и он монтирует в пон€тном виде нам.


—кидки 50% в Merion Academy

¬ыбрать курс