UNИX, осень 2007, 02 лекция (от 12 октября)

Материал из eSyr's wiki.

(Различия между версиями)
Перейти к: навигация, поиск

Версия 16:33, 20 ноября 2007

Предыдущая лекция | Следующая лекция

Официальная страница: http://uneex.cs.msu.su/uneex/LecturesLinuxSoft2007/01_FirstStep

Идея в том, чтобы человек не выслушивал наставления волосатого линуксоида, который и говорить-то не хочет, и смотрит на тебя как на одноклеточное, а в освоении большого набора знаний.

Что такое Линукс

Ещё лектор работает на вечерней матшколе, и там поставили темой ОС Линукс. Есть математика, физика и ОС Линукс. Пришло 30 человек, из них 20 хотят знать, что такое ОС Линукс. Один мальчик попался такой, 10 класс, сказал, что купил книжку по фрибсд, купил дистрибутив, и теперь по книжке занимаюсь. Почему эти лекции затеяны: раньше на подобные лекции были половина такие, которые готовы осваивать большой набор инйформации, и т д.


Перед тем, как рассуждать, что такое Линукс, зададимся вопросом, почему возникла такая ситуация, почему мы заинтересовались линуксом. Каждый человек, который скачивает линукс, должен задаться вопросом, «Зачем мне линукс». Ответов на него довольно много, и прямо сейчас лектор попробует на них ответить:

  • Было интересно. Мне интересно всё компьютерное, линукс это такая компьютерная штука, и мне это интересно. just for fun. Линукс --- штука интересная, в него интересно потыкать.
  • Для решения каких-то задач. Каких? Вот, мне сказали, что в Линуксе можно сделать так и так, и это просто, а иначе непросто, например, веб-сервера. И это так. Есть класс задач, которые разумнее, быстрее, ьезопаснее решать с помощью линукс и юниксоподобных систем
  • Хочу стать кем-то. Нужно повышаьт компьютерную грамотность, иначе меня не возьмут в системные администраторы... Дял повышения квалификации. Это очень важная тема, потому что, опять-таки, представляется разусными изучать ОС, программное обесп, разработку ПО изучать с помощью такой среды, где все эти пункты, на них не наложено никаких огрраничений. Вообще, на свободном ПО изучать всё удобно.
  • Обеспечение лицензионной частоты. Окзазывается, то, что стоит 70 рублей, стоит не 70 рублей, несчастных таскают по судам, прихходят прокурорские проверки... В нашем государстве работать со свободным ПО намного удобнее, чем с несвободным.

На каждый положительный ответ может найтись и отрицательный. Например, неинтересно, и компьютер решает огр. круг задач. Или задачи специфические. Или аллергия на знания. Или лицензионная чистота обеспечивается тратой большего количества денег.

А какой-такой, собственно, Линукс?

Это основной вопрос и про него говорить мы будем много. Пока его откладываем.

Какое железо под это потребуется?

Бывает такое железо, у которого пробелмы с Линуксом, бывает и такое специфическое железо, у которого проблемы с любой ОС.

Для изучения линукса нуден линукс, нудно желание его изучать и нужен компьютер.

Теперь обратить внимание, в каком порядке лектор выолжил вопросы. Сначала зачемЮ потом выбрать какой, подобрать апп. обесп. так, чтобы комфортно решать задачу. Практически всегда бывает наоборот: компьютер имеется, люди добывают какой-то линукс, и в итоге выясняется, что линукс этот применить никак нельзя. По уму от задач к железу, по факту наоборот.

По этой причине лекция тоже построена задом наперёд. Бдем решать проблемы по мере поступления.

Более или менее в правильном порядке лектор попытался на вопрос зачем, более подробно на каждый подпункт лектор отвечать не будет сейчас, и неизвестно, войдёт лиэто в курс.

Для начала, нужно ответить на вопрос: что такое Линукс? Существует много нечётких определений, что это такое, из них наиболее чётккое одно: Линукс --- ядро операционной системы. История появления ядра находится гуглением фразы just for fun. Ядро – та часть, которая обкспечивает доступ к ресурсам аппаратной части (внешние устройства и виртуальные ресурсы, которые реально есть, но физически их нет, процессорное время, вирт. память). По этой причине, те люди, которые исопльзуют линукс, вряд ли имеют в виду ядро. Поэтому ядро пока оставляется в стороне, и попробуем дать более неправильное, но и более подзодящее определние% если мы хотим иметь линукс,то мы хотим иметь ОС. Но бло бы глупо называть Линукс ОС. Было бы правильноее называть Линукс дистрибудитвом. И это в качестве определения это и возьмём: Линукс --- дистрибутив.


