Диагностика оборудования и системы
Задачи
На странице собраны команды терминала, которые позволяют получить различную информацию о системных компонентах и оборудовании, для использования при их настройке или решения аппаратных проблем.
Цель статьи дать более полный список команд для быстрого получения информации в "Одном окне" без прочтения руководств man.
конечному пользователю
Дистрибутив и система
Команда | Описание |
---|---|
lsb_release -a | Вывод названия и версии используемого дистрибутива |
uname -m | Посмотреть разрядность операционной системы - x86_64 или x86 |
arch | Посмотреть разрядность операционной системы - x86_64,AMD64 (64-bit) или x86,i686 (32-bit) |
dmidecode | grep -A 9 "System Information" | Информация о модели ПК или ноутбука |
dmidecode | less | Полный вывод о компонентах ПК |
inxi -F | Информация о модели ПК или ноутбука в утилите inxi |
inxi -S | grep Desktop | Листинг. Выводит версию DE и Версию дистрибутива |
distro_info -e | Проверка имени и версии дистрибутива аналог lsb_release -a. Используется в проектах Etersoft EPM и rpm-build-altlinux-compat |
cat /etc/*release* | Аналогично предыдущей команде, плюс информация о базовом дистрибутиве |
uname -a | Вывод информации о системе, дистрибутиве и архитектуре (32/64 бита) |
ls /EFI/Microsoft/Boot | Отобразить загрузочную запись windows, наличие файлов bootmgfw.efi или bootmgr.efi говорит о ее установке |
calendar | grep Ubuntu | Информация о дистрибутиве. Пакет собран в Autoimports BaseAlt, доступен для сборки в сизиф. |
efibootmgr | Отобразить доступные загрузочные записи в UEFI BIOS. Для редактирования читать man efibootmgr |
efibootmgr -Bb xxxx | Осторожно! Удаление пункта из EFI. Иксы это номер загрузчика из вывода efibootmgr (boot0003 то номер будет 0003) |
Узнать дату установки дистрибутива | |
ls -lct /etc | tail -1 | awk '{print $6,$7,$8}' | Показать дату установки дистрибутива (может не работать!) |
LC_TIME="en_DK" rpm -qia |grep "Install Date"|awk '{print $3}'|uniq |sort -r|tail -n 1 | Показать дату установки дистрибутива |
rpm -qa --last | tail -n 1 | awk '{ for (i=2; i<=NF; i++) printf $i " "; printf "\n" }' | Для систем на RPM, дату можно посмотреть по времени установки первого пакета |
tune2fs -l <файл_устройства_диска> | grep created | Узнать когда была первая запись на диск /dev/sdxX для ФС на ext3/4 |
Поиск других файловых и операционных систем | |
cat /etc/fstab | Проверка листа загрузки жестких дисков по UUID |
cat /etc/mtab | Просмотр смонтированных файловых систем. Команда mount подключает файловую систему и дописывает строку в /etc/mtab. Когда umount отключает файловую систему строка удаляется |
blkid | Вывод UUID для жестких дисков |
fdisk -lu | Информация о дисках и разделах |
ls -l /dev/disk/by-uuid | Информация о правах доступа к разделам |
lsblk -o NAME,FSTYPE,SIZE,UUID,MOUNTPOINT | Вывод в виде дерева о дисках и разделах, точках монтирования |
Ядро
Команда | Описание |
---|---|
uname -r | Отобразить текущее ядро |
ls -lh /boot/{vmlin*,init*} | Отобразить имеющиеся ядра в /boot |
ls /boot | grep vmlinuz | Отобразить имеющиеся ядра в /boot |
ls -lh /boot | grep vmlinuz | Отобразить имеющиеся ядра в /boot через grep |
du -hs /lib/modules | Размер каталога с модулями ядер |
ls /lib/modules ll /lib/modules/ |
Модули ядра ОС хранятся в директории /lib/modules/<версия-ядра-ос> |
lsmod | head -5 | Ознакомиться со списком загруженных в текущий момент модулей ядра ОС |
cat /proc/modules | grep vm | Загруженные модули ядра |
lsmod | grep vm | lsmod всего лишь читает содержимое файла /proc/modules и выводит его с соответствующим форматированием |
grep -A16 "syslogd 1.4.1:" /var/log/messages|cut -b24- | Извлечь информацию о процессе загрузки ядра, включая информацию обо всех устройствах, которые были идентифицированы в процессе загрузки системы |
grep sda /var/log/messages | cut -b24- | В данном примере показан фрагмент файла /var/log/messages, информация о дисковом устройстве, представленном файлом устройства /dev/sda. |
dmesg | head | Утилита dmesg выводит все сообщения ядра ОС (с момента последней загрузки системы) |
sysctl -a | Отобразить параметры ядра Linux |
sysctl -a | more | Отобразить параметры ядра Linux |
sysctl -a | grep 'something' | Отобразить параметры ядра Linux |
cat /proc/cmdline | Параметры, которые были переданы ядру ОС в процессе загрузки системы |
dmesg | grep "Command line" | Выведет параметры загрузки ядра |
sysctl -a | more | |
sysctl -a | less | |
sysctl -a | grep 'foo' | |
sysctl -a | grep net.ipv4.ip_forward | |
man 7 bootparam | Параметры загрузки, передаваемые ядру |
man 7 kernel-command-line | Параметры загрузки, передаваемые ядру |
modprobe -c | Выведет список всех модулей ядра. |
modprobe -c | grep tvtuner | Список огромный, памяти консоли может не хватить. Можно поискать по ключевому слову, к примеру так. Слово tvtuner в разных вариациях можно менять для лучшего результата. |
Оконный менеджер, Менеджер входа в систему, Текущий сеанс
Команда | Описание |
---|---|
pstree | Просмотр дерева процессов. Из команды можно узнать Менеджер входа - их список: gdm,lightDM,xdm,sddm,lxdm, либо отсеять с помощью grep, например: pstree | grep gdm |
wmctrl -m | Узнать какой используется оконный менеджер |
wmctrl -d | Узнать список всех рабочих столов, управляемых текущим оконным менеджером |
wmctrl -l | Узнать список окон, управляемых текущим оконным менеджером |
echo $XDG_CURRENT_DESKTOP | Показать текущее окружение рабочего стола (DE) |
echo $GDMSESSION | Показать, какая выбрана сессия (текущая) в Менеджере входа |
printf 'Desktop: %s\nSession: %s\n' "$XDG_CURRENT_DESKTOP" "$GDMSESSION" | Вывод двух предыдущих команд одной строкой |
Текущий сеанс | |
last | Просмотреть историю всех успешных входов в систему |
last <username> | Просмотреть историю входа определенного пользователя <username> |
last -i | Отображать IP-адреса в истории входа вместо имени хоста |
last -n число | Отображать количество строк списка пользователей, зарегистрировавшихся в системе последними |
last -f /var/log/btmp | Просмотр всех неудачных попыток входа на ваш сервер Linux или через lastb |
lastb | Просмотр записи обо всех неудавшихся попытках регистрации пользователей в системе из /var/log/btmp |
loginctl show-session $XDG_SESSION_ID | Проверить статус вашей сессии |
env | Вывод переменных окружения. Из нее узнаем окружение рабочего стола, пользователя, язык в системе и много другой информации |
Ноутбук. Уровень заряда батареи. Проверка камеры
Команда | Описание |
---|---|
upower -i /org/freedesktop/UPower/devices/battery_BAT0 | Отобразить состояние батареи с помощью Upower |
upower -i `upower -e | grep 'BAT'` | Отобразить состояние батареи с помощью Upower. Дополнительная команда. |
upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage" | Отобразить только состояние батареи с помощью комбинации upower и grep |
acpi | Показывает состояние батареи и другую информацию ACPI (только состояние заряда батареи) |
acpi -V | Показать все устройства питания |
acpi -t | Проверка температуры батареи, просмотреть вывод в градусах Фаренгейта можно, используя флаг -f: acpi -t -f |
acpi -a | Показать подключен ли источник переменного тока или нет. |
lsusb | Вывести список оборудования подключеyных по USB |
ffplay /dev/video0 | Отображать видео захват с веб-камеры через ffplay |
mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -fps 15 -vf screenshot | Отображать видео захват с веб-камеры |
' | |
' | |
' |
Пользователь системы
Команда | Описание |
---|---|
w или who | Сообщает, какие пользователи работают в данный момент в системе |
whoami | Сообщает имя, с которым вы вошли в систему в данном сеансе работы |
cat /etc/passwd | Вывести информацию о пользователях и группах и правах на доступ к ним |
cat /etc/passwd | awk /bash/{print} | Вывести информацию о рут и пользователе |
sed 's/:.*//' /etc/passwd | Упрощенный вывод двух верхних команд. |
getent group groupname | Информация о группах, где состоит пользователь |
id | Посмотреть список групп пользователя Linux |
id -G | Вывести только список групп текущего пользователя |
id -Gn | Вывести идентификаторы групп, если вы хотите получить их имена |
id -Gn имя_пользователя | Вывести список групп для определённого пользователя |
groups | Вывести список групп, где состоит пользователь |
groups имя_пользователя | Вывести только список групп пользователя Linux |
groups | wc -w | Посчитать количество групп, в которых состоит пользователь Linux |
loginctl show-session $XDG_SESSION_ID | Вывести статус вашей сессии |
Процессы
Каждый процесс в Linux имеет свой идентификатор, называемый PID. Перед тем, как выполнить остановку процесса, нужно определить его PID.
Команда | Описание |
---|---|
ps axu | Утилита отчета о состоянии процесса ps. Команда выведет список всех процессов. |
ps aux | grep имя_процесса | Узнать PID конкретного процесса через поиск через grep |
ps aux | grep имя_процесса | grep -v grep | Вывести процесс исключая из поиска grep |
pgrep имя_процесса | Утилита вывода только информации PID |
pgrep -f имя_процесса | Если нужно искать только по имени процесса, то надо указать опцию -f |
pidof имя_процесса | Утилита ищет PID конкретного процесса по его имени. Имя процесса должно только совпадать с искомым |
pidof -s имя_процесса | С помощью опции -s можно попросить утилиту выводить только один PID |
pstree | Утилита позволяет посмотреть список дочерних процессов для определённого процесса, также их PID |
pstree -p | grep имя_процесса | Cмотрtим дерево процессов для конкретного процесса. Например, мы хотим удалить какой-либо файл, а система нам сообщает, что он используется другим процессом. |
kill номер_процесса | Убьет процесс с номером PID |
kill -9 номер_процесса | Посылает сигнал убить процесс по SIGKILL (он имеет номер 9) процессу PID |
killall имя_процесса | Убьет все процессы с заданным именем (по имени процесса) |
killall -s 9 имя_процесса | Убьет все процессы с заданным именем, шлет сигнал SIGTERM |
lsof /home/юзер/файл.aac | С помощью утилиты lsof можно посмотреть, какие процессы используют директорию или файл в данный момент |
fuser /home/юзер/файл.aac | Есть ещё одна утилита, которая позволяет выполнить подобную задачу. После PID идёт одна буква, которая указывает, что делает этот процесс с файлом или папкой: • c - текущая директория; • r - корневая директория; • f - файл открыт для чтения или записи; • e - файл выполняется как программа; • m - файл подключен в качестве библиотеки. |
auditd | Аудит системных событий в Linux |
ss -lptn 'sport = :80' | Иногда необходимо узнать PID Linux-программы, которая использует сетевой порт, например 80. Для этого можно использовать утилиту ss |
Графика
Команда | Описание |
---|---|
glxinfo | Информации о OpenGL и реализации GLX в XWindows |
lspci | grep VGA | Информация о производителе видео карты |
grep 'Graphics' /var/log/Xorg.0.log | tail -n1 | Покажет контроллер видеокарты, чем команда выше |
glxgears | Простой 3D тест, выводит частоту кадров в терминале |
xrandr | Вывод списка поддерживаемых графических разрешений экрана. Утилита для настройки экрана в линукс |
xwininfo -root | grep Depth | Проверить глубину цвета. xwininfo - информационная утилита окна для X |
grep -Eiwo -m1 'nvidia|amd|ati|intel' /var/log/Xorg.0.log | Показать какая видеокарта используется |
Версия видео драйвера | |
geforce.com/drivers | Сайт для роверки совместимости драйвера nvidia для видеокарты |
xdriinfo | Определить используемый сейчас драйвер видеокарты |
xrandr --listproviders | Должно отобразить два адаптера, первый интел, второй amd |
glxinfo | grep OpenGL | Посмотреть информацию по графике intel (NVIDIA). Поиск без учета регистра через - grep -i opengl |
DRI_PRIME=1 glxinfo | grep OpenGL | Посмотреть информацию по amd. Пример запуска приложения на карте amd - DRI_PRIME=1 glxgears |
glxinfo | grep Open | Вывод : поставщик OpenGL - X.Org или другой |
glxinfo | grep version | Узнать версию сервер/клиент, версию драйвера |
glxinfo | grep render | Проверить есть ли direct rendering |
lshw -c display | egrep 'physical|configuration' | Узнать название используемого видеодрайвера + modinfo nvidia детальная информация по драйверу |
Версия видеокарты | |
lspci -vnn | grep -i VGA | Определить видеокарту |
lspci -nn | grep VGA | Определить видеокарту |
lspci | grep VGA | Вывод информации о видеокарте |
lspci -k | grep -A 2 -E "(VGA|3D)" | Вывод информации о видеокарте |
lspci -k | grep -A2 VGA или xrandr | Узнать какой видео драйвер используется |
inxi -GS | Узнать версию видеокарты в утилите Inxi |
Аудио
Команда | Описание |
---|---|
lspci | grep audio | Вывод информации о звуковой карте в системе |
aplay --list-devices или aplay -l | Более подробная информация о звуковой карте |
arecord --list-devices | Проверка звуковых модулей для записи звука |
aplay -c 2 /dev/urandom | Послушать "шум" драйверов, остановить ctrl+C |
lsmod | grep snd | Узнать модули ядра поодерживающие устройства snd |
cat /proc/modules | grep snd | Узнать модули ядра поодерживающие устройства snd |
cat /proc/asound/cards cat /proc/asound/card*/codec* | grep Codec |
Обзор устройств с которых можно получить вывод/ввод звука. номер звукового устройства, и так pactl set-sink-volume 0 100% где 0 замени на свой номер для повышения громкости на 100% |
ps aux | grep pulseaudio | Проверка звуковых модулей. Определение звуковых карт в системе. нужен пакет alsa-utils |
pulseaudio -k | Перезапуск пульсаудио |
arecord -f cd -d 10 test-mic.wav Воспроизвести полученный файл: aplay test-mic.wav |
Проверка работы микрофона. Также смотрите параметры $ alsamixer в терминале и настройки pavucontrol |
alsa-tools | Пакет содержит инструменты ALSA (современной звуковой подсистемы Linux), предназначенные для низкоуровневой работы с некоторыми звуковыми картами |
Диагностика жесткого диска и восстановление данных
WHDD — консольная Ncurses утилита для диагностики жёстких дисков и восстановления данных с них.
WHDD позволяет протестировать жёсткие диски или другое блочное устройство на скорость чтения и записи (определение времени доступа). Утилита имеет псевдографический интерфейс и визуализирует процесс выполнения (подобно DOS-утилите MHDD).
Одним из основных достоинств WHDD является возможность выявления сбойных участков (бэд-секторов) на поверхности жёсткого диска. Утилита работает с тестируемыми дисками непосредственно через порты ввода-вывода, то есть на самом низком уровне, что позволяет получить наиболее достоверные результаты.
WHDD во время сканирования помечает бэд-сектора (bad sector / bad block), остальные блоки упорядочиваются по времени доступа к ним. В утилите присутствует функция копирования носителя, оптимизированная для максимально быстрого извлечения данных.
Запуск
1. Для запуска утилиты введите в консоли:
whdd
2. Выберите диск, с которым хотите работать
3. Выберите действие, которое хотите выполнить с диском:
- Тест чтения
- Скопировать диск на другой носитель
- Затирание нулями
Тест на чтение
1. Выбираем параметр API (ata / posix). Например, для SATA-диска набираем ata, для внешнего носителя - подключенного по USB - posix[1].
2. Выбираем начальный сектор (по умолчанию 0)
3. Тест выполняется:
Копирование диска на другой носитель
1. Выбираем параметр API (ata / posix). Например, для SATA-диска набираем ata, для внешнего носителя - подключенного по USB - posix[2].
2. Выбираем диск назначения (учитывая, какой диск мы выбрали в начале)
3. <???>
4. <???>
5. Диск копируется
Затирание нулями
1.Соглашаемся, что мы затрем данные
2.Выбираем начальный сектор
3.Диск затирается нулями
Источники: Vk-сообщество Российская ОС РОСА Линукс, zenway.ru
Информация об оборудовании
Команда | Описание |
---|---|
lshal | Отображение информации о подключенных устройствах, находящихся в HAL |
lspci | Отображение информации о всех PCI шинах и подключенных к ним девайсах |
lspci -v | Вывод более подробной информации |
lsmod | Вывод состояния модулей ядра, для некоторых устройств можно увидеть используемый драйвер |
cat /proc/bus/input/devices | Посмотреть информацию по всем вашим устройствам ввода следующей командой |
hardinfo | Графическая утилита отображения информации об устройствах компьютера |
hwinfo | Вывод полной информации обо всех устройствах компьютера. |
dmidecode -s bios-version | Узнать версию биоса материнской платы(DMI) |
dmidecode -s bios-release-date | Узнать дату выхода версии биос |
inxi -F | Утилита для компактного и полного вывода информации о системе и железе. |
Скрипт c inxi - Вывод информации о железе (Скрипт)
Выводит информацию в отдельном окне. Нужно создать файл и поместить в него текст скрипта. #!/bin/bash (inxi -c0 -F) | xmessage -file --center Но мне кажется, что через gxmessage "красивее" выглядит Запуск скрипта sh скрипт или ./скрипт
Информация о всех подключенных устройствах
Команда | Описание |
---|---|
hwinfo --short | Получение информации о подключенных устройствах, можно опросить только отдельное устройство, например WLAN: hwinfo –wlan. |
lshw | Команда выведет полную информацию о железе, следует выполнять с правами root'а (sudo lshw). Установка lshw: sudo apt-get install lshw. |
lshw -html > myhard.html | Вывод информации о железе в html страничку |
USB
Команда | Описание |
---|---|
lsusb | Информация о USB шине и присоединенных устройствах |
lsusb -v | Более подробная информация о USB шине и присоединенных устройствах |
lsusb -t | Проверка работы портов |
dmesg | grep bug | Просмотр ошибок при подключении оборудования |
CPU
Команда | Описание |
---|---|
cat /proc/cpuinfo | Все про процессор: модель, частота, кэш и т.д. Если есть флаг lm - значит процессор поддерживает 64 бита. |
cat /proc/loadavg | Загрузка ЦП за последние 1, 5 и 15 минут |
lscpu | Выведет информацию о процессоре. В пункте CPU op-mode(s) можно увидеть поддерживаемую разрядность 32-bit (i686), 64-bit (x86_64) |
cpu-z | Графическая утилита. Там в разделе CPU -> instructions можно посмотреть доступную разрядность процессора |
grep -qw lm /proc/cpuinfo && echo yes | Посмотреть поддержку 64-bit у процессора через флаг lm. Если выведет "yes", ЦП поддерживает 64-bit |
SSD + HDD
Команда | Описание |
---|---|
systemctl status fstrim.timer | Проверить включен ли TRIM |
lsblk | Посмотреть подключённые жёсткие диски |
lsblk -o NAME,SIZE,UUID,TYPE,MOUNTPOINT | Посмотреть информацию о дисках |
cat /proc/partitions | Посмотреть информацию о дисках |
inxi -plo | Информация о разбиении диска. разделы диска |
inxi -h | Посмотреть флаги разделов жесткого диска |
mount | Посмотреть информацию о подключенных устройствах и параметрах подключения |
df -H | Посмотреть список партиций, их точки монтирования, использование места, тип файловой системы |
df -h | Узнать размер свободного пространства на разделах диска |
du -hs * 2>/dev/null | sort -h | Отсортировать файлы по размеру |
fdisk -l | Все партиции, названия устройств и геометрия hdd |
hdpram -iv /dev/sda | Посмотреть идентификационную информацию, собранной во время загрузки ОС |
hdpram -Tv /dev/sda | Измерить время чтения из кэша, для верности показателей - повторить 2-3 раза на неактивном диске |
hdparm -Tt /dev/sda | Сравнение времени чтения устройства. Полная статистика. Для получения значимых результатов эту операцию следует повторить 2-3 раза в неактивной системе |
hddtemp -uC /dev/sda | Отображение температуры в Цельсиях для винчестера /dev/sda (установочный пакет hddtemp) |
smartctl -a /dev/sda | Вывод SMART информация для винчестера /dev/sda (необходим пакет smartmontools) |
baobab | Графическая утилита для анализа места на жестком диске в GNOME |
ncdu / | Консольная утилита для анализа места на жестком диске |
ls -lh /var/log/ | Посмотреть содержимое папки с выводом в мегабайтах, килобайтах и пр. |
parted /dev/sdX print | Информация о жестком диске - sdX, X заменить на букву диска - a,b,c |
gdisk -l /dev/sda | Покажет раздел загрузчика с кодом раздела EF00 |
tree -L 3 /boot | Вывод структуры ввиде дерева |
df -h | awk '$NF=="/"{printf "Disk Usage: %d/%dGB (%s)\n", $3,$2,$5}' | Расчет использования жесткого диска |
e2fsck -cfpv /dev/sda1 | для восстановления битых секторов жесткого диска и подождать несколько часов |
whdd | Консольная Ncurses утилита для диагностики жёстких дисков и восстановления данных с них Диагностика жесткого диска и восстановление данных |
find -type f -printf "%k\t%p\n" | sort -n | tail | Найти десять самых больших файлов. Размер в блоках по килобайту |
ls -1 /dev/sd? | Получить список устройств |
fdisk -l /dev/sda | Посмотреть какие разделы есть на диске "sda" |
Узнать, что переполняет диск | |
konqueror с плагинами | Свободный веб-браузер и файловый менеджер, являющийся ключевым компонентом графической среды KDE |
du <путь> | sort -n. В альте можно отключить резервное копирование (bacula-fd) и почистить /var |
gparted | Графическая утилита для работы с дисками и разделами |
filelight | Графическое представление использования дисков/флешек |
baobab | Графическое представление использования дисков/флешек в Gnome |
ncdu | Консольный анализатор использования дисков/флешек |
Жёсткие диски имеют особенные названия. В зависимости от интерфейса, через который подключён жёсткий диск, название может начинаться на: sd — устройство, подключённое по SCSI; hd — устройство ATA; vd — виртуальное устройство; mmcblk — обозначаются флешки, подключённые через картридер; В наше время большинство блочных устройств Linux подключаются через интерфейс SCSI. Сюда входят жёсткие диски, USB-флешки, даже ATA-диски теперь тоже подключаются к SCSI через специальный переходник. Поэтому в большинстве случаев вы будете иметь дело именно с дисками sd. Третья буква в имени диска означает его порядковый номер в системе. Используется алфавитная система. Например sda — первый диск, sdb — второй диск, sdc — третий и так далее. Дальше следует цифра — это номер раздела на диске — sda1, sda2.
Монтирование устройств
Команда | Описание |
---|---|
mount /путь_к_директории/образ.iso -o loop /media/iso | Монтирование образа iso в созданную/имеющуюся директорию /media/iso |
mount file.iso /media/iso/ -t iso9660 -o loop | Монтирование образа iso в созданную/имеющуюся директорию /media/iso |
umount /media/iso/ | Размонтирование образа из директории /media/iso/ |
modprobe loop | При «Ошибка подключения ISO образа». Невозможно найти ни одного устройства обратной связи. Может быть ядро не знает об устройствах обратной связи. (В этом случае перекомпилируется ядро или выполните modprode loop) |
ls /home | grep back | Узнать существует каталог vps-backup для монтирования по команде mount /home/vps-backup, при ее отсутствии терминал вернет - mount: /home/vps-backup: Нет такого файла или каталога |
mount | grep /dev/sdb | Посмотреть куда примонтирован "sdb" |
mount | column -t | Получить информацию о текущих смонтированных файловых системах с удобным оформлением по столбцам |
findmnt | Отображает информацию в виде красивого дерева и сама форматирует столбцы, а также может найти нужную файловую систему |
mount -t ntfs-3g -o rw,flush /dev/sdXx /mnt | Принудительное монтирование раздела sdXx (,где Хх - ваш номер диска) с ntfs |
ntfsfix /dev/sdxX | Если не монтируется раздел с ntfs после перезагрузки с windows 10 |
Узнать файловую систему
Команда | Описание |
---|---|
file -s /dev/sda1 | Определить, какая файловая система на разделе /dev/sda1 |
df -T | Определить файловую систему для смонтированных разделов |
Комбинации клавиш
Команда | Описание |
---|---|
xev | Утилита определения клавиш |
Hardware Detection Tool (HDT) - утилита для представления различной информации об аппаратном обеспечении любой x86-совместимой системы. С помощью псевдографисеского интерфейса вы легко можете получить подробную информацию о процессоре, PCI-устройствах, памяти, дисках и пр.
Для запуска HDT, в меню syslinux, вместо Rescue LiveCD выберите Hardware Info.
С помощью навигационных клавиш и клавиши ввода вы можете переключаться между пунктами меню и просматривать информацию об устройствах.
Проверка состояния жестких дисков
Smartmontools - утилита для проверки состояния жестких дисков при помощи SMART.
-
Определение дисков в системе:
# smartctl --scan
Отобразится список дисков в вашем компьютере:
/dev/sda -d scsi # /dev/sda, SCSI device
-
Информация о диске
# smartctl -i /dev/sda
Пример:
=== START OF INFORMATION SECTION === Model Family: Toshiba 2.5" HDD MK..65GSX Device Model: TOSHIBA MK3265GSXN Serial Number: 3192P99AT LU WWN Device Id: 5 000039 322201685 Firmware Version: GH101M User Capacity: 320 072 933 376 bytes [320 GB] Sector Size: 512 bytes logical/physical Rotation Rate: 5400 rpm Form Factor: 2.5 inches Device is: In smartctl database [for details use: -P show] ATA Version is: ATA8-ACS (minor revision not indicated) SATA Version is: SATA 2.6, 3.0 Gb/s (current: 3.0 Gb/s) Local Time is: Mon Mar 5 00:02:01 2018 MSK SMART support is: Available - device has SMART capability. SMART support is: Enabled
- Подробная информация о состоянии
# smartctl -A /dev/sda
Пример:
=== START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000b 100 100 050 Pre-fail Always - 0 2 Throughput_Performance 0x0005 100 100 050 Pre-fail Offline - 0 3 Spin_Up_Time 0x0027 100 100 001 Pre-fail Always - 1141 4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 7407 5 Reallocated_Sector_Ct 0x0033 100 100 050 Pre-fail Always - 0 7 Seek_Error_Rate 0x000b 100 100 050 Pre-fail Always - 0 8 Seek_Time_Performance 0x0005 100 100 050 Pre-fail Offline - 0 9 Power_On_Hours 0x0032 058 058 000 Old_age Always - 17038 10 Spin_Retry_Count 0x0033 245 100 030 Pre-fail Always - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 7224 191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 176 192 Power-Off_Retract_Count 0x0032 098 098 000 Old_age Always - 1279 193 Load_Cycle_Count 0x0032 047 047 000 Old_age Always - 531423 194 Temperature_Celsius 0x0022 100 100 000 Old_age Always - 39 (Min/Max 10/53) 196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0 197 Current_Pending_Sector 0x0032 100 100 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0030 100 100 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 1 220 Disk_Shift 0x0002 100 100 000 Old_age Always - 89 222 Loaded_Hours 0x0032 070 070 000 Old_age Always - 12360 223 Load_Retry_Count 0x0032 100 100 000 Old_age Always - 0 224 Load_Friction 0x0022 100 100 000 Old_age Always - 0 226 Load-in_Time 0x0026 100 100 000 Old_age Always - 309 240 Head_Flying_Hours 0x0001 100 100 001 Pre-fail Offline - 0
Ключевое значение имеет содержимое 3-х столбцов:
- VALUE - текущее значение параметра
- WORST - наихудшее значение, которого когда-либо достигало значение Value
- THRESH - значение, которого должен достигнуть Value этого же атрибута, чтобы состояние атрибута было признано критическим.
Критичным является поле WHEN_FAILED, если оно имеет значение FAIL, то высока вероятность выхода жесткого диска из строя в ближайшее время.
- Быстрый тест здоровья жесткого диска
# smartctl -H /dev/sda
Пример:
=== START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED
Если результат не PASSED, то диск следует заменить.
- Расширенные встроенные тесты
smartctl --test=long /dev/sda
Пример:
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION === Sending command: "Execute SMART Extended self-test routine immediately in off-line mode". Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful. Testing has begun. Please wait 98 minutes for test to complete. Test will complete after Mon Mar 5 01:46:10 2018 Use smartctl -X to abort test.
Для просмотра результатов выполнения тестов используется команда вывода внутреннего журнала после завершения теста:
smartctl -l selftest /dev/sda
Для прерывания теста нужно ввести:
smartctl -X
Источники: wiki.debian.org, wiki.enchtex.info, wiki.dieg.info
Оперативная память
Команда | Описание |
---|---|
cat /proc/meminfo | Информация об объеме RAM, SWAP и другая информация |
free -m | Общий объем памяти (RAM, SWAP), количество использованной, свободной памяти в МБайтах [1] |
free -m -s 5 | Вывод в других единицах — с ключами:-b байтах; -m мегабайтах; -g гигабайтах, -s запустить с заданным периодом обновления информации |
free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2} | Расчет использования оперативной памяти |
Очистка кэша памяти | |
free -h | Посмотреть размер страничного кэша можно в последней колонке - cached |
cat /proc/slabinfo | egrep dentry\|inode | Просмотр кэша inode и dentrie, относящихся к файловой системе. В него записываются не сами данные, а структура файловой системы, расположение файлов и папок. |
sync; echo 1 > /proc/sys/vm/drop_caches | Очистка кэша PageCache |
sync; echo 2 > /proc/sys/vm/drop_caches | Очистка inode и dentrie |
sync; echo 3 > /proc/sys/vm/drop_caches | Очистка inode и dentrie и PageCache |
Примечание
Описание колонок в выводе команды free
total — общее количество памяти;
used — реально использующая в данный момент и зарезервированная системой память;
free — свободная память (total минус used);
shared — Shared memory или Разделяемая память, можно посмотреть командой ipcs;
buffers — буферы в памяти — страницы памяти, зарезервированные системой для выделения их процессам, когда они затребуют этого, так же известна как heap-memory;
cached — файлы, которые недавно были использованы системой/процессами и хранящиеся в памяти на случай если вскоре они снова потребуются.
Виды кэша
PageCache или страничный кэш - это место, куда ядро складывает все данные, которые были записаны или считаны из диска.
Кэш inode и dentrie тоже относится к файловой системе. Только в него записываются не сами данные, а структура файловой системы, расположение файлов и папок.
Тестирование оперативной памяти
Если Вы используете RescueLiveCD, то:
- Для запуска Memtest86+ в меню syslinux вместо Rescue LiveCD выберите соответствующий пункт.
Если Вы используете установленную систему, то:
- Для запуска Memtest86+ выберите соответствующий пункт в меню GRUB
Последующий процесс диагностики заключается в проведении нескольких этапов тестирования каждого отдельного модуля ОЗУ.
Данный процесс будет выполнятся бесконечно, пока вы не остановите его. Вам нужно дождаться окончания хотя бы одного цикла проверки. (значение Pass должно быть >= 1).
В случае обнаружения ошибки отобразятся в списке.
Для ПК на UEFI в образе содержится memtest86.efi по соглашению с PassMark.
Что делать при появлении ошибок
Если при тестировании появляются ошибки, значит, оперативная память (устройство) битая/разогнанная/запылилась и ее надо заменить/согнать/пропылесосить (возможны также проблемы с охлаждением или системной шиной). В крайнем случае, возможно исключить битую память из использования в системе.
Сеть, Сетевое оборудование, Анализ сети
Команда | Описание |
---|---|
lspci | grep Ethernet | Информация о контроллере Ethernet |
lspci | grep -i 'net' | Просмотр доступных сетевых карт |
lspci | egrep -i --color 'network|ethernet' | Узнать модель сетевой карты |
lspci -v | grep Ethernet -A 1 | Узнать модель сетевой карты, более детальный вывод |
lspci -v | grep Ethernet -A 20 | Еще более подробная информация о сетевом оборудовании в системе |
lspci -kv | less | |
lshw -class network | Более подробная информация о сетевом оборудовании в системе через утилиту lshw |
dmesg | grep eth | Проверка обнаружения сетевого оборудования |
ethtool eth0 | Для отображения настроек сетевой карты в ethtool запустите утилиту передав в параметрах имя сетевого адаптера |
ethtool -i eth0 | Для просмотра информации о сетевом драйвере и прошивке |
ethtool -P eth0 | Узнать MAC адрес |
ethtool eth0 | grep "Speed\|Duplex" | Узнать текущую скорость передачи данных сетевой карты |
ethtool -s eth0 duplex full speed 100 autoneg off | Для принудительного понижения скорости до 100 Мбит/с в режиме Full Duplex и отключения автоопределения настроек |
ethtool -s eth0 duplex full speed 1000 autoneg off | Вернуть сетевую карту в гигабитный режим |
mii-tool -F 100baseTx-FD eth0 | Понизить скорость до 100 Мбит/с в режиме Full Duplex, не имея ethtool |
ifconfig eth0 media 100baseTX mediaopt full-duplex | Понизить скорость до 100 Мбит/с в режиме Full Duplex, вариант совсем для гиков |
ifconfig | Просмотр сетевых интерфейсов, количество переданных/принятых пакетов, IP адрес, маска и т. д. |
ifconfig | grep 'inet addr:' | Узнать все ip адреса сервера, в том числе и ipv6. При ошибке доустановить пакет net-tools |
ifconfig | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' | Показать только ip адреса, без лишней информации |
ifconfig | awk '/inet addr:/ {print substr($2, 6)}' | Показать только ip адреса, без лишней информации |
ifconfig | awk '/inet addr:/ {print substr($2, 6)}' | grep -v 127.0.0.1 | Позволяет убрать локальный интерфейс, чтобы глаза не мозолил |
ip link show | Подробная информация о сетевом протоколе для сетевой карты |
ip a | Посмотреть сетевые интерфейсы |
ip a | grep inet | awk '{print $2}' | Показать только ip адреса, без лишней информации |
ifconfig | grep 'inet addr:' | Вовод информации - inet addr, Bcast, Mask |
ping -n -i 0.2 -s 512 -I eth0 ya.ru | Проверить передачу пакетов по сети |
traceroute -N 16 -q 1 -A ya.ru | Проверить передачу пакетов по сети |
mtr ya.ru | Проверить передачу пакетов по сети |
ip route get 10.94.171.10 | Узнать, через какую запись в таблице маршрутизации пойдет трафик на IP адрес |
iptraf -d eth0 | Посмотреть суммарную статистику по интерфейсу. Узнать что забивает канал |
iptraf -i eth0 | Просмотр статистики по соединениям |
nload | Утилита анализа трафика Опции nload: device - выбор интерфейса -a - промежуток в секундах, для подсчитывания среднего значения -i - стопроцентная планка на графике пропускной способности в kBit/s -m - отображение нескольких интерфейсов, без графика -t - интервал обновления в миллисекундах -u - режим отображения: Bit/s, kBit/s, MBit/s |
iwlist scan 2> /dev/null | grep ESSID | wc -l | Узнаем сколько есть точек доступа Wi-Fi |
route -n | Узнать адрес шлюза по умолчанию, на который будут отправляться все пакеты, для которых не прописаны дополнительные правила в таблице маршрутизации. Из вывода команды нас интересует строка с подсетью 0.0.0.0 и аналогичной маской, это и есть адрес шлюза по умолчанию. 0.0.0.0 192.168.3.1 0.0.0.0 UG 0 0 0 eth0 Искомый адрес 192.168.3.1, в малых сетях это как правило адрес роутера или сервера выполняющего роль шлюза в интернет. |
netstat -tlnp | Узнать кто подключился к вашему ПК |
ssh-copy-id username@remote-machine | Подключение по SSH без пароля |
ngrep google port 80 | Показать содержимое всех пакетов, прошедших по 80 порту, со словом google |
ngrep -i \'game*|chat|recipe\' -W byline -d eth0 | Вывод пакетов удовлетворяющих маске по одному в строке, для интерфейса eth0 |
ngrep -i \'rcpt to|mail from\' -d any tcp port smtp | Слушать весь SMTP трафик на всех сетевых интерфейсах |
ngrep -q -t -wi "login" port 23 | Показать текущее время для каждого совпадения (кто и когда заходит на машину телнетом) |
ip route Информация о сетевом соединении И в этом случае ищите строку вида:
default via 10.1.1.254 dev enp2s0 proto static metric 100
В случае, если вас интересует внешний IP-адрес в сети интернет, который будет отображаться у всех рабочих станций вашей локальной сети скрытых NAT, то вы можете воспользоваться web-сервисом https://2ip.ru или другим подобным.
Информация по ссылкам:
Сообщение о проблеме
Для решения проблем с оборудованием при сообщении о проблеме вам может потребоваться предоставить информацию следующих команд
Команда | Описание |
---|---|
Проблемы с оборудованием | |
dmesg | |
pciscan -v | |
cpuscan -v | |
acpiscan -v | |
mousescan -v | |
x11createconfig | |
cat /proc/cmdline | |
lsusb -vvv | |
Проблемы с разделами жёсткого диска | |
fdisk -l | |
storagescan -v |