
- •Unix: учебный курс Алексей Федосеев
- •Несколько слов об этом курсе
- •Методические рекомендации Введение для лектора
- •Порядок изучения материалов
- •Часть I. Лекции Глава 1. Введение в операционную систему unix
- •Основные концепции операционных систем Обзор компьютерных систем
- •Назначение операционной системы
- •Операционная система как виртуальная машина
- •Операционная система как менеджер ресурсов
- •Архитектура операционной системы
- •Монолитная операционная система
- •Микроядерная операционная система
- •Место unix в истории вычислительных систем
- •Что было до операционных систем
- •Операционные системы для мэйнфреймов
- •Появление операционной системы unix
- •Развитие операционных систем в глобальных сетях
- •Операционные системы для персональных компьютеров
- •Операционные системы для встраиваемых систем
- •Такой разный unix
- •Классификация операционных систем по назначению
- •Дополнительные материалы
- •Вопросы
- •Презентация
- •Архитектура unix. Файлы и устройства Особенности архитектуры unix
- •Два кита unix: файлы и процессы
- •Беглый взгляд на архитектуру unix
- •Ядро unix
- •Файловая система unix
- •Особенности файловой системы
- •Виртуальная файловая система
- •Дерево каталогов
- •Устройства и драйверы
- •Дополнительные материалы
- •Вопросы
- •Презентация
- •Архитектура unix. Процессы
- •Управление памятью
- •Управление процессами
- •Контекст процесса
- •Планирование процессов
- •Создание новых процессов
- •Процессы и потоки
- •Межпроцессное взаимодействие
- •Разделяемая память
- •Переменные окружения
- •Сигналы
- •Дополнительные материалы
- •Вопросы
- •Презентация
- •Глава 2. Использование unix
- •Терминал и командная строка
- •Терминал
- •Управляющие символы
- •Одновременный доступ к системе
- •Командная строка
- •Командная оболочка
- •Приглашение
- •Команды
- •Параметры
- •Шаблоны
- •Перенаправление ввода и вывода
- •Программное окружение
- •Стандартные переменные окружения
- •Служебные символы
- •Процесс выполнения команды
- •Возвращаемое значение
- •Эффективное использование командной строки
- •Редактирование командной строки
- •История команд
- •Автодополнение
- •Средства объединения команд
- •Справочная подсистема
- •Страницы руководства
- •Поиск по руководствам
- •Программа info
- •Документация, поставляемая с программой
- •Интегрированные системы документации
- •Дополнительные материалы
- •Вопросы
- •Презентация
- •Введение в безопасность unix
- •Основы информационной безопасности
- •Политика безопасности
- •Управление доступом
- •Аутентификация и авторизация
- •Концепции безопасности unix
- •Пользователи и группы
- •Права доступа
- •Разделяемые каталоги
- •Подмена идентификатора процесса
- •Ограничения базовой модели доступа и её расширения
- •Суперпользователь
- •Аутентификация пользователей
- •Управление пользователями и правами доступа База данных пользователей системы
- •Изменение базы данных пользователей
- •Изменение прав доступа
- •Ограничения сеанса пользователя
- •Дополнительные материалы
- •Вопросы
- •Презентация
- •Сеть в unix
- •Введение в сети
- •Семиуровневая модель osi
- •Физический уровень
- •Канальный уровень
- •Сетевой уровень
- •Протоколы Internet: tcp/ip
- •Сетевой интерфейс в unix
- •Конфигурация ip-сетей Сетевой адрес
- •Маршрутизация
- •Служебный протокол icmp
- •Информация о соединениях
- •Настройка сети при загрузке системы
- •Службы Internet Служба доменных имён
- •Удалённый терминал
- •Прокси-серверы
- •Межсетевой экран
- •Концепции iptables
- •Дополнительные материалы
- •Вопросы
- •Презентация
- •Глава 3. Базовое администрирование unix
- •Управление службами
- •Загрузка операционной системы Этапы загрузки системы
- •Процесс init
- •Конфигурационный файл init
- •Различия в загрузке unix-подобных систем
- •Системы, наследующие System V
- •Системы, наследующие bsd
- •Системы со смешанной схемой загрузки
- •Системные службы
- •Запуск и остановка служб
- •Автоматическая загрузка служб
- •Какие бывают службы
- •Служба планирования заданий
- •Конфигурация планировщика заданий
- •Запуск программ
- •Сетевые службы
- •Мониторинг и журналирование
- •Служба системного журнала
- •Основные системные журналы
- •Ротация системных журналов
- •Мониторинг пользователей
- •Дополнительные материалы
- •Вопросы
- •Презентация
- •Управление программным обеспечением
- •Управление программным обеспечением: роли и задачи Основные роли в создании и использовании по
- •Задачи системы управления программным обеспечением
- •Формы распространения программного обеспечения в двоичной форме или в исходных текстах?
- •Сборочные процедуры как средство управления по
- •Дистрибутивы
- •Дистрибутивы, основанные на сборке программ из исходных текстов
- •Дистрибутивы, основанные на двоичных пакетах
- •Управление пакетами
- •Задачи менеджера пакетов
- •Менеджер пакетов rpm
- •Работа с репозитариями пакетов: apt
- •Источники программ (репозитории)
- •Дополнительные материалы
- •Вопросы
- •Презентация
- •Часть II. Практические занятия
- •Глава 4. Практические занятия по командам unix
- •Методические указания по основным командам unix
- •Команды по работе с файловой системой
- •Команды по работе с текстом
- •Команды, использующие регулярные выражения
- •Практическое занятие. Работа с файлами в unix
- •Сценарий: Знакомство с каталогами unix
- •Сценарий: Изучение типов файлов в unix
- •Сценарий: Поиск системных журналов
- •Сценарий: Архивирование и деархивирование файлов и каталогов
- •Сценарий: Cоздание новых текстовых файлов
- •Сценарий: Разрезание и склеивание файлов
- •Сценарий: Быстрый анализ текстов
- •Сценарий: Поиск строк по регулярным выражениям
- •Задания для самоподготовки
- •Сценарии практического занятия на тему: Работа с файлами в unix
- •Методические указания по командам управления системой в unix Команды получения сведений о системе
- •Команды по работе с процессами
- •Практическое занятие. Сбор сведений о системе и управление процессами
- •Сценарий: Сбор сведений о системе
- •Сценарий: Управление процессами с помощью сигналов
- •Сценарий: Выполнение задач в фоновом режиме
- •Сценарий: Запуск демонов
- •Сценарий: Изменение приоритетов выполняющихся программ
- •Задания для самоподготовки
- •Сценарии практического занятия на тему: Сбор сведений о системе и управление процессами
- •Глава 5. Практическое занятие по безопасности unix
- •Методические указания по командам управления безопасностью в unix Команды по управлению правами
- •Команды по управлению пользователями
- •Практическое занятие. Управление доступом. Управление пользователями Сценарий: Вход в систему и завершение сеанса
- •Сценарий: Изучение базовых прав доступа
- •Сценарий: Переход в режим суперпользователя
- •Сценарий: Изучение базы данных пользователей
- •Сценарий: Добавление и удаление пользователей
- •Задания для самоподготовки
- •Сценарии практического занятия на тему: Управление доступом. Управление пользователями
- •Глава 6. Практические занятия по сетям в unix
- •Методические указания по командам управления сетью в unix Команды по конфигурированию сети
- •Команды по диагностике сети
- •Сценарий: Настройка таблицы маршрутизации
- •Сценарий: Изучение службы доменных имён
- •Сценарий: Простая диагностика работы сети
- •Сценарий: Работа по удалённому терминалу
- •Задания для самоподготовки
- •Сценарии практического занятия на тему: Управление сетью
- •Практическое занятие. Расширенная диагностика и настройка сети
- •Сценарий: Сканирование локальной сети
- •Сценарий: Сканирование удалённых хостов
- •Сценарий: Настройка сетевого экрана
- •Задания для самоподготовки
- •Сценарии практического занятия на тему: Расширенная диагностика и настройка сети
- •Глава 7. Обзор прикладных программ
- •Программы сетевого обмена sendmail: программа отправления почты
- •Параметры команды
- •Wget: консольный загрузчик файлов
- •Параметры команды
- •Настройка
- •Глава 8. Практические занятия по базовому администрированию unix
- •Методические указания по командам управления службами и журналами Текстовые редакторы
- •Рабочий экран
- •Управляющие клавиши
- •Встроенные команды
- •Настройка
- •Рабочий экран
- •Управляющие клавиши
- •Встроенные команды
- •Настройка
- •Режимы работы
- •Команды по управлению службами
- •Команды по мониторингу пользователей
- •Практическое занятие. Управление службами
- •Сценарий: Загрузка системы
- •Команды по работе с репозитарием пакетов
- •Установка или обновление пакета
- •Удаление установленного пакета
- •Обновление всех установленных пакетов
- •Поиск пакетов
- •Приложение a. Список вопросов
Unix: учебный курс Алексей Федосеев
Linux User Group МГТУ им. Н.Э. Баумана
<aleksey@fedoseev.net>
Copyright © 2005, 2006 Алексей Федосеев
Обращаю внимание читателей на то, что этот текст распространяется под свободной лицензией GNU Free Documentation License (FDL).
Содержание
Несколько слов об этом курсе
Методические рекомендации
I. Лекции
1. Введение в операционную систему UNIX
Основные концепции операционных систем
Обзор компьютерных систем
Назначение операционной системы
Архитектура операционной системы
Место UNIX в истории вычислительных систем
Классификация операционных систем по назначению
Резюме
Дополнительные материалы
Вопросы
Презентация
Архитектура UNIX. Файлы и устройства
Особенности архитектуры UNIX
Файловая система UNIX
Устройства и драйверы
Резюме
Дополнительные материалы
Вопросы
Презентация
Архитектура UNIX. Процессы
Управление памятью
Управление процессами
Межпроцессное взаимодействие
Резюме
Дополнительные материалы
Вопросы
Презентация
2. Использование UNIX
Терминал и командная строка
Терминал
Командная строка
Эффективное использование командной строки
Справочная подсистема
Резюме
Дополнительные материалы
Вопросы
Презентация
Введение в безопасность UNIX
Основы информационной безопасности
Концепции безопасности UNIX
Управление пользователями и правами доступа
Резюме
Дополнительные материалы
Вопросы
Презентация
Сеть в UNIX
Введение в сети
Сетевой интерфейс в UNIX
Конфигурация IP-сетей
Службы Internet
Межсетевой экран
Резюме
Дополнительные материалы
Вопросы
Презентация
3. Базовое администрирование UNIX
Управление службами
Загрузка операционной системы
Системные службы
Мониторинг и журналирование
Резюме
Дополнительные материалы
Вопросы
Презентация
Управление программным обеспечением
Управление программным обеспечением: роли и задачи
Формы распространения программного обеспечения
Управление пакетами
Резюме
Дополнительные материалы
Вопросы
Презентация
II. Практические занятия
4. Практические занятия по командам UNIX
Методические указания по основным командам UNIX
Команды по работе с файловой системой
Команды по работе с текстом
Резюме
Дополнительные материалы
Практическое занятие. Работа с файлами в UNIX
Сценарий: Знакомство с каталогами UNIX
Сценарий: Изучение типов файлов в UNIX
Сценарий: Поиск системных журналов
Сценарий: Архивирование и деархивирование файлов и каталогов
Сценарий: Cоздание новых текстовых файлов
Сценарий: Разрезание и склеивание файлов
Сценарий: Быстрый анализ текстов
Сценарий: Поиск строк по регулярным выражениям
Задания для самоподготовки
Сценарии практического занятия на тему: Работа с файлами в UNIX
Методические указания по командам управления системой в UNIX
Команды получения сведений о системе
Команды по работе с процессами
Резюме
Дополнительные материалы
Практическое занятие. Сбор сведений о системе и управление процессами
Сценарий: Сбор сведений о системе
Сценарий: Управление процессами с помощью сигналов
Сценарий: Выполнение задач в фоновом режиме
Сценарий: Запуск демонов
Сценарий: Изменение приоритетов выполняющихся программ
Задания для самоподготовки
Сценарии практического занятия на тему: Сбор сведений о системе и управление процессами
5. Практическое занятие по безопасности UNIX
Методические указания по командам управления безопасностью в UNIX
Команды по управлению правами
Команды по управлению пользователями
Резюме
Дополнительные материалы
Практическое занятие. Управление доступом. Управление пользователями
Сценарий: Вход в систему и завершение сеанса
Сценарий: Изучение базовых прав доступа
Сценарий: Переход в режим суперпользователя
Сценарий: Изучение базы данных пользователей
Сценарий: Добавление и удаление пользователей
Задания для самоподготовки
Сценарии практического занятия на тему: Управление доступом. Управление пользователями
6. Практические занятия по сетям в UNIX
Методические указания по командам управления сетью в UNIX
Команды по конфигурированию сети
Команды по диагностике сети
Команды удалённого терминала
Команды по управлению сетевым экраном
Резюме
Дополнительные материалы
Практическое занятие. Управление сетью
Сценарий: Настройка сетевого интерфейса
Сценарий: Настройка таблицы маршрутизации
Сценарий: Изучение службы доменных имён
Сценарий: Простая диагностика работы сети
Сценарий: Работа по удалённому терминалу
Задания для самоподготовки
Сценарии практического занятия на тему: Управление сетью
Практическое занятие. Расширенная диагностика и настройка сети
Сценарий: Сканирование локальной сети
Сценарий: Сканирование удалённых хостов
Сценарий: Настройка сетевого экрана
Задания для самоподготовки
Сценарии практического занятия на тему: Расширенная диагностика и настройка сети
7. Обзор прикладных программ
Программы сетевого обмена
sendmail: программа отправления почты
wget: консольный загрузчик файлов
8. Практические занятия по базовому администрированию UNIX
Методические указания по командам управления службами и журналами
Текстовые редакторы
Команды по управлению системой
Команды по управлению службами
Команды по мониторингу пользователей
Резюме
Дополнительные материалы
Практическое занятие. Управление службами
Сценарий: Загрузка системы
Сценарий: Системные службы: запуск и остановка
Сценарий: Уровни выполнения системы
Сценарий: Остановка и перезагрузка системы
Сценарий: Использование службы планировщика заданий
Сценарий: Системные журналы
Сценарий: Мониторинг пользователей
Задания для самоподготовки
Сценарии практического занятия на тему: Управление службами
Методические указания по командам управления программным обеспечением
Программы сборки и установки программ
Команды по работе с репозитарием пакетов
Резюме
Дополнительные материалы
Практическое занятие. Управление программным обеспечением
Сценарий: Установка программы из исходных текстов
Сценарий: Получение информации о пакетах
Сценарий: Установка и удаление пакетов
Сценарий: Работа с репозитарием
Задания для самоподготовки
Сценарии практического занятия на тему: Управление программным обеспечением
III. Дополнительные материалы
9. Графическая подсистема UNIX
IV. Материалы к зачёту
10. Заключение
A. Список вопросов
B. Список заданий для самоподготовки
Список иллюстраций
1. Варианты прохождения курса
1.1. Компоненты компьютерных систем
1.2. Пример пcевдопараллелизма
1.3. Иерархия видов памяти
1.4. Уровни вычислительной системы
1.5. Структура монолитного ядра операционной системы
1.6. Структура операционной системы с микроядром
1.7. Презентация 1-01: обзор компьютерных систем
1.8. Презентация 1-02: центральный процессор
1.9. Презентация 1-03: память
1.10. Презентация 1-04: управление вводом-выводом
1.11. Презентация 1-05: Операционная система
1.12. Презентация 1-06: виртуальная машина
1.13. Презентация 1-07: управлнение ресурсами
1.14. Презентация 1-08: архитектура операционной системы
1.15. Презентация 1-09: монолитное ядро
1.16. Презентация 1-10: микроядро
1.17. Презентация 1-11: история операционных систем
1.18. Презентация 1-12: классификация операционных систем
1.19. Презентация 1-13: резюме
1.20. Архитектура операционной системы UNIX
1.21. Ядро операционной системы UNIX
1.22. Индексная файловая система UNIX
1.23. Пример жесткой ссылки
1.24. Пример символьной ссылки
1.25. Виртуальная файловая система
1.26. Стандартные каталоги в файловой системе UNIX
1.27. Взаимодействие с устройством через файл
1.28. Презентация 2-01: основные концепции UNIX
1.29. Презентация 2-02: беглый взгляд на архитектуру UNIX
1.30. Презентация 2-03: ядро UNIX
1.31. Презентация 2-04: файловая система UNIX
1.32. Презентация 2-05: индексный узел
1.33. Презентация 2-06: виртуальная файловая система
1.34. Презентация 2-07: монтирование файловых систем
1.35. Презентация 2-08: стандарт на файловую систему
1.36. Презентация 2-09: устройства в UNIX
1.37. Презентация 2-10: резюме
1.38. Размещение страниц виртуальной памяти
1.39. Состояния процесса в UNIX
1.40. Схема планирования с кольцевой очередью
1.41. Схема планирования с кольцевой очередью и приоритетами
1.42. Создание нового процесса
1.43. Разделяемая память
1.44. Наследование переменных окружения
1.45. Пример использования сигнала SIGTERM
1.46. Использование сигналов при межпроцессном обмене
1.47. Неименованный канал между двумя процессами
1.48. Датаграммный и потоковый сокеты
1.49. Презентация 3-01: ядро UNIX
1.50. Презентация 3-02: управление памятью
1.51. Презентация 3-03: контекст процесса
1.52. Презентация 3-04: планирование процессов
1.53. Презентация 3-05: создание новых процессов
1.54. Презентация 3-06: межпроцессное взаимодействие
1.55. Презентация 3-07: разделяемая память
1.56. Презентация 3-08: переменные окружения
1.57. Презентация 3-09: сигналы
1.58. Презентация 3-10: каналы
1.59. Презентация 3-11: сокеты
1.60. Презентация 3-12: резюме
2.1. Виртуальные и графические консоли
2.2. Интерфейс командной строки
2.3. Запуск команды оболочкой
2.4. Презентация 4-01: терминал и командная строка
2.5. Презентация 4-02: одновременный доступ к системе
2.6. Презентация 4-03: формат команды
2.7. Презентация 4-04: программное окружение
2.8. Презентация 4-05: служебные символы
2.9. Презентация 4-06: исполнение команды
2.10. Презентация 4-07: возвращаемое значение
2.11. Презентация 4-08: возможности командной оболочки
2.12. Презентация 4-09: средства объединения команд
2.13. Презентация 4-10: справочная подсистема
2.14. Презентация 4-11: страницы руководств (man)
2.15. Презентация 4-12: резюме
2.16. Объект и субъект безопасности
2.17. Базовые права доступа в UNIX
2.18. Последовательнось проверки прав доступа в UNIX
2.19. Подмена идентификатора процесса
2.20. Регистрация пользователя в системе
2.21. Презентация 5-01: информационная безопасность
2.22. Презентация 5-02: политика безопасности
2.23. Презентация 5-03: управление доступом
2.24. Презентация 5-04: аутентификация и авторизация
2.25. Презентация 5-05: концепции безопасности UNIX
2.26. Презентация 5-06: последовательность проверки
2.27. Презентация 5-07: подмена идентификатора процесса
2.28. Презентация 5-08: суперпользователь
2.29. Презентация 5-09: вход пользователя в систему
2.30. Презентация 5-10: база данных пользователей
2.31. Презентация 5-11: ограничения сеанса пользователя
2.32. Презентация 5-12: резюме
2.33. Уровни ISO OSI
2.34. Соответствие стека TCP/IP модели OSI
2.35. Обработка пакета в iptables
2.36. Презентация 6-01: введение в сети
2.37. Презентация 6-02: взаимодействие открытых систем
2.38. Презентация 6-03: протоколы Internet: TCP/IP
2.39. Презентация 6-04: сетевой интерфейс в UNIX
2.40. Презентация 6-05: сетевой адрес
2.41. Презентация 6-06: маршрутизация
2.42. Презентация 6-07: протокол ICMP
2.43. Презентация 6-08: сетевые соединения
2.44. Презентация 6-09: служба доменных имён
2.45. Презентация 6-10: удалённый терминал
2.46. Презентация 6-11: межсетевой экран iptables
2.47. Презентация 6-12: резюме
3.1. Этапы загрузки ОС UNIX
3.2. Пример иерархии процессов в UNIX
3.3. Презентация 7-01: этапы загрузки системы
3.4. Презентация 7-02: процесс init
3.5. Презентация 7-04: системные службы
3.6. Презентация 7-05: системные службы: примеры
3.7. Презентация 7-06: служба планирования заданий
3.8. Презентация 7-07: сетевые службы
3.9. Презентация 7-08: служба системного журнала
3.10. Презентация 7-09: основные системные службы
3.11. Презентация 7-10: ротация системных журналов
3.12. Презентация 7-11: мониторинг пользователей
3.13. Презентация 7-12: резюме
3.14. Основные роли в процессе создания и использования ПО
3.15. Распространение ПО в двоичной форме
3.16. Распространение ПО в форме исходных текстов
3.17. Распространение ПО в форме портов/портежей
3.18. Распространение ПО в форме двоичных пакетов
3.19. Основные составляющие пакета
3.20. Пример зависимостей пакетов в системе
3.21. Презентация 8-01: основные роли при работе с ПО
3.22. Презентация 8-02: распространение ПО в двоичной форме и в исходных текстах
3.23. Презентация 8-03: виды дистрибутивов
3.24. Презентация 8-04: из чего состоит пакет
3.25. Презентация 8-05: зависимость и конфликт
3.26. Презентация 8-06: менеджер пакетов RPM
3.27. Презентация 8-07: название RPM-пакета
3.28. Презентация 8-08: Основные операции RPM
3.29. Презентация 8-09: работа с репозиторием
3.30. Презентация 8-10: резюме
Список примеров
2.1. Пример выполнения команды
2.2. Пример выполнения команды c параметром
2.3. Возвращаемое значение в программе на языке C
2.4. Пример файла /etc/passwd
2.5. Просмотр параметров сетевых интерфейсов (ifconfig)
2.6. Вывод таблицы маршрутизации (route)
2.7. Пример выполнения команды traceroute
2.8. Пример выполнения команды netstat
3.1. Пример файла /etc/inittab
3.2. Пример перезапуска службы
3.3. Пример файла /etc/crontab
3.4. Пример файла /etc/syslog.conf
3.5. Сборка и установка программы с помощью make
7.1. Отправление письма с помощью sendmail
8.1. Получение списка установленных пакетов
8.2. Получение пакета по имени файла
8.3. Получение информации о пакете
8.4. Получение информации о пакете