Дистрибутив --- нерусское слово, написанное русскими буквами, и значит набор программных продуктов, который позволяет сделать операционную систему на базе ядра Линукс на конкретном компьютере путём установки. Это узкое определение. Но, тем не менее, тот же дистрибутив офисных программ --- набор программ, из которых можно сделать офиснй пакет путём установки.

Теперь поговорим про дистрибутив. Теперь его опишем. Вот опопал в руки блин, или скачали исошник. Это набор. Набор программных продуктов. Очень смелое заявление --- с помощью этого набора можно сделать ОС. Звучит невероятно. Потомк что что такое ОС --- набор по, которе позволяет пользователю решать его пользовательские задачи.

Как бы сказать --- когда за 150 долларов покупаем Виндовз, получаем не ОС, не для конечного пользователя, я среду для запуска программ. Это --- ОС для системных интеграторов.

Тут же утверждается, что при помощи этого набора можно решить 95 процентов пользовательских задач.

Это значит, что в рюкзачке у лектора лежит десктопный дистрибутив, и на нём программ лежит много, даже больше, чем на пиратском диске. Вот на одном DVD --- 4000 программ (пакетов).

Далее, возникает вопрос. Кто авторы этого ПО? Например, Альт выпускает такой дистрибутив, что, он все эти программы написал? Множество авторов (upstream). Идея в чём: какие-то люди разрабатывают программные продукты, а сообщество дистрибутива занимается тем, что подгоняет эти программные продукты подгоняет под единую базу (оформление, гайдлайны, установка-удаление)

Да, дистрибутив это ещё у исатновка и манипуляция.

Если авторов множество, то очевидно, что какие-то авторы какого-то опенофиса или другого прогр. продукта не имеют желания адаптировать свои продукты под все триста дистров, это смерть на взлёте. Соответственно, должен найтись человек, который хочет пользоваться этим прогр. продуктом и этим дистрибутивом. Такой человек становится сопровождающим (мэнтейнером). Множество мэнтейнеров образуют team. Это совершенно необязательно значит, что за это получают деньги, деньги можно получать за то, что это работает. И, ещё, выпускающие (core team) --- команда, их интерес --- сделать хороший дистрибутив, и в очень многих случая х это --- работники компании. Хотя, существуют примеры очень успешных линукс-сообществ, core team которых не получают за это ни копейки.

На вопрос откуда берутся программы лектор ответил наполовину. Поскольку абсолютне непонятно, почему это легально. Вопрос --- где нас надули, почему это стоит 600 рублей, почему это может использоваться ещё в 300 дистрибутиывов, почему говорят, что это хорошо, ведь говорять, что убил бобра --- спас дерево. Возникает ещё один вопрос: что такое свободное ПО?

Ситуация очень простая. Существует очевидный зазор между распространением материальных объектов и информации. В первом случае можно отчитаться, что на изготавление 4 горшков было потрачено 4 кг глины, потрачено 4 часа горшечника.... Есть линейная зависимость:

  • 1 горшок = 1 глина + 1 труд
  • 1 000 горшок = 1 000 глина + 1 000 труд

С экономической точки зрения --- постоянная зависимость цены от объёма. С прогр. продуктами другая зависимость:

  • 1 копия = 1 диск + 1 труд программиста
  • 1 000 копия = 1 000 дисков + 1 труд программиста

Линейной зависимости нет, диски стоят копейки, и основные затраты в труде программиста, хотя сейчас всё уже зависит от пиарщика. Существует забавная ситуация, как этим воспользоваться: сделать вид, что второго нет, и программисты делают горшки: один диск стоит 150 долларов, 1000 дисков стоит 150 000 долларов.

Как это зарождалось: сидит такой программист, учёный, кудесник, занимается своими учёными делами, защищает диссертацию, пишет программы, даёт другим учёным исходный код. Это такой академический стиль разработки программ. Есть другой вариант: есть дистр, который решает круг задач, и чтобы этот дистр было другому человеку использовать, и если другой человек решит свои другие задачи с использованием этого дистрибутива, то будет обоюдная польза (решение задач и расш. возм. дистрибутива).

Если работает по первой схеме, то покупается за тысячи долларов программист, который умеет рисовать зайцев, его код --- собственность компании и больше никому

Правовладельцам выгодно как можно меньше распространять исходный код, в отличие от программиста.

