Сбор информации о системе Ubuntu
Собрать всю доступную информацию о системе и железе Ubuntu может понадобиться если у вас появился новый компьютер или ноутбук, и вам интересно, какое там точно оборудование. Также это может понадобиться если нужно заменить какой-либо компонент, например, жесткий диск. Ну или даже просто так. Для замены оборудования вам нужно знать всю информацию заранее. Также информация о железе Ubuntu может понадобиться если вы собираетесь настраивать Wifi, Bluetooth, веб камеру или устанавливать драйвера для видеокарты.
В этой статье я перечислю команды, с помощью которых может быть получена информация об операционной системе Ubuntu. Все команды были проверены в Ubuntu 16.04, но они должны работать в любом современном дистрибутиве, таком как Debian, Fedora, OpenSUSE и т д.
Узнаем имя хоста
Самый простой способ узнать имя хоста своей машины, это команда hostname:
hostname
server01
Или:
cat /etc/hostname
server01
Если у вас сервер, можно посмотреть доменное имя узла определяемое по DNS:
dnsdomainname
losst.ru
Полное доменное имя хоста (FQDN) можно посмотреть командой:
hostname
server01.losst.ru
Находим производителя, серийный номер
Если у вас ноутбук, то может быть получена такая информация, как производитель, серийный номер, и другая информация о железе Ubuntu, закодированная в dmi:
sudo dmidecode -s system-serial-number
$ sudo dmidecode -s system-manufacturer
$ sudo dmidecode -s system-product-name
Всю доступную информацию смотрите командой:
sudo dmidecode | more
Также в можно использовать команду lshw, в некоторых дистрибутивах придется ее установить:
sudo lshw | more
$ sudo lshw -short
Информация о подключенном оборудовании
Команда покажет все подключенное оборудование, используемые PCI и USB порты и т д:
sudo lsdev
Информация о процессоре
Информация о процессоре linux тоже легко доступна:
cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 16
model : 6
model name : AMD Athlon(tm) II X2 250 Processor
stepping : 3
microcode : 0x10000c8
cpu MHz : 2300.000
Или:
lscpu
Статистика использования процессора
Посмотреть загруженность процессора можно командой:
sudo mpstat
21:56:27 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
21:56:27 all 18,27 0,33 5,26 2,01 0,00 0,04 0,00 0,00 0,00 74,10
Возможно утилиту придется установить, установив пакет sysstat.
Информация о памяти
Посмотреть статистику использования памяти в системе можно командой:
less /proc/meminfo
MemTotal: 6109876 kB
MemFree: 188544 kB
MemAvailable: 2117964 kB
Buffers: 254120 kB
Cached: 1595932 kB
Если не нужна такая подробная информация, можно получить информацию о linux командой free.
Отобразить информацию о памяти в мегабайтах:
free -m
В гигабайтах:
free -g
В читаемом виде:
free -h
Информация о подкачке
Посмотреть подключен ли swap раздел и какого он размера можно командами:
swapon -s
cat /proc/swaps
vmstat
Информация о виртуальной памяти
sudo vmstat
$ sudo vmstat 1
$ sudo vmstat 2
Версия дистрибутива
Команда покажет версию и название дистрибутива, а также некоторую дополнительную информацию, это важная информация об операционной системе linux:
lsb_release -a
Версия ядра
Ядро - это самый важный компонент системы. Информация о системе Ubuntu, а именно версии ядра доступна с помощью команды uname.
uname -r
$ uname -a
Linux dhcppc0 4.1.15-8-default #1 SMP PREEMPT Wed Jan 20 16:41:00 UTC 2016 (0e3b3ab) x86_64 x86_64 x86_64 GNU/Linux
Параметры запуска ядра
cat /proc/cmdline
$ sysctl -a | more
Архитектура системы
uname -m
$ getconf LONG_BIT
$ arch
Информация о жестких дисках
Смотрим подключенные жесткие диски:
fdisk -l | grep '^Disk /dev'
Disk /dev/sda: 465,8 GiB, 500107862016 bytes, 976773168 sectors
Disk /dev/sdb: 931,5 GiB, 1000204886016 bytes, 1953525168 sectors
Смотрим разделы на определенном диске:
fdisk -l /dev/sda
Узнаем метку диска:
sudo fdisk /dev/sda
$ sudo e2label /dev/sda1
$ sudo cfdisk /dev/sda
Информация о блочных устройствах
Атрибуты блочных устройств:
blkid
Список всех блочных устройств:
lsblk
Свободное пространство на диске
Информация о системе Ubuntu включает информацию о дисках. Отобразить использованное пространство всех дисков:
df
$ df -H
$ df -HT
Отобразить размер файлов в домашней папке:
du
$ du /home
Примонтированные диски
Посмотреть все примонитрованные файловые системы:
cat /proc/mount
$ mount
SCSI устройства
Отобразить параметры SCSI устройств подключенных к системе:
lsscsi
Статистика ввода/вывода:
sudo iostat
$ sudo iostat 2
Информация о PCI устройствах
PCI устройства - это все устройства, подключенные к материнской плате компьютера, это процессор, сетевая карта, беспроводный адаптер, и так далее. По сути, посмотреть железо Ubuntu можно просмотрев pci устройства.
lspci
$ lspci -vt
$ lspci | grep -i 'устройство'
$ lspci -vvvn| less
Информация о USB
Кроме PCI устройств есть еще внешние USB, это принтеры, Bluetooth адаптер, мышка, клавиатура. Это тоже важная информация о компьютере Ubuntu.
lsusb
$ lsusb -vt
Информация о беспроводных сетевых адаптерах
Модель и производителя сетевого адаптера можно посмотреть через lscpi, но более подробную информацию о настройках и поддерживаемых функциях там не узнать, для этого есть свои команды:
iwconfig
$ watch -n 1 cat /proc/net/wireless
$ wavemon
$ iw list
Информация об видеокарте
lspci | grep -i vga
$ lspci -vvnn | grep VGA
Или:
sudo lshw -class display
Информация об видеокарте NVIDIA
Если установлены проприетарные драйвера, информацию о видеокарте можно посмотреть командой:
nvidia-smi
Или
nvidia-settings
Здесь будет представлена более подробная информация о компьютере Ubuntu, чем в обычном выводе lspci.
Информация о видеокарте ATI Readon
Для работы команды, нужно чтобы был установлен драйвер ATI:
fglrxinfo
Версия Unity
unity --version
Информация об аудио устройствах
lspci | grep -i audio
Или:
cat /proc/asound/cards
Или:
arecord -l
Состояние батареи
На ноутбуке нам может понадобиться посмотреть состояние батареи:
upower -i /org/freedesktop/UPower/devices/battery_BAT0
$ acpi -V
Время работы системы
uptime
$ who
$ w
Загрузка системы
uptime
$ cat /proc/loadavg
$ sudo top
$ sudo htop
$ sudo atop
История выключений и перезагрузок
last reboot
$ last shutdown
Текущий RunLevel
RunLevel это уровень запуска в системе инициализации SysVinit.
runlevel
$ who -r
Просмотр лога ядра
Очень полезная информация о компьютере Ubuntu, информация об ошибках и проблемах находится в логе ядра:
sudo less /var/log/dmesg
$ sudo grep 'regx' /var/log/dmesg
$ sudo grep '[h|s]d' /var/log/dmesg
Загруженные модули ядра
sudo lsmod
$ sudo modinfo _____имя_модуля___
Информация о сети
Посмотреть локальный ip адрес и другую информацию о сетевых интерфейсах:
sudo ip a
$ sudo ip
$ sudo ip link ls up
$ sudo ifconfig -a
Посмотреть только информацию об интерфейсе eth0:
sudo ip a show eth0
$ sudo ifconfig eth0
Посмотреть таблицу маршрутизации:
sudo ip r
$ sudo route -n
$ sudo netstat -nr
Посмотреть сетевые мосты:
sudo brctl show
$ sudo bridge link
Информация о DNS серверах
Адреса DNS серверов, с которыми работает система находятся в файле /etc/resolv.conf:
cat /etc/resolv.conf
Системные настройки DNS находятся в файле /etc/host.conf
cat /etc/host.conf
Информация о соктетах
Смотрим открытые сетевые и локальные сокеты:
sudo ss
Все прослушиваемые порты:
sudo ss -l
Или:
sudo netstat -tulpn
$ sudo netstat -tulpn | grep LISTEN
Смотрим все TCP сокеты:
sudo ss -t -a
UDP сокеты:
sudo ss -u -a
Смотрим открытые в системе файлы:
lsof | more
$ lsof | grep something
$ lsof /dev/sda2
Информация о сервисах
Смотрим все запущенные сервисы. В SysVinit:
sudo service --status-all
В Upstart:
sudo initctl list
Проверяем загружается ли сервис автоматически:
sudo initctl status service-name
$ sudo initctl status smbd
Или:
sudo service имя_сервиса status
$ sudo service nginx status
Просмотр лог файлов
cd /var/log
$ ls -l
$ tail -f /var/log/имя_файла
$ grep 'то_что_нужно' /var/log/имя_файла
Поиск файла по имени
С помощью Locate:
locate имя_файла
$ locate passwd
$ locate курсовая.doc
С помощью find:
find {/папка_где_искать} -name {имя_файла} -print
$ find /etc/ -name /etc/passwd -print
$ find $HOME -name '*.doc' -print
Информация о пользователях
less /etc/passwd
$ grep userName /etc/passwd
$ getent passwd
Информация о группах
less /etc/group
$ getent group
$ grep имя_группы /etc/group
$ groups имя_пользователя
Информация о паролях
chage -l имя_пользователя
$ chage -l root
$ chage -l vivek
Загрузка системы
sudo top
$ sudo htop
$ sudo atop
$ sudo ps auxwww
$ sudo netstat опции
$ sudo iostat
$ sudo mpstat 1
$ sudo sar опции
Трассировка программ
strace -o output.txt /bin/foo
$ strace -p 22254 -s 80 -o debug.nginx.txt
Трассировка вызовов библиотек
sudo ltrace /usr/sbin/httpd
$ sudo ltrace /sbin/chroot /usr/sbin/httpd
Информация о процессах
sudo pstree
$ sudo pstree | less
$ sudo ps auxwwwm
$ ps alxwww
$ ps auxwww
$ lsof -b M -n -l
Изменяем приоритет процесса:
sudo /bin/nice -n -1 имя процесса
$ sudo /bin/nice -n -1 pid
$ sudo renice __приоритет___ pid
Использование CPU процессом:
sudo taskset -p pid
$ sudo taskset -p 42
Установленные пакеты
Смотрим список всех установленных пакетов:
dpkg -l
$ dpkg -l | less
$ dpkg -l nginx
Смотрим все установленные патчи:
sudo apt-show-versions -a | grep -i "security"
Смотрим все необходимые исполняемому файлу библиотеки:
ldd имя_файла
Какому пакету принадлежит файл:
dpkg -S /путь/к/файлу
$ dpkg -S /bin/ls
Делаем резервную копию списка установленных программ:
sudo dpkg --get-selections > /root/installed.pkgs.txt
Восстанавливаем:
sudo dpkg --set-selections < /root/installed.pkgs.txt
Информация о брандмаузере
sudo iptables -L -n -v
$ sudo ufw status numbered
$ sudo ufw status verbose
$ sudo ufw app list