next up previous contents
Next: 2.8 Иерархия файлововй системы Up: 2. Информация о Linux Previous: 2.6 Другие источники информации

Подраздел


2.7 Как найти информацию о системе или описания в установленной системе Linux?

Найти какое-то описание в уже работающей системе Linux можно разными способами. Рассмотрим наиболее важные.


2.7.1 Команда uname

Команда uname поможет вам узнать какой вариант Linux установлен на Вашей машине:

uname -a

В ответ система напечатает что-то в духе:
Linux pcfarm.pnpi.spb.ru 2.0.33 #18 Thu Jun 4 11:54:03 MSD 1998 i686 unknown Это означает: операционная система - Linux, имя машины в сети - pcfarm.pnpi.spb.ru, версия ядра операционной системы - 2.0.33, версия обновления ядра и дата создания ядра системы - #18 Thu Jun 4 11:54:03 MSD 1998, тип машины - i686, тип процессора - unknown.

2.7.2 Как прошла загрузка системы

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

2.7.3 Программа procinfo

С помощью программы procinfo можно получить массу полезной информации (как статической, так и динамической) о работающей системе. Что именно выда©т procinfo можно узнать с помощью команды:
procinfo -h


2.7.4 Команда man

Чтобы получить краткое описание какой-то команды или термина в системе можно использовать команду man. Если вас интересует информация о термине модем, то удобно использовать команду

man -k modem

Здесь "-k" обозначает, что далее следует ключевое слово, о котором нужна информация. В ответ Вы получите список команд и функций, которые как-то связаны с заданным ключевым словом. Далее вы сможете снова воспользоваться командой man, чтобы узнать, что означают элементы полученного вами списка. Так, в RedHat в ответ, на вышеприведенную строку Вы получите:

efax (1)             - send/receive faxes using Class 1 or 2 fax modems
mgetty (8)           - smart modem getty
rx, rb, rz (1)       - XMODEM, YMODEM, ZMODEM (Batch) file receive
sendfax (8)          - send group 3 fax files (G3 files) with a class 2 faxmodem
statserial (1)       - display serial port modem status lines
sx, sb, sz (1)       - XMODEM, YMODEM, ZMODEM file send
zplay (1)            - modem utility to record and play voice files
XF86VidModeQueryExtension, XF86VidModeQueryVersion,
XF86VidModeGetModeLine, XF86VidModeGetAllModeLines, XF86VidModeD
eleteModeLine, XF86VidModeModModeLine, XF86VidModeValidateModeLine,
XF86VidModeSwitchMode, XF86VidModeSwitchToMode, 
XF86VidModeLockModeSwitch, XF86VidModeGetMonitor, XF86VidModeGetViewPort,
XF86VidModeSetViewPort (3) - XFree86-VidMode extension interface functions

Вариант программы man, которая использует средства X-Window, называется xman.


2.7.5 Команда info

Очень удобна команда info, которая реализована на базе средств редактора emacs. Однако, в моем варианте Linux команда не обнаружила подходящей информации:

File: dir       Node: Top       This is the top of the INFO tree

  This (the Directory node) gives a menu of major topics. 
  Typing "q" exits, "?" lists all Info commands, "d" returns here,
  "h" gives a primer for first-timers,
  "mEmacs<Return>" visits the Emacs topic, etc.

  In Emacs, you can click mouse button 2 on a menu item or cross reference
  to select it.

* Menu: 

Texinfo documentation system
* Texinfo: (texinfo).           The GNU documentation format.
* install-info: (texinfo)Invoking install-info. Updating info/dir entries.
* texi2dvi: (texinfo)Format with texi2dvi.      Printing Texinfo documentation.
* texindex: (texinfo)Format with tex/texindex.  Sorting Texinfo index files.
* makeinfo: (texinfo)makeinfo Preferred.        Translate Texinfo source.

Miscellaneous
* Autoconf: (autoconf).         Create source code configuration scripts.
* Finding Files: (find).        Listing and operating on files
                                that match certain criteria.
