Лабораторная работа № 1. Знакомство с ОС Linux.

Прежде, чем начать выполнение лабораторной работы

  1. Изучите конфигурацию локальной сети, которую планируется настроить в ходе выполнения лабораторных работ.
  2. Познакомьтесь с основными принципами работы среды VirtualBox: запуск машин, переключение между машинами, завершение работы, создание снимков.
  3. Повторите материал (практикум "Операционные системы. Часть 1. Операционная система Linux"), связанный с:
    • работой с коммандной оболочкой и написанием скриптов;
    • управлением файловыми системами в ОС Linux (монтирование);
    • загрузкой операционной системы Linux;
    • использованием электронного справочника man.
  4. Прочитайте справочную информацию по использованию следующих команд:

Задание на лабораторную работу

  1. Запустите host1.
    1. Зарегистрируйтесь в системе под учетной записью администратора (пользователь - root, пароль - qwerty).
    2. Определите каким образом сконфигурирована корневая файловая система (команда mount) и сколько имеется свободного места (команда df) в каждой точке монтирования.
    3. В домашнем каталоге администратора найдите папку RPMS и посмотрите её содеримое. Сколько там файлов? И что это за файлы?
    4. Изучите принцип работы средства управления пакетами RPM. Установите пакеты mc, dhcp, postfix. Получите информацию о пакете talk. Удалите пакет talk из системы. Сохраните список установленных пакетов в файле ~/RPMS/list_rmps.
    5. Изучите файл /etc/inittab. Определите какой уровень загрузки используется по умолчанию (параметр initdefault)? Сколько виртуальных терминалов сконфигурировано по умолчанию и какая программа на них запускается первой?
    6. Просмотрите файл начальной настройки системы (/etc/rc.d/rc.sysinit). Отредактируйте его таким образом, чтобы при каждом запуске системы вместо фразы "Welcome to CentOS", выводилось "Welcome to CentOS on host1 in my super network"*.
    7. Определите как используются файлы /etc/rc*.d/* при изменении уровня загрузки операционной системы (файл /etc/rc.d/rc).
    8. Изучите содержимое каталога /etc/sysconfig.
  2. На всех узлах сети.
    1. Измените приглашение, выводимое перед фразой login так, чтобы выводилось названия узла в виде больших букв (для генерации символов можно использовать ascii art generator или использовать содержимое файла ~/hosts_banners). Пример см. тут. Для того, чтобы изменить приглашение, выводимое при аутентификации пользователя, прочитайте справочную информацию для mingetty.
    2. Настройте приглашение коммандной строки, выводимой администратору так, чтобы в ней выдавалось имя узла зелёным цветом. Информацию о управляющих последовательностях терминала можно посмотреть в практикуме по курсу "Организация ЭВМ и систем".
    3. Определите какие сервисы запущены на узле (команда chkconfig). Включите сервисы crond и syslog таким образом, чтобы они автоматически запускались при загрузке системы на уровень 3. Проверте какие файлы созданы в каталоге /etc/rc3.d/.
    4. Настройте таблицу crontab так, чтобы каждый десять минут запускался скрипт, который выводил список запущенных процессов в системе в файл /tmp/ps_list.
    5. Изучите содержимое файла /etc/syslog.conf. Где записываются события, происходящие в системе? Что содержится в файле /var/log/messages?
    6. Измените файл /etc/sysconfig/network таким образом, чтобы при загрузке каждому узлу назначалось соответсвующее имя.

Контрольные вопросы

  1. Каким образом происходит регистрация пользователей в системе? Где хранится информация о пользователях?
  2. Что делает комманда mount? Зачем используется файл /etc/fstab?
  3. Как определить сколько свободно места на носителе информации? А как посмотреть сколько занимают данные?
  4. Зачем используется RPM? Как с её помощью можно установить, удалить, обновить пакеты и посмотреть какие пакеты уже установлены в системе, получить детальное описание какого-либо пакета?
  5. Как происходит загрузка операционной системы Linux?
  6. Процесс init. Какие функции выполняет? Когда и кем (чем) он запускается?
  7. Зачем используется файл inittab? Как описывается процесс загрузки с помощью этого файла? Объясните строки 45-50 файла inittab.
  8. Что такое уровень загрузки ОС Linux?
  9. Что происходит в файле rc.sysinit в строке 371? Опишите назначение утилиты sysctl.
  10. Каково назначение каталогов /etc/rc*.d?
  11. Зачем используются скрипты /etc/rc*.d/*?
  12. Где задаются целые значения, идущие после символов K и S файлов /etc/rc.d/rc*.d? Что они означают?
  13. Что содержит каталог /etc/sysconfig? Как и для чего используется информация из этого каталога в файле rc.sysinit (например, строка 404)?
  14. Каким образом можно настроить систему так, чтобы при следующей перезагрузке выполнялась начальная конфигурация? (строки 813 - 850 файла rc.sysinit)
  15. Зачем используется программа mingetty?
  16. Что такое "сервис"? Как определить какие сервисы запускаются при загрузке системы? Как настроить сервис, чтобы он запускался при загрузке системы на определённый уровень? А как, чтобы он останавливался? 
  17. Какие функции выполняет сервис crond? Что такое crontab? Как настроить сервис cron, чтобы каждый день запускался определённый процесс в системе автоматически? 
  18. Расскажите назначение файла /etc/syslog.conf. Как определить какие сообщения будут записываться в какие файлы?
  19. Каким образом задать имя узла при загрузке системы?

Полезные ссылки