Библиотека сайта 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. На мой взгляд это единственная из неспециализированных программ, подающая разные характеристики компьютера в удобном виде, но даже и в ней есть что добавить.
Отсюда следует утверждение “я все узнаю в консоли” :)
Данный документ разрешается использовать при условии указания копирайта и первоисточника. Пишите, если хотите его дополнить, или если нашли в нем ошибки:)