Прежде, чем начать выполнение лабораторной работы
- Изучите конфигурацию локальной сети, которую планируется настроить в ходе выполнения лабораторных работ.
- Познакомьтесь с основными принципами работы среды VirtualBox: запуск машин, переключение между машинами, завершение работы, создание снимков.
- Повторите материал (практикум "Операционные системы. Часть 1. Операционная система Linux"), связанный с:
- работой с коммандной оболочкой и написанием скриптов;
- управлением файловыми системами в ОС Linux (монтирование);
- загрузкой операционной системы Linux;
- использованием электронного справочника man.
- Прочитайте справочную информацию по использованию следующих команд:
Задание на лабораторную работу
- Запустите host1.
- Зарегистрируйтесь в системе под учетной записью администратора (пользователь - root, пароль - qwerty).
- Определите каким образом сконфигурирована корневая файловая система (команда mount) и сколько имеется свободного места (команда df) в каждой точке монтирования.
- В домашнем каталоге администратора найдите папку RPMS и посмотрите её содеримое. Сколько там файлов? И что это за файлы?
- Изучите принцип работы средства управления пакетами RPM. Установите пакеты mc, dhcp, postfix. Получите информацию о пакете talk. Удалите пакет talk из системы. Сохраните список установленных пакетов в файле ~/RPMS/list_rmps.
- Изучите файл /etc/inittab. Определите какой уровень загрузки используется по умолчанию (параметр initdefault)? Сколько виртуальных терминалов сконфигурировано по умолчанию и какая программа на них запускается первой?
- Просмотрите файл начальной настройки системы (/etc/rc.d/rc.sysinit). Отредактируйте его таким образом, чтобы при каждом запуске системы вместо фразы "Welcome to CentOS", выводилось "Welcome to CentOS on host1 in my super network"*.
- Определите как используются файлы /etc/rc*.d/* при изменении уровня загрузки операционной системы (файл /etc/rc.d/rc).
- Изучите содержимое каталога /etc/sysconfig.
- На всех узлах сети.
- Измените приглашение, выводимое перед фразой login так, чтобы выводилось названия узла в виде больших букв (для генерации символов можно использовать ascii art generator или использовать содержимое файла ~/hosts_banners). Пример см. тут. Для того, чтобы изменить приглашение, выводимое при аутентификации пользователя, прочитайте справочную информацию для mingetty.
- Настройте приглашение коммандной строки, выводимой администратору так, чтобы в ней выдавалось имя узла зелёным цветом. Информацию о управляющих последовательностях терминала можно посмотреть в практикуме по курсу "Организация ЭВМ и систем".
- Определите какие сервисы запущены на узле (команда chkconfig). Включите сервисы crond и syslog таким образом, чтобы они автоматически запускались при загрузке системы на уровень 3. Проверте какие файлы созданы в каталоге /etc/rc3.d/.
- Настройте таблицу crontab так, чтобы каждый десять минут запускался скрипт, который выводил список запущенных процессов в системе в файл /tmp/ps_list.
- Изучите содержимое файла /etc/syslog.conf. Где записываются события, происходящие в системе? Что содержится в файле /var/log/messages?
- Измените файл /etc/sysconfig/network таким образом, чтобы при загрузке каждому узлу назначалось соответсвующее имя.
Контрольные вопросы
- Каким образом происходит регистрация пользователей в системе? Где хранится информация о пользователях?
- Что делает комманда mount? Зачем используется файл /etc/fstab?
- Как определить сколько свободно места на носителе информации? А как посмотреть сколько занимают данные?
- Зачем используется RPM? Как с её помощью можно установить, удалить, обновить пакеты и посмотреть какие пакеты уже установлены в системе, получить детальное описание какого-либо пакета?
- Как происходит загрузка операционной системы Linux?
- Процесс init. Какие функции выполняет? Когда и кем (чем) он запускается?
- Зачем используется файл inittab? Как описывается процесс загрузки с помощью этого файла? Объясните строки 45-50 файла inittab.
- Что такое уровень загрузки ОС Linux?
- Что происходит в файле rc.sysinit в строке 371? Опишите назначение утилиты sysctl.
- Каково назначение каталогов /etc/rc*.d?
- Зачем используются скрипты /etc/rc*.d/*?
- Где задаются целые значения, идущие после символов K и S файлов /etc/rc.d/rc*.d? Что они означают?
- Что содержит каталог /etc/sysconfig? Как и для чего используется информация из этого каталога в файле rc.sysinit (например, строка 404)?
- Каким образом можно настроить систему так, чтобы при следующей перезагрузке выполнялась начальная конфигурация? (строки 813 - 850 файла rc.sysinit)
- Зачем используется программа mingetty?
- Что такое "сервис"? Как определить какие сервисы запускаются при загрузке системы? Как настроить сервис, чтобы он запускался при загрузке системы на определённый уровень? А как, чтобы он останавливался?
- Какие функции выполняет сервис crond? Что такое crontab? Как настроить сервис cron, чтобы каждый день запускался определённый процесс в системе автоматически?
- Расскажите назначение файла /etc/syslog.conf. Как определить какие сообщения будут записываться в какие файлы?
- Каким образом задать имя узла при загрузке системы?
Полезные ссылки
- Загрузка операционной системы Linux
- Linux Startup Manual
- Операционная система Linux. Глава 10. Этапы загрузки ОС.
- Файл inittab.
- Файл rc
- Файл rc.sysinit
- О редакторе sed и регулярных выражениях. [1], [2].
- Запуск задач по расписанию. Демон crond
- Ведение журналов системных событий. Процесс syslogd.