И тут начался водораздел на два противополжных напр. разработки продуктов:

  • Закрытый. Любое расп. информации оценивается через пользу бищнесу и исх. код --- последнее, чем они могут поделиться. Очень узкий круг разработчиков. Каждый новый разработчик должен подписать NDA, и корпорация должна его прокормить от начала до конца. Такой способ выгоден правовладельцу. Правовладелец существует, есть некая персона, которая владеет всеми правами на программный продукт. Только в этом случае можно продавать ПО
  • Открытый. Главное --- распространение информации, в первую очередь --- исходного кода. Сообщество организуется очень большое, идея состоит в том, что чем больше людей и чем грамотнее они организуются, тем лучше. Не сущестьвует некоего человека или организации, нащываемой правовладельцем, которая обладает всеми правами. Даже наоборот, в лицензии может быть прописано, что при получении продукта передаются все неисключительные права.

Существует свободное ПО и правовладельцеское. Свободное на открытом способе разработки, правовлад – на закрытом, есть 4 условия (как недавно лектор выяснил, что есть две формулировки, одна лекторская, одна каноническая):

  • Свобода использования
  • Свобода распространения
  • Свобода изучения и внесения изменений (как следует, наличие исходного кода)
  • Распространение изменённых версий --- это именно тот рычаг, коотрый приводит весь механизм в действие, то есть, если кто-то захочет сделать лучше, у него не будет преград

Именно при обесп. этих 4 требований может быть разработка эффективной.

У этого определения существует один изъян: я беру программу, я человек, чотокрый желает раздавать программы как горшки, но я не хочу писать программу, я беру свободную программу, что-то хакаю, и закрыто продаю. Это разрешено 4 степенями свободы с лёгкостью. Пожтому во многих лицензиях в дополнение к этим 4 степеням приписывают одно огрничение: когда вы занимаетесь распространением с исп. GPL'ного продукта, то лицензия на расп. ПО должна быть не хуже GPL.

В прошлый раз возник вопрос о сущности Free Software и OpenSource. Лектор утверждал, что OpenSource включает FreeSoftware, Никита обратное. И действительно, лектор сегодня зашёл на osi.org и выяснил, что прав он, там действительно 10 пунктов. --- ещё один пункт (см. прошлую лекцию)

Кроме СОПО, казахстанским братья ещё 1000 долларов башляют.

Впопрос об адекватной и эффективной модели ведения бизнеса на базе опен-сорс.

Третий пункт: линукс это сообщество. Этот пункте не мешает иметь в голове всем нам, когда изучаем линукс. Если в случае с вордом это буковки в окне о программе, то в случае с линуксом авторы не просто есть, а одна из них обязанностей --- исправлять программу, кроме того, есть пласт пользователей... И при использовании линукса нжуно включиться в сообщество (не нужно при этом по 5 часов заниматься этим линуксом добровольно-принудительно). Кроме того, в сообщество все эти люди пришли, и они пришли, потому что им надо, и им совсем не пофигу, если вы нашли ошибку, и сказали на ней, что отличается от закрытой модели.

Коротко про оставшиеся вопросы:

  • Выбор дистрибутива. Что-то вроде домашнего задания. Даватй не будем решать вопрос, какой дистрибутив нужен, мы можем составить список задач, пойти на distwatch.com, и посмотреть, как идёт жизнь дистрибутивов, какие дистрибутивы бывают. Подсказка: одного дистрвотч недостаточно (см. информацию по альту). Тем не менее, это хороший ресурс. Выбор --- какой понравится.
  • Пойдём с другой стороны --- какие бывают дистрибутивы?
    • Не хотим сносить ту систему, которая стоит на машине. Самый простой вариант --- live cd. Это дистр. линукс, который уже установлен внутри некоей вирт. ФС внутри сидюка, которая при запуске разворачивается частично в память, частично на сидюке. Таких дистров много, самый известный --- knoppix. В последнее время практически каждый дистр. имеет свой лив цд, часто с опцией установки. Недостатки: работает очень медленно, нужно довольно много памяти, проблемы с настройкой (есть вариант LiveFlash)
    • Двухсистемная машина. Нескложно установить две ОС на один компьютер. Придётся постоянно перегружаться. Нужно достаточно хорошо понимать, что такое разметка диска. /* а ещё нужно отказаться от гибернейта --- комментарий мой */
    • Всё снести, поставить линукс.
    • Эмулятор. VMWare, VirtualBox. Работает довольно медленно и как-то неправильно.

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


UNИX, осень 2007


01 02 03 04 05 06 07 08 09 10 11


Календарь

Октябрь
05 12 19 26
Ноябрь
02 09 16 23 30
Декабрь
07 14

Экзамены
21 декабря: информация, конспект
11 января: информация, конспект, быстрые вопросы


Эта статья является конспектом лекции.

Эта статья ещё не вычитана. Пожалуйста, вычитайте её и исправьте ошибки, если они есть.
Личные инструменты
Разделы