Собрать всю доступную информацию о системе и железе Ubuntu может понадобиться если у вас появился новый компьютер или ноутбук, и вам интересно, какое там точно оборудование. Также это может понадобиться если нужно заменить какой-либо компонент, например, жесткий диск. Ну или даже просто так. Ещё информация о железе Ubuntu может понадобиться если вы собираетесь настраивать Wifi, Bluetooth, веб-камеру или устанавливать драйвера для видеокарты.
В этой статье я перечислю команды, с помощью которых может быть получена информация об операционной системе Ubuntu. Все команды были проверены в Ubuntu 20.04, но они должны работать в любом современном дистрибутиве, таком как Debian, Fedora, OpenSUSE и т д.
Содержание статьи
Информации о системе Linux
1. Имя хоста
Самый простой способ узнать имя хоста своей машины, это команда hostname:
hostname
Или можно просто посмотреть содержимое файла /etc/hostname:
cat /etc/hostname
Более подробную информацию можно узнать с помощью команды hostnamectl из systemd:
hostnamectl
Подробнее про имя хоста здесь.
2. Серийный номер и производитель
Если у вас ноутбук, то может быть получена такая информация, как производитель, серийный номер, и другая информация о железе Ubuntu, закодированная в dmi:
sudo dmidecode -s system-serial-number
sudo dmidecode -s system-manufacturer
sudo dmidecode -s system-product-name
Для персональных компьютеров эта информация будет не заполнена. Всю доступную информацию смотрите командой:
3. Производитель и модель материнской платы
Узнать модель материнской платы можно множеством способов, но самый простой - использовать ту же утилиту dmidecode:
sudo dmidecode -t 2
4. Информация о процессоре
Самый простой способ посмотреть информацию о процессоре, это открыть файл /proc/cpuinfo. Там выводится название модели, семейство, архитектура, его текущая частота, количество ядер, потоков, доступные расширения и другие параметры:
cat /proc/cpuinfo
Или:
lscpu
5. Статистика использования процессора
Посмотреть загруженность процессора можно с помощью утилиты mpstat. Для её установки выполните:
sudo apt install mpstat
А затем для запуска:
sudo mpstat
Здесь информация выводится в процентах. Но более приятно наблюдать за загрузкой процессора в реальном времени с помощью htop:
Узнать какой была загрузка системы за последнее время можно открыв файл /proc/loadavg. Здесь доступны три значения загрузки - за одну, пять и пятнадцать минут:
cat /proc/loadavg
6. Использование памяти
Посмотреть статистику использования памяти в системе можно открыв файл /proc/meminfo:
cat /proc/meminfo
Если не нужна такая подробная информация, можно получить информацию о памяти в linux командой free. Для отображения данных в удобном формате используйте опцию -h:
free -h
Аналогично, утилита htop тоже показывает сколько оперативной памяти доступно, а сколько занято в более удобном виде.
7. Информация о подкачке
Посмотреть подключен ли swap раздел и какого он размера можно командами:
swapon -s
Команда free тоже выводит информацию о swap, в том числе сколько памяти из этого раздела использовано, а сколько свободно:
Ещё можно посмотреть содержимое файла /proc/swaps или выполнить команду vmstat.
8. Версия дистрибутива
Команда покажет версию и название дистрибутива, а также некоторую дополнительную информацию, это важная информация об операционной системе linux:
lsb_release -a
9. Версия ядра
Ядро - это самый важный компонент системы. Информация о системе Ubuntu, а именно версии ядра доступна с помощью команды uname. Для вывода только версии выполните:
uname -r
А для вывода всей доступной информации:
uname -a
10. Параметры запуска ядра
Чтобы узнать с какими параметрами было запущено ядро достаточно посмотреть содержимое файла /proc/cmdline. Там находится имя файла образа ядра, а затем его параметры запуска:
cat /proc/cmdline
11. Архитектура системы
Для просмотра архитектуры, для которой была скомпилирована ваша система используйте команду:
arch
Кроме того, можно использовать такие команды:
uname -m
getconf LONG_BIT
12. Информация о жестких дисках
Смотрим подключенные жесткие диски и разделы на них:
fdisk -l | grep '^/dev'
Смотрим разделы на определенном диске:
fdisk -l /dev/sda
Узнаем метку диска:
sudo e2label /dev/sda1
Посмотреть список подключённых жестких дисков вместе с UUID можно с помощью команды:
blkid
13. Блочные устройства
Список всех подключённых или созданных в системе блочных устройств можно вывести командой:
lsblk
14. Свободное пространство на диске
Информация о системе Ubuntu включает информацию о дисках. Отобразить использованное пространство всех дисков можно командой:
df -h
Опция -h используется чтобы программа выводила данные в удобном для чтения формате. Отобразить размер файлов в домашней папке:
du -h /home
15. Примонтированные диски
Посмотреть все примонитрованные файловые системы можно выполнив:
mount | grep /dev/
16. SCSI устройства
Отобразить параметры SCSI устройств подключенных к системе:
lsscsi
Возможно, утилиту надо будет установить командой:
sudo apt install lsscsi
17. Статистика ввода-вывода
Самая простая команда, позволяющая узнать статистику ввода/вывода - iostat:
sudo iostat
Утилита отображает среднюю нагрузку на процессор, а также ввод и вывод на диски. При запуске можно указать интервал обновления:
sudo iostat 2
Куда удобнее смотреть статистику ввода-вывода с помощью утилиты iotop. Но её сначала надо установить:
sudo apt install iotop
18. Информация о PCI устройствах
PCI устройства - это все устройства, подключенные к материнской плате компьютера по шине PCIe, это видеокарта, сетевая карта, беспроводный адаптер, и так далее. По сути, посмотреть железо Ubuntu можно просмотрев PCI устройства. Для этого выполните:
lspci
Чтобы вывести устройства в виде дерева выполните:
lspci -vt
Можно искать определённое устройство, например, видеокарту:
lspci | grep -i 'VGA'
Максимально подробная информация:
lspci -vvvn
19. Информация о USB
Кроме PCI устройств есть еще внешние USB, это принтеры, Bluetooth адаптер, мышка, клавиатура. Это тоже важная информация о компьютере Ubuntu.
lsusb
Или более подробная информация:
lsusb -vt
20. Информация о беспроводных сетевых адаптерах
Модель и производителя сетевого адаптера можно посмотреть через lscpi, но более подробную информацию о настройках и поддерживаемых функциях там не узнать, для этого есть свои команды. Просмотр беспроводного сетевого интерфейса и его конфигурации:
iwconfig
Более подробные параметры сетевого интерфейса можно посмотреть командой:
iw list
Если вы уже подключены к сети, то с помощью программы wavemon можно посмотреть качество соединения, мощность передатчика, а также другие параметры подключения. Но сначала её надо установить:
sudo apt install wavemon
А затем:
wavemon
21. Информация об видеокарте
Чтобы узнать какая видеокарта у вас используется выполните:
lspci | grep -i vga
Более подробно:
lspci -vvnn | grep VGA
Или:
sudo lshw -class display
Чтобы посмотреть доступные расширения экрана выполните команду xrandr без параметров:
xrandr
Посмотреть параметры видеодрайвера можно командой glxinfo. Но прежде её надо установить:
sudo apt install mesa-utils
glxinfo
22. Информация об видеокарте NVIDIA
Если установлены проприетарные драйвера, информацию о видеокарте можно посмотреть командой:
nvidia-smi
Или:
nvidia-settings
Здесь будет представлена более подробная информация о видеокарте, чем в обычном выводе lspci.
23. Информация об аудио устройствах
Посмотреть информацию про звуковую карту можно в той же lspci, потому что она подключена по этой шине:
lspci | grep -i audio
Или:
cat /proc/asound/cards
Или:
arecord -l
24. Состояние батареи
На ноутбуке нам может понадобиться посмотреть состояние батареи:
upower -i /org/freedesktop/UPower/devices/battery_BAT0
Или:
acpi -V
25. Время работы системы
Команда uptime показывает когда был запущен компьютер:
uptime
26. История выключений и перезагрузок
История перезагрузок:
last reboot
История выключений компьютера:
last shutdown
27. Текущий уровень запуска
Всего в 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
28. Просмотр лога ядра
Очень полезная информация о компьютере Ubuntu, информация об ошибках и проблемах находится в логе ядра:
sudo less /var/log/dmesg
Или:
sudo dmesg
29. Загруженные модули ядра
Все загруженные модули вместе с зависимостями:
sudo lsmod
Информация о конкретном модуле, например mac80211:
sudo modinfo mac80211
30. Информация о сети
Список сетевых интерфейсов можно узнать в директории /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
31. Информация о DNS серверах
Адреса DNS серверов, с которыми работает система находятся в файле /etc/resolv.conf:
cat /etc/resolv.conf
Если вы используете systemd, то там системные DNS настраиваются через сервис systemd-resolve, поэтому чтобы посмотреть текущий DNS сервер надо выполнить:
systemd-resolve --status
32. Информация о соктетах и портах
Смотрим открытые сетевые и локальные сокеты:
sudo ss
Все прослушиваемые порты:
sudo ss -l
Или только сетевые:
sudo ss -tulpn
Смотрим открытые в системе файлы:
sudo lsof
Или открытые файлы в определённой папке:
sudo lsof | grep /bin/
33. Информация о сервисах
Смотрим все запущенные сервисы в systemd:
systemctl list-units --type service --state running
Проверяем запущен ли сервис, например docker:
sudo systemctl status docker
Проверяем загружается ли сервис автоматически, например apache2:
sudo systemctl is-enabled apache2
34. Информация о пользователях
Посмотреть список всех пользователей, зарегистрированных в системе, как системных, так и обычных можно открыв файл /etc/passwd:
cat /etc/passwd
35. Информация о группах
Чтобы посмотреть все группы, созданные в системе выполните:
cat /etc/group
Для просмотра групп текущего пользователя выполните:
groups имя_пользователя
36. Информация о паролях
Чтобы посмотреть информацию о пароле пользователя выполните команду change. Например:
chage -l имя_пользователя
37. Информация о процессах
Проще всего посмотреть всё запущенные процессы с помощью команды:
ps aux
Но более удобно использовать утилиту top или htop. Обе надо установить.
38. Установленные пакеты
Смотрим список всех установленных пакетов:
dpkg -l
Смотрим все необходимые исполняемому файлу библиотеки:
ldd имя_файла
Какому пакету принадлежит файл:
39. Информация о брандмаузере
Чтобы посмотреть все правила в брандмауэре iptables выполните:
sudo iptables -L -n -v
Если вы используете брандмауэр ufw, то можно посмотреть настроенные правила в нём:
sudo ufw status numbered
Выводы
На этом сайте уже есть статьи подробно расписывающие многие из приведенных здесь команд. Информацию о тех командах, которые не описаны, вы можете получить, выполнив в терминале команду man. Если я упустил какие-либо важные команды и параметры, напишите в комментариях!
Спасибо за статью. Как раз вовремя. В начале недели мне нужно будет работать с сервером на Ubuntu. Применю в практике.
Спасибо, кину другу, а то у него проблемы с поиском =)
...
чтобы вывести подробную информацию о своем компе, в "терминале" можно набрать команду
sudo lshw -html >myinfo.html
[Enter и наш пароль]
После этого, открыв в браузере файл myinfo.html мы увидим почти полный отчет о своем железе 🙂
Правильно так: "может понадобитЬся", "это понадобится для". Вы как-нибудь разберитесь с неопределённой формой глагола. Это у Вас самая частая ошибка. Не всегда правильно употребляете "не", не знаете где слитно, а где - раздельно. Мелочь, конечно, но производит тяжёлое впечатление.
из мелочей, обычно, все и состоит...
а как вам "брандмаузер"? Это что-то...
sysinfo просто установите, господи. Пианисты хреновы.
спасибо!
добавлю от себя к п.2 "Серийный номер" :
$ sudo dmidecode -t system | grep Serial
сам пользуюсь частенько такой командой (по работе бывает нужно)
Как раз искал что-то подобное
Интересно, почему многие, пишущие на эту тему, упорно игнорируют программу (скрипт) inxi, которая идет во многих Ubuntu-based дистрах из коробки. А ведь inxi позволяет получить сразу массу информации о системе, как суммарно, так и по отдельным разделам (железо, сеть, диски, графическая и аудио подсистемы и т.д.), имеет много настроек и опций вплоть до аудита на тему "Чего не хватает в вашей ОС". Вот и здесь inxi даже не упомянута. Странно.
Стоит так же рассказать о hw-probe. Отображает набор оборудования на борту.
$ sudo snap install hw-probe
$ sudo -E hw-probe -all -upload