Программное обеспечение Linux

По итогам разговора на тему «какой спецкурс по Linux нам нужен» была выработана такая концепция. Linux распространяется всё шире и шире, так что большинство тех, кто видит его впервые, почти не представляют, с чем они имеют дело. Это принципиально новое положение дел: раньше знакомство с Linux было следствием как минимум знакомства с Linux-оидом, а возможно и активной просветительской деятельности со стороны этого нового знакомого :) .

Вот вам и концепция: «Мне сказали, что у меня — Linux! Что мне теперь делать?»

В каждой лекции предполагается не только информация для совсем неподготовленного пользователя, но и более глубокие сведения для пользователя «продвинутого». Linux — огромное пространство для изучения, хватит на всех.

По субъективным причинам развёрнутые планы лекций пока не готовы.

Об экзамене

Я очень хочу избежать разговора с незнакомыми людьми на не интересующие их темы. Для того, чтобы такой разговор побыстрее прекратить, я попрошу каждого максимально кратко ответить на один-два вопроса. Ответившие неверно освобождаются от сдачи экзамена досрочно и безо всякой оценки. С остальными пойдёт разговор более глубокий.

Материалы к лекциям

При подготовке к экзамену стоит стоит обратить внимание на:

  1. лекции «Дистрибутивы Linux»: http://uneex.cs.msu.su/uneex/LecturesDistro2006

  2. учебник «Введение в OC Linux»: http://heap.altlinux.ru/alt-docs/textbooks/LinuxIntro.george/index.html

  3. конспект, сделанный Евгением Сыромятниковым: http://esyr.nizm.ru/wiki/index.php/UN%D0%98X%2C_%D0%BE%D1%81%D0%B5%D0%BD%D1%8C_2007 . <!> Конспект вёлся методом прямого набора текста в процессе лекции, я его не вычитывал.

Вопросы

Вопросы, подразумевающие короткий ответ, отмечены {*} и набраны полужирным шрифтом. Если в вопросе присутствует часть, на которую можно ответить только длинно, она набрана обычным шрифтом.

Свободное ПО

  1. {*} Свойство безущербного копирования ПО и его последствия.

  2. {*} Что такое «свободное ПО»?

  3. {*} Что такое «копилефт» (copyleft) и для чего он нужен?

  4. «Лицензии» и российское законодательство: передача неисключительных имущественных прав
  5. {*} Почему в хранилище так много программ?

  6. Причины несовместимости аппаратного обеспечения с Linux.
  7. Различие (в плане наполнения ПО) дистрибутивов свободных и правовладельческих (проприетарных) ОС.

Особенности Linux

  1. Зачем обычному человеку Linux?
  2. Варианты использования Linux: LiveCD, двухсистемная установка, установка в виртуальную машину, «чистый» Linux
  3. Зачем нужны пользователи Linux-системы? Что такое и зачем нкжен суперпользоватеь (root)?
  4. {*} FHS: что такое и какая от него польза?

  5. LILO, карта размещения; недостатки организации загрузки с помощью карты размещения
  6. {*} Сколько программных продуктов входит в типичный «большой» дистрибутив Linux (порядок)?

Linux как операционная система

  1. Межсетевой экран (firewall) в Linux: где находится и почему нет простого интерфейса для простого пользователя? А зачем тогда такой интерфейс есть в Windows?
  2. {*} Разбиение диска на разделы. Чем отличается основной (primary) раздел диска от дополнительного (secondary)? Именование разделов в Linux.

  3. Этапы досистемной загрузки; BootROM → BootBlock → BootProg → Kernel

  4. Стартовый виртуальный диск (initrd)
  5. Что такое «дистрибутив операционной системы»?
  6. Что такое «операционная» система (ОС)? Что такое «ядро ОС»?

Linux: технология и сообщество

  1. Три возможных определения «Linux»: ядро, дистрибутив, сообщество
  2. Сообщество: ядро → разработчики → пользователи; роль информационной связности
  3. Хранилище свободного ПО: репозиторий → стабильная ветка → дистрибутив
  4. {*} Что такое «сопровождающий» (maintainer)?

  5. Что (по минимуму) нужно знать перед началом работы с Linux?
  6. Что нужно знать для настройки сети?
  7. Что нужно сделать с разделами на диске, чтобы можно было установить Linux?

Пакеты

  1. Как программный продукт, написанный немцем и чехом, попадает в турецкий дистрибутив Linux?
  2. Пакет: архив, регистрация в системе, служебные сценарии, зависимости, конфликты и альтернативы
  3. {*} Что такое «зависимость пакетов», откуда берутся зависимости и какая от них польза?

  4. Функции диспетчера пакетов (apt).
  5. Функции установщика пакетов (rpm).
  6. Понятие о сборке пакета из исходников (src.rpm); почему это проще, чем сборка авторского ПО?
  7. Правила гигиены при установке стороннего ПО (По не из хранилища) в Linux

Настройка

  1. Плоский и размеченный текст, сферы применения. Понятие «человекоприемлемости» (human readable и human writeable)
  2. Задание профиля системы с помощью /etc/: пространство имён, правила ориентации в этом пространстве, гибкость представления данных

  3. Что и почему является эффективным инструментом модификации «профиля системы»: набора конфигурационных файлов в /etc/?

  4. Области, в которых приложения-«конфигураторы» эффективнее текстовой обработки данных в конфигурационном файле
  5. Проблемы построения «общего конфигуратора системы»; что предлагается вместо него?
  6. Системные и пользовательские настройки. Реализован ли в Linux «перемещаемый профиль»?

Рабочий стол

  1. {*} Связь графической подсистемы (X.Org) и Linux. Что такое «X11»?

  2. X-клиент и X-сервер. Примеры виртуальных X-серверов
  3. Компоненты «рабочего стола». Окновод (window manager)
  4. Использование различных (или одних и тех же) интерфейсных библиотек в приложениях: достоинства и недостатки
  5. Оконная организация интерфейса: понятие окна, потока событий, фокуса; зачем это всё понадобилось?
  6. Проблемы интеграции «рабочего стола» и системы: старт/останов приложения, документация, внешние носители, печать и т. п.
  7. Freedesktop.org: введение стандартов на устройство рабочего стола

Информационное пространство Linux

  1. Проблема познавательной пассивности; почему она особенно остра для Linux?
  2. Первый эшелон документации: manual pages, info; различия между man и info.
  3. Второй эшелон документации: «документация к дистрибутиву» (зачем нужна? что, man-ов недостаточно?) и /usr/share/doc

  4. Третий информационный эшелон: информационные сайты сообщества; какие они бывают?
  5. Четвёртый информационный эшелон: гугл - твой другл.
  6. Коллективный разум: списки рассылки; как правильно задавать вопрос?
  7. Обратная связь с разработчиками: как организована и зачем она пользователю?

Особенности ПО под Linux

  1. Какое нам дело до открытых стандартов? Определение и пример открытого стандарта.
  2. Поддержка аудио и видеокодеков в свободном ПО.
  3. {*} Принципиальное отличие Jabber от ICQ и прочих IM.

  4. Программная и интерактивная обработка растровых изображений.
  5. Программное и интерактивное построение графов и диаграмм.
  6. Свободное ПО и IP-телефония.
  7. С каким видом ПО можно ожидать наибольшие трудности под Linux?

LecturesLinuxSoft2007 (last edited 2008-06-04 08:20:37 by localhost)