* GIT: (git).         GNU Interactive Tools
* Gdb: (gdb).                     The GNU debugger.
* Gdb-Internals: (gdbint).      The GNU debugger's internals.
* Gettext Utilities: (gettext).         GNU gettext utilities.
* Libg++: (libg++).             The g++ class library.
* Mtools: (mtools).        Mtools: utilities to access DOS disks in Unix.
* Shar utilities: (sharutils).          GNU shar utilities.
* Text utilities: (textutils).          GNU text utilities.
* cat: (textutils)cat invocation.               Concatenate and write files.
* cksum: (textutils)cksum invocation.           Print POSIX CRC checksum.
* comm: (textutils)comm invocation.             Compare sorted files by line.
* csplit: (textutils)csplit invocation.         Split by context.
* cut: (textutils)cut invocation.               Print selected parts of lines.
* expand: (textutils)expand invocation.         Convert tabs to spaces.
* fmt: (textutils)fmt invocation.               Reformat paragraph text.
* fold: (textutils)fold invocation.             Wrap long input lines.
* gzip: (gzip).                 The GNU compression utility.
* head: (textutils)head invocation.             Output the first part of files.
-----Info: (dir)Top, 162 lines
--Top--------------------------------------------------------------------------
There is no menu item "modem" in this node.


2.7.6 Команда apropos

Команда apropos также помогает найти информацию среди man-файлов, имеющихся на вашей машине. Если вы попробуете выдать команду
apropos modem ,
то заметите, что она сработала примерно также как и команда man -k

efax (1)             - send/receive faxes using Class 1 or 2 fax modems
mgetty (8)           - smart modem getty
rx, rb, rz (1)       - XMODEM, YMODEM, ZMODEM (Batch) file receive
sendfax (8)          - send group 3 fax files (G3 files) with a class 2 faxmodem
statserial (1)       - display serial port modem status lines
sx, sb, sz (1)       - XMODEM, YMODEM, ZMODEM file send
zplay (1)            - modem utility to record and play voice files
XF86VidModeQueryExtension, XF86VidModeQueryVersion,
XF86VidModeGetModeLine, XF86VidModeGetAllModeLines, XF86VidModeD
eleteModeLine, XF86VidModeModModeLine, XF86VidModeValidateModeLine,
XF86VidModeSwitchMode, XF86VidModeSwitchToMode, 
XF86VidModeLockModeSwitch, XF86VidModeGetMonitor, XF86VidModeGetViewPort,
XF86VidModeSetViewPort (3) - XFree86-VidMo
de extension interface functions

2.7.7 Команда helptool

По команде helptool появляется графическое окно, в котором вы сможете задать интересующий вас термин. Команда просматривает все файлы документов (вы можете сконфигурировать какие документы следует просматривать при поиске). По завершении поиска вам будет выдан список файлов, где встречается данный термин. Если кликнуть мышкой на элементе списка, то появится дополнительное окно, в котором будет отображаться выбранный вами файл. При этом файл будет отображаться в том формате, в котом он хранится на вашей машине: страницы info, страницы man и др.

2.7.8 Команда locate

Наконец, может оказаться полезной команда locate. Например, вы собираетесь найти файлы, которые содержать слово modem
locate modem
вы получите

/usr/bin/modemtool
/usr/doc/util-linux-2.7/README.modems-with-agetty
/usr/farm/gcc-2.7.2.3/modemap.def
/usr/lib/rhs/control-panel/modemtool.init
/usr/lib/rhs/control-panel/modemtool.xpm
/usr/lib/rhs/control-panel/python/modem.py
/usr/lib/rhs/control-panel/python/modem.pyc
/usr/share/usernet/1.0.5/modem.xpm

Легко видеть, что в полученном списке имеется лишь один исполняемый файл: /usr/bin/modemtool. Можно попробовать man modemtool или просто вызвать данную программу с параметром -help. В данном случае это оказалась диалоговая конфигурационная программа для модема.

2.7.9 Команда rpm

rpm - это специальный пакет, который используется в большинстве вариантов Linux для установки, удаления, модернизации других программных пакетов на конкретной машине. rpm ведет свою базу данных установленных на машине пакетов, поэтому удобно опрашивать командой rpm о всех установленных на вашей машине пакетах.

