Собрать всю доступную информацию о системе и железе Ubuntu может понадобиться если у вас появился новый компьютер или ноутбук, и вам интересно, какое там точно оборудование. Также это может понадобиться если нужно заменить какой-либо компонент, например, жесткий диск. Ну или даже просто так. Ещё информация о железе Ubuntu может понадобиться если вы собираетесь настраивать Wifi, Bluetooth, веб-камеру или устанавливать драйвера для видеокарты.
В этой статье я перечислю команды, с помощью которых может быть получена информация об операционной системе Ubuntu. Все команды были проверены в Ubuntu 20.04, но они должны работать в любом современном дистрибутиве, таком как Debian, Fedora, OpenSUSE и т д.
- Имя хоста
- Серийный номер и производитель
- Производитель и модель материнской платы
- Информация о процессоре
- Статистика использования процессора
- Использование памяти
- Информация о подкачке
- Версия дистрибутива
- Версия ядра
- Параметры запуска ядра
- Архитектура системы
- Информация о жестких дисках
- Блочные устройства
- Свободное пространство на диске
- Примонтированные диски
- SCSI устройства
- Статистика ввода-вывода
- Информация о PCI устройствах
- Информация о USB
- Информация о беспроводных сетевых адаптерах
- Информация о видеокарте
- Информация о видеокарте NVIDIA
- Информация об аудио устройствах
- Состояние батареи
- Время работы системы
- История выключений и перезагрузок
- Текущий уровень запуска
- Просмотр лога ядра
- Загруженные модули ядра
- Информация о сети
- Информация о DNS серверах
- Информация о сокетах и портах
- Информация о сервисах
- Информация о пользователях
- Инфомация о группах
- Информация о паролях
- Информация о процессах
- Установленные пакеты
- Информация о брандмауэре
- ВЫВОДЫ
Имя хоста
Самый простой способ узнать имя хоста своей машины, это команда hostname:
$ hostname
Или можно просто посмотреть содержимое файла /etc/hostname:
$ cat /etc/hostname
Более подробную информацию можно узнать с помощью команды hostnamectl из systemd:
$ hostnamectl
Серийный номер и производитель
Если у вас ноутбук, то может быть получена такая информация, как производитель, серийный номер, и другая информация о железе Ubuntu, закодированная в dmi:
$ sudo dmidecode -s system-serial-number
$ sudo dmidecode -s system-manufacturer
$ sudo dmidecode -s system-product-name
Для персональных компьютеров эта информация будет не заполнена. Всю доступную информацию смотрите командой:
# sudo dmidecode
Производитель и модель материнской платы
Узнать модель материнской платы можно множеством способов, но самый простой — использовать ту же утилиту dmidecode:
$ sudo dmidecode -t 2
Информация о процессоре
Самый простой способ посмотреть информацию о процессоре, это открыть файл /proc/cpuinfo. Там выводится название модели, семейство, архитектура, его текущая частота, количество ядер, потоков, доступные расширения и другие параметры:
$ cat /proc/cpuinfo
Или:
$ lscpu
Статистика использования процессора
Посмотреть загруженность процессора можно с помощью утилиты mpstat. Для её установки выполните:
$ sudo apt install mpstat
А затем для запуска:
$ sudo mpstat
Здесь информация выводится в процентах. Но более приятно наблюдать за загрузкой процессора в реальном времени с помощью htop:
$ htop
Узнать какой была загрузка системы за последнее время можно открыв файл /proc/loadavg. Здесь доступны три значения загрузки — за одну, пять и пятнадцать минут:
$ cat /proc/loadavg
Использование памяти
Посмотреть статистику использования памяти в системе можно открыв файл /proc/meminfo:
$ cat /proc/meminfo
Если не нужна такая подробная информация, можно получить информацию о памяти в linux командой free. Для отображения данных в удобном формате используйте опцию -h:
$ free -h
Аналогично, утилита htop тоже показывает сколько оперативной памяти доступно, а сколько занято в более удобном виде.
Информация о подкачке
Посмотреть подключен ли swap раздел и какого он размера можно командами:
$ swapon -s
Команда free тоже выводит информацию о swap, в том числе сколько памяти из этого раздела использовано, а сколько свободно:
Ещё можно посмотреть содержимое файла /proc/swaps или выполнить команду vmstat.
Версия дистрибутива
Команда покажет версию и название дистрибутива, а также некоторую дополнительную информацию, это важная информация об операционной системе linux:
$ lsb_release -a
Версия ядра
Ядро — это самый важный компонент системы. Информация о системе Ubuntu, а именно версии ядра доступна с помощью команды uname. Для вывода только версии выполните:
$ uname -r
А для вывода всей доступной информации:
$ uname -a
Параметры запуска ядра
Чтобы узнать с какими параметрами было запущено ядро достаточно посмотреть содержимое файла /proc/cmdline. Там находится имя файла образа ядра, а затем его параметры запуска:
$ cat /proc/cmdline
Архитектура системы
Для просмотра архитектуры, для которой была скомпилирована ваша система используйте команду:
$ arch
Кроме того, можно использовать такие команды:
$ uname -m
$ getconf LONG_BIT
Информация о жестких дисках
Смотрим подключенные жесткие диски и разделы на них:
$ fdisk -l | grep '^/dev'
Смотрим разделы на определенном диске:
$ fdisk -l /dev/sda
Узнаем метку диска:
$ sudo e2label /dev/sda1
Посмотреть список подключённых жестких дисков вместе с UUID можно с помощью команды:
$ blkid
Блочные устройства
Список всех подключённых или созданных в системе блочных устройств можно вывести командой:
$ lsblk
Свободное пространство на диске
Информация о системе Ubuntu включает информацию о дисках. Отобразить использованное пространство всех дисков можно командой:
$ df -h
Опция -h используется чтобы программа выводила данные в удобном для чтения формате. Отобразить размер файлов в домашней папке:
$ du -h /home
Примонтированные диски
Посмотреть все примонтированные файловые системы можно выполнив:
$ mount | grep /dev/
SCSI устройства
Отобразить параметры SCSI устройств подключенных к системе:
$ lsscsi
Возможно, утилиту надо будет установить командой:
$ sudo apt install lsscsi
Статистика ввода-вывода
Самая простая команда, позволяющая узнать статистику ввода/вывода — iostat:
$ sudo iostat
Утилита отображает среднюю нагрузку на процессор, а также ввод и вывод на диски. При запуске можно указать интервал обновления:
$ sudo iostat 2
Куда удобнее смотреть статистику ввода-вывода с помощью утилиты iotop. Но её сначала надо установить:
$ sudo apt install iotop
Информация о PCI устройствах
PCI устройства — это все устройства, подключенные к материнской плате компьютера по шине PCIe, это видеокарта, сетевая карта, беспроводный адаптер, и так далее. По сути, посмотреть железо Ubuntu можно просмотрев PCI устройства. Для этого выполните:
$ lspci
Чтобы вывести устройства в виде дерева выполните:
$ lspci -vt
Можно искать определённое устройство, например, видеокарту:
$ lspci | grep -i 'VGA'
Максимально подробная информация:
$ lspci -vvvn
Информация о USB
Кроме PCI устройств есть еще внешние USB, это принтеры, Bluetooth адаптер, мышка, клавиатура. Это тоже важная информация о компьютере Ubuntu.
$ lsusb
Или более подробная информация:
$ lsusb -vt
Информация о беспроводных сетевых адаптерах
Модель и производителя сетевого адаптера можно посмотреть через lscpi, но более подробную информацию о настройках и поддерживаемых функциях там не узнать, для этого есть свои команды. Просмотр беспроводного сетевого интерфейса и его конфигурации:
$ iwconfig
Более подробные параметры сетевого интерфейса можно посмотреть командой:
$ iw list
Если вы уже подключены к сети, то с помощью программы wavemon можно посмотреть качество соединения, мощность передатчика, а также другие параметры подключения. Но сначала её надо установить:
$ sudo apt install wavemon
А затем:
$ wavemon
Информация о видеокарте
Чтобы узнать какая видеокарта у вас используется выполните:
$ lspci | grep -i vga
Более подробно:
$ lspci -vvnn | grep VGA
Или:
$ sudo lshw -class display
Чтобы посмотреть доступные расширения экрана выполните команду xrandr без параметров:
$ xrandr
Посмотреть параметры видеодрайвера можно командой glxinfo. Но прежде её надо установить:
$ sudo apt install mesa-utils
$ glxinfo
Информация о видеокарте NVIDIA
Если установлены проприетарные драйвера, информацию о видеокарте можно посмотреть командой:
$ nvidia-smi
Или:
$ nvidia-settings
Здесь будет представлена более подробная информация о видеокарте, чем в обычном выводе lspci.
Информация об аудио устройствах
Посмотреть информацию про звуковую карту можно в той же lspci, потому что она подключена по этой шине:
$ lspci | grep -i audio
Или:
$ cat /proc/asound/cards
Или:
$ arecord -l
Состояние батареи
На ноутбуке нам может понадобиться посмотреть состояние батареи:
$ upower -i /org/freedesktop/UPower/devices/battery_BAT0
Или:
$ acpi -V
Время работы системы
Команда uptime показывает когда был запущен компьютер:
$ uptime
История выключений и перезагрузок
История перезагрузок:
$ last reboot
История выключений компьютера:
$ last shutdown
Текущий уровень запуска
Всего в Systemd пять уровней запуска:
- runlevel0.target, poweroff.target — выключение;
- runlevel1.target, rescue.target — однопользовательский текстовый режим;
- runlevel2.target, runlevel4.target — не используются;
- runlevel3.target, multi-user.target — многопользовательский текстовый режим;
- runlevel5.target, graphical.target — графический многопользовательский режим;
- runlevel6.target, reboot.target — перезагрузка.
Посмотреть текущий уровень запуска можно командой:
$ runlevel
А уровень запуска по умолчанию:
$ sudo systemctl get-default
Просмотр лога ядра
Очень полезная информация о компьютере Ubuntu, информация об ошибках и проблемах находится в логе ядра:
$ sudo less /var/log/dmesg
Или:
$ sudo dmesg
Загруженные модули ядра
Все загруженные модули вместе с зависимостями:
$ sudo lsmod
Информация о конкретном модуле, например mac80211:
$ sudo modinfo mac80211
Информация о сети
Список сетевых интерфейсов можно узнать в директории /sys/class/net:
$ ls /sys/class/net
Посмотреть локальный IP адрес, MAC адрес и другую информацию о сетевых интерфейсах можно с помощью команды ip:
$ sudo ip addr
Или старый вариант:
$ sudo ifconfig -a
Посмотреть только информацию об интерфейсе enp24s0:
$ sudo ip addr show enp24s0
Посмотреть таблицу маршрутизации:
$ sudo ip route
Посмотреть сетевые мосты:
$ sudo brctl show
Посмотреть внешний IP адрес можно командой:
$ wget -qO- eth0.me
Информация о DNS серверах
Адреса DNS серверов, с которыми работает система находятся в файле /etc/resolv.conf:
$ cat /etc/resolv.conf
Если вы используете systemd, то там системные DNS настраиваются через сервис systemd-resolve, поэтому чтобы посмотреть текущий DNS сервер надо выполнить:
$ systemd-resolve --status
Информация о сокетах и портах
Смотрим открытые сетевые и локальные сокеты:
$ sudo ss
Или только сетевые:
$ sudo ss -tulpn
Смотрим открытые в системе файлы:
$ sudo lsof
Или открытые файлы в определённой папке:
$ sudo lsof | grep /bin/
Информация о сервисах
Смотрим все запущенные сервисы в systemd:
$ systemctl list-units --type service --state running
Проверяем запущен ли сервис, например docker:
$ sudo systemctl status docker
Проверяем загружается ли сервис автоматически, например apache2:
$ sudo systemctl is-enabled apache2
Информация о пользователях
Посмотреть список всех пользователей, зарегистрированных в системе, как системных, так и обычных можно открыв файл /etc/passwd:
$ cat /etc/passwd
Инфомация о группах
Чтобы посмотреть все группы, созданные в системе выполните:
$ cat /etc/group
Для просмотра групп текущего пользователя выполните:
$ groups имя_пользователя
Информация о паролях
Чтобы посмотреть информацию о пароле пользователя выполните команду change. Например:
$ chage -l имя_пользователя
Информация о процессах
Проще всего посмотреть всё запущенные процессы с помощью команды:
$ ps aux
Но более удобно использовать утилиту top или htop. Обе надо установить.
Установленные пакеты
Смотрим список всех установленных пакетов:
$ dpkg -l
Смотрим все необходимые исполняемому файлу библиотеки:
$ ldd имя_файла
Какому пакету принадлежит файл:
$ dpkg -S /путь/к/файлу
Информация о брандмауэре
Чтобы посмотреть все правила в брандмауэре iptables выполните:
$ sudo iptables -L -n -v
Если вы используете брандмауэр ufw, то можно посмотреть настроенные правила в нём:
$ sudo ufw status numbered
ВЫВОДЫ
На этом сайте уже есть статьи подробно расписывающие многие из приведенных здесь команд. Информацию о тех командах, которые не описаны, вы можете получить, выполнив в терминале команду man. Если я упустил какие-либо важные команды и параметры, напишите в комментариях!