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

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

(Различия между версиями)
Перейти к: навигация, поиск
(чётккое - - GenShen)
(у установка - --GenShen)
Строка 53: Строка 53:
Это значит, что в рюкзачке у лектора лежит десктопный дистрибутив, и на нём программ лежит много, даже больше, чем на пиратском диске. Вот на одном DVD --- 4000 программ (пакетов).
Это значит, что в рюкзачке у лектора лежит десктопный дистрибутив, и на нём программ лежит много, даже больше, чем на пиратском диске. Вот на одном DVD --- 4000 программ (пакетов).
-
Да, дистрибутив это ещё у установка и манипуляция.
+
Да, дистрибутив это ещё установка и манипуляция.
== Linux - это сообщество ==
== Linux - это сообщество ==

Версия 09:03, 10 января 2008

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

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

Содержание

Что такое Linux

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

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

Зачем Linux

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

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

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

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

Какое железо под это потребуется? Бывает такое железо, у которого проблемы с Linux'ом, бывает и такое специфическое железо, у которого проблемы с любой ОС.

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

О порядке изложения

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

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

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

Что такое Linux

Для начала, нужно ответить на вопрос: что такое Linux?

Linux - это ядро ОС

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

Linux - это дистрибутив

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

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

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

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

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

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

Linux - это сообщество

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

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

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

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

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

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

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


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 января: информация, конспект, быстрые вопросы


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

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