Лабораторная работа 2.
Команды ОС Linux, сбор информации о системе.

Информация

Операционная система Linux, содержит в своем составе несколько сотен консольных утилит, с помощью которых системный администратор может полностью автоматиризовать свою деятельность по управлению данной ОС. Наиболее простой путь доступа к консольным утилитам и встроенным командам заключается в их запуске из командной оболочки.

Командная оболочка (shell) Linux запускается на любом текстовом терминале. Обычно дистрибутив Linux поддерживает 6 текстовых терминалов, доступных после загрузки ОС по нажатию комбинаций клавиш Ctrl-Alt-F1, ..., Ctrl-Alt-F6. Запуск командной оболочки возможен и в рамках графической оболочки Linux с помощью графических программ-эмуляторов терминала. Если загружена графическая оболочка, то она доступна по нажатию комбинаций клавиш Ctrl-Alt-F7 (для нескольких одновременно зарегистрированных пользователей - Ctrl-Alt-F7, ..., Ctrl-Alt-F11). В зависимости от типа графической оболочки эмулятор терминала называется и выглядит по разному. В графической оболочке XFCE дистрибутива Simply Linux (один из дистрибутивов, разработанный на базе программных репозитариев, поддерживаемых российской компанией AltLinux) эмулятор терминала доступен непосредственно из главного меню.

Обычно команды выполняют запланированные действия и выводят на экран полученный результат, который в случае необходимости может быть перенаправлен в файл или конвееризирован на вход другой команды. Перенаправление данных реализуется символами "<"(ввод из файла), ">"(вывод в файл) и ">>"(дозапись в конец файла), конвееризация - символом "|". Например, команда ls выведет на экран содержимое текущего каталога, команда ls > 1.txt сохранит содержимое текущего каталога в файле 1.txt, а команда ls | more конвееризирует содержимое текущего каталога на вход утилиты more, которая в свою очередь выведет полученные данные на экран постранично.

Консольные утилиты могут запускаться с указанием дополнительных опций, вид и особенности применения которых зависят от конкретной утилиты. Краткую справку по команде можно обычно получить помощью опции "--help", некоторые команды используют для тех-же целей "-h" или выводят справку при запуске без параметров. Развернутую справку по команде можно получить с помощью утилиты man (от слова manual-руководство), например так: man ls. Доступность справочных руководств и их переводов на русский язык определяется набором установленных программных пакетов. Например, в дистрибутивах, разработанных на базе репозитариев AltLinux, англоязычные руководства сосредоточены в пакетах man-pages, man-pages-misq, man-pages-posix, а рускоязычные - в man-pages-ru.

Структурированную информацию о командах и утилитах с поддержкой поиска можно получить на сайте проекта OpenNet.

Задание

Будем подразумевать файлы любых типов (каталоги, регулярные файлы, сокеты, символические ссылки и т.д), говоря "файлы".

Будем подразумевать произвольную глубину вложенности, говоря "файлы в каталоге".

С использованием только консольных команд ОС Linux создать во временном каталоге /tmp каталог "info" (команда mkdir) и сформировать в нем набор файлов с разнообразной информацией о системе:

  1. cpumem.ном_ст_билета.txt - информация о процессоре и оперативной памяти (команда cat, файлы /proc/cpuinfo и /proc/meminfo)
  2. hard.ном_ст_билета.txt - информация о PCI и USB-устройствах в максимально подробном виде (команды lspci и lsusb)
  3. pkg.ном_ст_билета.txt - список программных пакетов, установленных в системе, отсортированных по убыванию (команды rpm и sort)
  4. net.ном_ст_билета.txt - информация об ip-адресе, настройке маршрутизации, dns-сервере (команды ip, echo, а также на выбор: /sbin/resolvconf, либо cat и файл /etc/resolv.conf). Каждый информационный блок в файле должен предваряться идентификационной строкой вида "#ID.ном_ст_билета", где ID - название блока (ip, route или dns)
  5. sysv.ном_ст_билета.txt - список служб системы инициализации SYSV, стартующих на третьем уровне запуска (т.е. стандартный для серверов многопользовательский режим работы без графической оболочки) (chkconfig, grep)
  6. ps.ном_ст_билета.txt - список процессов, запущенных в системе НЕ пользователем student (ps, grep)
  7. hfiles.ном_ст_билета.txt - список "скрытых" файлов в домашнем каталоге пользователя, т.е. файлов, начинающихся с символа ".", а также их количество (find, wc)
  8. minfiles.ном_ст_билета.txt - список файлов в домашнем каталоге пользователя, размер которых меньше 100 байт, отсортированный по возрастанию размера (du, grep, sort).
Сдача лабораторной работы подразумевает последовательную консольную 1) демонстрацию содержимого каталога info (команда ls), 2) постраничную демонстрацию содержимого каждого подготовленного файла (команды cat и more), 3) демонстрацию процесса формирования одного или нескольких файлов, по выбору преподавателя.