Общий вид команды получения информации о пакетах:
rpm -q <query-options>
Имеется два подмножества параметров команды rpm для получения информации: выбор пакета(ов) и выбор типа информации, которая будет напечатана. Например, для того, чтобы получить весь список установленных программных пакетов на вашей машине, можно использовать:

rpm -q -a

В ответ будет напечатан длинный список программных пакетов имеющихся на машине.

Возможные значения параметров:

query-options
параметры выбора пакетов и типа информации.

Здесь мы рассмотрим параметры выбора пакетов.

-whatrequires <возможность>
показать список пакетов, которые требуют <возможность>.

Например, команда

rpm -q -whatrequires gcc

покажет:

gcc-c++-2.7.2.3-8
gcc-objc-2.7.2.3-8

Иными словами, пакет gcc-c++-2.7.2.3-8 и пакет gcc-objc-2.7.2.3-8 требуют, чтобы был установлен пакет gcc.

-whatprovides <virtual>
показать список пакетов, которые обеспечивают какое-то свойство.

-f <file>
показать пакет, которому принадлежит файл <file>.

Например, команда

rpm -q -f /usr/lib/texmf/texmf/tex/latex/umlaute

может напечатать ответ

tetex-latex-0.4pl8-9

-p <file>
покажет пакет, которому принадлежит файл, даже если пакет удален.

-whatprovides <свойство>
напечатает имя пакета, который обеспечивает данное свойство (информация из поля description?).

-whatrequires <свойство>
напечатает имена пакетов, которые необходимы для установки данного пакета

Выбор вида информации из базы данных rpm.

-i <пакет>
печатает информацию о пакете.

-changelog <пакет>
печатает информацию об изменениях в пакете.

-l <пакет>
печатает список файлов пакета.

-s <пакет>
печатает список файлов пакета вместе с информацией о статусе каждого файла.

-d <пакет>
печатает список файлов документов указанного пакета.

-c <пакет>
печатает список конфигурационных файлов пакета.

-dump
печатает всю проверяемую информацию для каждого файла; должно использоваться с параметрами -c, -d, -s, -l.

-provides <пакет>
печатает свойства, которые обеспечивает данный пакет.

-requires <пакет>
печатает список файлов и каталогов, которые необходимы для установки данного пакета.

-R <пакет>
то же самое, что -requires.

-scripts <пакет>
печатает скрипты, которые используются в данном пакете для установки или для удаления пакета.

Таким образом, если вас интересует установлен ли какой-то вариант пакета LaTeX на машине, можно выдать команду:

rpm -q -a | grep -i latex

На своей машине я получил:

tetex-latex-0.4pl8-9

Более подробное описание пакета можно получить командой:

rpm -q -i tetex-latex-0.4pl8-9

В ответ вы получите что-то вроде нижеследующего:

Name        : tetex-latex                 Distribution: Hurricane
Version     : 0.4pl8                            Vendor: Red Hat Software
Release     : 9                             Build Date: Wed Oct 22
23:36:05 1997
Install date: Fri Jan 16 17:01:13 1998   Build Host: porky.redhat.com
Group       : Applications/Publishing/TeX   Source RPM:
tetex-0.4pl8-9.src.rpm
Size        : 9911252
Packager    : Red Hat Software <bugs@redhat.com>
URL         : http://www.tug.org/teTeX/
Summary     : LaTeX macro package
Description :
LaTeX is a TeX macro package. The LaTeX macros encourage writers to
think about the content of their documents, rather than the form.  The
ideal, very difficult to realize, is to have no formatting commands
(like ``switch to italic'' or ``skip 2 picas'') in the document at
all; instead, everything is done by specific markup instructions:
``emphasize'', ``start a section''.


next up previous contents
Next: 2.8 Иерархия файлововй системы Up: 2. Информация о Linux Previous: 2.6 Другие источники информации
Andrei Chevel
Andrei.Chevel@pnpi.spb.ru