Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

“Из первых рук” - получаем информацию об устройствах в консоли Linux.

(с) Юрий Изотов, 2006

pusher108 at list dot ru

Многие помнят времена DOS, старых компьютеров и малого выбора аппаратного обеспечения. Тогда после команды msd (Microsoft Diagnostic) нам показывались скупые сведения : процессор 386 DX ,монитор у нас EGA, версия BIOS фирмы AMI, и PC-XT клавиатура :)

Времена стали меняться и в разнообразии hardware уже стало необходимым по крайней мере знать множество параметров своего “железа”, и главное как его “видит” система. Теперь уже пользователь Windows 98/ME задумчиво отмечал в свойствах своего винчестера галочку “Использовать DMA” и позже удивлялся отказам жесткого диска.

А что же делать любителю Linux? Для точной настройки своей системы он должен знать не только конфигурационные файлы, но и значения, присущие именно его оборудованию, какие там необходимо указать.

Существует два способа получения информации о hardware – просмотр “файлов” в каталоге /proc и использование конкретных программ (имеющихся как в составе дистрибутива, так и инсталлируемые самим юзером).

В этой публикации я расскажу о выводе системной информации штатными средствами Linux.

Для начало необходимо подробнее поговорить о псевдофайловой системе /proc. Она служит двум целям : хранению информации о процессах (чаще всего для передачи программам, каким эти сведения нужны для функционирования – системным демонам, листерам процессов – список очень велик) и непосредственно <CLASS="western" ALIGN=LEFT STYLE="margin-bottom: 0cm; font-style: normal; font-weight: medium"> удобности для пользователя – ядро генерирует информацию о своем состоянии и хранит ее в /proc. Почему же я назвал ее псевдофайловой? Содержание /proc xранится только в оперативной памяти (заполняясь вновь при каждом запуске системы) – на самом деле файлов в данной директории не существует. Linux для удобства монтирует некоторое содержимое RAM в директорию.

Контролируется /proc исключительно ядром и собственного устройства не имеет.

Приступим к конкретным действиям:

[user]$ cat /proc/version

Мы увидим информацию касаемо ядра – его версию, дату компиляции.

[user]$ cat /proc/cpuinfo

Теперь нам известны характеристики процессора – марка, частота, поддерживаемые системы команд.

[user]$ cat /proc/devices

Это тоже очень полезно – в списке устройств мы увидим их Device ID что очень пригодится при изменении конфигов.

Приведу еще несколько файлов, выведя которые командой cat вы дополните свои знания относительно своего оборудования:


/proc/cmdline

переданные ядру пользовательские параметры

/proc/fb

устройство FrameBuffer , действующее в системе

/proc/filesystems

подключенные файловые системы

/proc/interrupts

прерывания устройств

/proc/iomem

использование памяти по адресам – что куда загружено

/proc/ioports

порты и их адреса

/proc/meminfo

память : использовано, свободно, свопировано и т.д.

/proc/modules

загруженные модули ядра

/proc/mounts

смонтированные устройства

/proc/partitions

информация о разделах

/proc/pci

шина PCI, порт USB, слот AGP : их устройства

К слову, опытные пользователи Linux могут напрямую изменять характеристики ядра, какие-то значения в /proc-файлах (далеко не все файлы там доступны для записи). Но я настоятельно не рекомендую такой способ воздействия – это кроме особых случаев не нужно.

Существуют и штатные утилиты Linux, зачастую берущие из /proc значения и показывающие их в удобном для пользователя виде. Вот некоторые из них:


cat /var/log/dmesq | more

просмотреть лог загрузки (с сообщениями)

hostname

имя хоста

free

памяти занято, свободно и т.д.

uname -a

инфо о локальном сервере, его платформе

[root]# hdparm -i /dev/hda

подробные характеристики винчестера

[root]# cdrecord -scanbus

поддерживаемые CD-RW

[root]# cdrecord -v -prcap dev=0,0,0

очень подробно о вашем CD приводе

Xfree86 – version

версия X-сервера

cat /etc/printcap | more

инфо о принтерах

lspci -v -v

то же что и /proc/pci

env

список переменных окружения

uptime

время с момента загрузки

top

монитор процессов

ps -aux

список запущенных процессов

ldd [file name]

какие библиотеки использует программа

[root]# lsmod

какие модули ядра загружены

Разумеется, это не полный список команд – согласно идеологии Unix для одной задачи нужна программа, выполняющая только ее. Автор не встречал единого приложения для вывода всех нюансов конфигурации. Пользователи KDE к примеру имеют очень удобный и информативный kcc (Kde Control Center) – Центр управления KDE. На мой взгляд это единственная из неспециализированных программ, подающая разные характеристики компьютера в удобном виде, но даже и в ней есть что добавить.

Отсюда следует утверждение “я все узнаю в консоли” :)

Данный документ разрешается использовать при условии указания копирайта и первоисточника. Пишите, если хотите его дополнить, или если нашли в нем ошибки:)