Ubuntu: Полная диагностика вашего ПК за 5 минут
Вы когда-нибудь задумывались, что на самом деле скрывается внутри вашего компьютера с Ubuntu? Получить полное досье на свою систему проще, чем кажется.
Новый ноутбук, внезапные проблемы с Wi-Fi, необходимость установить драйвер для видеокарты или просто здоровое любопытство — знание своего «железа» и софта открывает новые возможности.
Эта статья — ваш универсальный ключ к диагностике. Мы собрали 39 мощных команд для терминала, которые расскажут о вашем ПК всё: от модели процессора и состояния батареи до списка всех запущенных служб и открытых сетевых портов.
Хотите узнать точное имя вашего сетевого адаптера? Проверить, все ли ядра процессора работают? Найти серийный номер ноутбука? Увидеть, что нагружает оперативную память? Здесь есть ответы.
Перестаньте гадать. Начните управлять своей системой осознанно. Готовы заглянуть под капот вашего Ubuntu? Поехали!
Собрать всю доступную информацию о системе и железе Ubuntu может понадобиться если у вас появился новый компьютер или ноутбук, и вам интересно, какое там точно оборудование. Также это может понадобиться если нужно заменить какой-либо компонент, например, жесткий диск. Ну или даже просто так. Ещё информация о железе Ubuntu может понадобиться если вы собираетесь настраивать Wifi, Bluetooth, веб-камеру или устанавливать драйвера для видеокарты.
В этой статье я перечислю команды, с помощью которых может быть получена информация об операционной системе Ubuntu. Все команды были проверены в Ubuntu 20.04, но они должны работать в любом современном дистрибутиве, таком как Debian, Fedora, OpenSUSE и т д.
Содержание статьи
-
Информации о системе Linux
- 1. Имя хоста
- 2. Серийный номер и производитель
- 3. Производитель и модель материнской платы
- 4. Информация о процессоре
- 5. Статистика использования процессора
- 6. Использование памяти
- 7. Информация о подкачке
- 8. Версия дистрибутива
- 9. Версия ядра
- 10. Параметры запуска ядра
- 11. Архитектура системы
- 12. Информация о жестких дисках
- 13. Блочные устройства
- 14. Свободное пространство на диске
- 15. Примонтированные диски
- 16. SCSI устройства
- 17. Статистика ввода-вывода
- 18. Информация о PCI устройствах
- 19. Информация о USB
- 20. Информация о беспроводных сетевых адаптерах
- 21. Информация об видеокарте
- 22. Информация об видеокарте NVIDIA
- 23. Информация об аудио устройствах
- 24. Состояние батареи
- 25. Время работы системы
- 26. История выключений и перезагрузок
- 27. Текущий уровень запуска
- 28. Просмотр лога ядра
- 29. Загруженные модули ядра
- 30. Информация о сети
- 31. Информация о DNS серверах
- 32. Информация о соктетах и портах
- 33. Информация о сервисах
- 34. Информация о пользователях
- 35. Информация о группах
- 36. Информация о паролях
- 37. Информация о процессах
- 38. Установленные пакеты
- 39. Информация о брандмаузере
- Выводы
Информации о системе 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
Для персональных компьютеров эта информация будет не заполнена. Всю доступную информацию смотрите командой:
sudo dmidecode
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 имя_файла
Какому пакету принадлежит файл:
dpkg -S /путь/к/файлу
39. Информация о брандмаузере
Чтобы посмотреть все правила в брандмауэре iptables выполните:
sudo iptables -L -n -v
Если вы используете брандмауэр ufw, то можно посмотреть настроенные правила в нём:
sudo ufw status numbered
Выводы
На этом сайте уже есть статьи подробно расписывающие многие из приведенных здесь команд. Информацию о тех командах, которые не описаны, вы можете получить, выполнив в терминале команду man. Если я упустил какие-либо важные команды и параметры, напишите в комментариях!