- How to View Hardware Information in Linux
- 1. Lscpu Command – Show Linux CPU Information
- 2. Lshw Command – Show Linux Hardware Information
- 3. Lspci Command – Show Linux PCI Information
- 4. Lsusb Command – Show Linux USB Devices Information
- 5. Lsblk Command – Show Linux Block Devices Information
- 6. Df Command – Show Linux Disk Usage Information
- 7. Free Command – Show Linux Memory Information
- 8. Mount Command – Show Linux Mounted File System Information
- 9. Fdisk Command – Show Linux Partitions Information
- Ubuntu: обнаружение и работа с Hardware
- Далее. Возьмем для простоты Ubuntu 20.04
- Набор оборудования
- Взаимодействие с CPU, основные понятия
- Устройства хранения
How to View Hardware Information in Linux
Being a Linux enthusiast implies that you are familiar with both the hardware and software entities of your system. Since it is the hardware that hosts the Linux operating system software, understanding the underlying hardware specs will help you achieve several objectives:
- You will know the Main Memory (RAM) allocation on your system and how much is usable. This information is important especially when you want to upgrade/change your Linux OS.
- You can quickly take note of available storage space and storage capacity on your Linux system in case you need to store more data, especially on a Linux server environment.
- You will be able to determine the performance status of critical hardware components that define your computer/machine.
The Linux operating system has a reputation of making life easier for users that want to achieve critical OS objectives like viewing the hardware information of their machine. Moreover, you do not need to install any third-party application package/software.
The commands associated with the display of your Linux hardware information cover CPU info, Memory info, and other hardware peripherals and devices info.
This article guide is going to highlight some of these commands and their usage.
1. Lscpu Command – Show Linux CPU Information
If you are interested in the CPU and Processing Unit hardware information of your machine/computer, consider the reputation of this Linux command. Its usage is straightforward as demonstrated below:
2. Lshw Command – Show Linux Hardware Information
The output of the lshw command is not limited to CPU and Processing Unit hardware information. It also reveals essential hardware information related to hardware units like Network Adapters, Memory, USB Controllers, and Disk.
Running the lshw command as a super-user (Sudoer user) produces a more accurate output.
The lshw command’s output reveals your computer’s general info like vendor, product, and serial; the computer’s core, CPU, memory, network, and USB info.
3. Lspci Command – Show Linux PCI Information
The lspci command has a dedicated functionality in detailing and briefing a machine’s PCI Buses hardware info together with the details of other connected hardware components.
Run lspci if you also need hardware info related to SATA Controllers, Network Adapters, USB Ports, Graphics Card, and VGA Adapter.
4. Lsusb Command – Show Linux USB Devices Information
The lsusb command suites a Linux user interested in hardware information associated with their machine’s USB controllers. It also reveals detailed information on hardware devices linked to the USB controllers.
A more detailed output can be achieved by using the «-v» option alongside lsusb command.
5. Lsblk Command – Show Linux Block Devices Information
If you need hardware information on connected block devices like flash drives, optical drives, and internal hard drive partitions, you will appreciate what the lsblk command has to offer.
6. Df Command – Show Linux Disk Usage Information
The df command details the filesystem partitions hardware info like available space, used space, and mount points.
7. Free Command – Show Linux Memory Information
The free command reveals important hardware info about the machine’s Swap and Main Memory.
8. Mount Command – Show Linux Mounted File System Information
The mount command reveals mounted file systems in Linux.
9. Fdisk Command – Show Linux Partitions Information
The fdisk command is prominent for detailing active hardware partition information of your Linux system. You however need to run the fdisk command as a Sudoer/root user.
The hardware commands discussed in this article should be able to get you any hardware information regarding your Linux-powered computer/machine.
Ubuntu: обнаружение и работа с Hardware
С чего начинается Linux? LPI (Linux Professional Institute) считает, что изучение необходимо начинать с темы «Обнаружение и настройка комплектующих». Это работа с «железом», это работа с комплектующими вся аппаратная часть, то что мы видим и настраиваем. На сайте LPI (www.lpi.org) мы можем найти, что должен знать обучающийся Linux.
- Включение и отключение встроенного «железа»
- Настройка системы с помощью или без помощи внешних устройств.
- Разница между устройствами хранения информации
- Разница между устройствами, поддерживающими «Горячую замену»
- Выделение аппаратных ресурсов для устройств
- Инструменты и утилиты для просмотра списка оборудования
- Инструменты и утилиты для работы с USB
- Разбор понятий sysfs, udev, dbus.
Далее. Возьмем для простоты Ubuntu 20.04
Директория /sys Содержится вся информация об подключенных устройствах. В данную директорию монтируется файловая система sysfs. В данной директории есть определенных набор основных папок:
- devices/ — все устройства ядра
- bus/ — перечень шин
- drivers/ — каталог драйверов
- block/ — каталог блочных устройств
- class/ — группировка устройств по классам.
Навигацию по папкам осуществляем с помощью команды cd . Учитывая вложенность папок переход на уровень вверх, т.е в родительскую папку используем cd .. , где двоеточие обозначает родительский каталог. А также переход в любую папку, например, cd /sys/bus .
Следующий момент, если мы зайдем в папку с устройствами, то мы можем увидеть, как ОС наша видит устройства.
Неудобно. Чтобы удобно было работать с устройствами, используется udev. Он позволяет ОС предоставлять устройства в удобно используемом виде, чтобы было понятно нам.
Далее папка /proc — Она находится в корне нашей ОС и содержит информацию о всех запущенных процессах. Она создается в оперативной памяти при загрузке ПК. Количество фалов зависит от конфигурации данной системы. Для работы с файлами необходимы права суперпользователя.
Внесённые изменения сохраняются только до конца сеанса.
В данную папку монтируется виртуальная система procfs. В ней находится информация о состоянии ядра и вообще операционной системе в целом. Вот так выглядит данная папка.
Мы можем посмотреть всю информацию, которая нам известна о процессоре. Данная информация содержится в файле cpuinfo. Для вывода информации, содержащейся в файле, используем команду cat имя_файла . Результат работы команды cat cpuinfo .
Есть еще интересный файл mounts. Он показывает все смонтированные файловые системы. Результат вывода будет примерно такой.
Можно увидеть, когда мы просматриваем содержимое каталога командой ls , то файлы подсвечиваются белым цветом, а каталоги синим.
Переходим немного глубже по дереву каталогов файловой системы cd /prox/sys в данной папке все о настройках и процессах, происходящих с нашей текущей файловой системой. В данной директории есть несколько подпапок.
И зайдем в подпапку, относящуюся к файловой системе fs.
Посмотрим, например file-max в данном файле информация о том сколько файлов одновременно может открыть пользователь.
В последней версии число таких фалов увеличилось. До версии 20.04, число файлов было по умолчанию 204394. Можно изменить число или данные, например, с помощью команды echo 10000000000> file-max
Все изменения, которые мы делаем в данной директории они сохраняются только до перезагрузки! Это надо учитывать.
Еще одна основная папка в корневой директории папка /dev она в себе содержит интерфейсы работы с драйверами ядра.
- /dev/sd буква — жесткий диск (в системах на ядре Linux)
- /dev/sd буква номер раздел диска
- /dev/sr номер (/dev/scd номер) CD-ROM
- /dev/eth номер Сетевой интерфейс Ethernet
- /dev/wlan номер Сетевой интерфейс Wireless
- /dev/lp номер Принтер
- /dev/video номер — устройство изображений, камеры, фотоаппараты.
- /dev/bus/usb/001/номер устройство номер на шине USB
- /dev/dsp звуковой вывод
Набор оборудования
Команды вывода перечня устройств.
- Lsmod информация о модуле ядра
- Lspci — информация об устройствах PCI
- Lspcmcia — информация об устройствах PCMCIA
- Lsusb — информация о шине USB
- Lshw детальная информация о комплектующих.
Команда lsmod утилита которая показывает нам модули ядра. Модуль ядра — это объект, который содержит код позволяющий расширить функционал ядра. Вот так выглядит ее вывод.
По сути, если проводить аналогию с ОС Windows это драйвера. Вывод команды 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 показывает какие устройства у нас смонтированы.
Нужно отметить, что у каждого устройства есть уникальный UUID, что udev умеет читать UUID, и он монтирует в понятном виде нам.