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

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

(Различия между версиями)
Перейти к: навигация, поиск
м (Linux — это ядро ОС)
 
(17 промежуточных версий не показаны.)
Строка 2: Строка 2:
'''Официальная страница:''' http://uneex.cs.msu.su/uneex/LecturesLinuxSoft2007/01_FirstStep
'''Официальная страница:''' http://uneex.cs.msu.su/uneex/LecturesLinuxSoft2007/01_FirstStep
 +
<br />'''Тема лекции:''' Что такое Linux
-
Идея в том, чтобы человек не выслушивал наставления волосатого линуксоида, который и говорить-то не хочет, и смотрит на тебя как на одноклеточное, а в освоении большого набора знаний.
+
Идея состоит в том, чтобы человек не выслушивал наставления волосатого линуксоида, который и говорить-то не хочет, и смотрит на тебя как на одноклеточное, а в освоении большого набора знаний.
-
Что такое Линукс
+
<div class="comment">Ещё лектор работает на вечерней математической школе, и там поставили темой ОС Linux. Есть математика, физика и ОС Linux. Пришло 30 человек, из них 20 хотят знать, что такое ОС Linux. Один мальчик попался такой, 10 класс, сказал, что купил книжку по FreeBSD, купил дистрибутив, и теперь по книжке занимается. Почему эти лекции затеяны: раньше на подобных лекции половина была подобна этому мальчику, которы были готовы осваивать большой набор информации, и т д.</div>
-
Ещё лектор работает на вечерней матшколе, и там поставили темой ОС Линукс. Есть математика, физика и ОС Линукс. Пришло 30 человек, из них 20 хотят знать, что такое ОС Линукс. Один мальчик попался такой, 10 класс, сказал, что купил книжку по фрибсд, купил дистрибутив, и теперь по книжке занимаюсь. Почему эти лекции затеяны: раньше на подобные лекции были половина такие, которые готовы осваивать большой набор инйформации, и т д.
+
== Зачем Linux ==
 +
Перед тем, как рассуждать, что такое Linux, зададимся вопросом, почему возникла такая ситуация, почему мы заинтересовались Linux'ом. Каждый человек, который скачивает Linux, должен задаться вопросом: ''«Зачем мне Linux?»''. Ответов на него довольно много, и прямо сейчас лектор попробует на них ответить:
 +
* «Было интересно». Мне интересно всё компьютерное, Linux это такая компьютерная штука, и мне это интересно. «Just for fun». Linux — штука интересная, в него интересно потыкать.
 +
* Для решения каких-то задач. Каких? Вот, мне сказали, что в Linux'е можно сделать так и так, и это просто, а иначе непросто, например, веб-сервера. И это так. Есть класс задач, которые разумнее, быстрее, безопаснее решать с помощью Linux и UNIX-подобных систем
 +
* «Хочу стать кем-то», «Нужно повышать компьютерную грамотность, иначе меня не возьмут в системные администраторы», и т. п. Для повышения квалификации. Это очень важная тема, потому что, опять-таки, представляется разумным изучать ОС, программное обеспечение, разработку ПО с помощью такой среды, где на все эти пункты не наложено никаких ограничений. Вообще, на свободном ПО изучать всё удобно.
 +
* Обеспечение лицензионной чистоты. Оказывается, то, что стоит 70 рублей, стоит не 70 рублей, несчастных таскают по судам, приходят прокурорские проверки… В нашем государстве работать со свободным ПО намного удобнее, чем с несвободным
 +
На каждый положительный ответ может найтись и отрицательный. Например, может быть неинтересно, и компьютер предназначен для решения ограниченного круга задач. Или задачи специфические. Или аллергия на знания. Или лицензионная чистота обеспечивается тратой большего количества денег.
-
Перед тем, как рассуждать, что такое Линукс, зададимся вопросом, почему возникла такая ситуация, почему мы заинтересовались линуксом. Каждый человек, который скачивает линукс, должен задаться вопросом, «Зачем мне линукс». Ответов на него довольно много, и прямо сейчас лектор попробует на них ответить:
+
''А какой-такой, собственно, Linux?'' Это основной вопрос и про него говорить мы будем много. Пока его откладываем.
-
* Было интересно. Мне интересно всё компьютерное, линукс это такая компьютерная штука, и мне это интересно. just for fun. Линукс --- штука интересная, в него интересно потыкать.
+
-
* Для решения каких-то задач. Каких? Вот, мне сказали, что в Линуксе можно сделать так и так, и это просто, а иначе непросто, например, веб-сервера. И это так. Есть класс задач, которые разумнее, быстрее, ьезопаснее решать с помощью линукс и юниксоподобных систем
+
-
* Хочу стать кем-то. Нужно повышаьт компьютерную грамотность, иначе меня не возьмут в системные администраторы... Дял повышения квалификации. Это очень важная тема, потому что, опять-таки, представляется разусными изучать ОС, программное обесп, разработку ПО изучать с помощью такой среды, где все эти пункты, на них не наложено никаких огрраничений. Вообще, на свободном ПО изучать всё удобно.
+
-
* Обеспечение лицензионной частоты. Окзазывается, то, что стоит 70 рублей, стоит не 70 рублей, несчастных таскают по судам, прихходят прокурорские проверки... В нашем государстве работать со свободным ПО намного удобнее, чем с несвободным.
+
-
На каждый положительный ответ может найтись и отрицательный. Например, неинтересно, и компьютер решает огр. круг задач. Или задачи специфические. Или аллергия на знания. Или лицензионная чистота обеспечивается тратой большего количества денег.
+
''Какое железо под это потребуется?'' Бывает такое железо, у которого проблемы с Linux'ом, бывает и такое специфическое железо, у которого проблемы с любой ОС.
-
А какой-такой, собственно, Линукс?
+
'''Для изучения Linux нужен Linux, нужно желание его изучать и нужен компьютер.'''
-
Это основной вопрос и про него говорить мы будем много. Пока его откладываем.
+
== О порядке изложения ==
 +
Теперь обратить внимание, в каком порядке лектор выложил вопросы. Сначала «Зачем?», потом выбрать, какой, подобрать аппаратное обеспечение так, чтобы комфортно решать задачу. Практически всегда бывает наоборот: компьютер имеется, люди добывают какой-то Linux, и в итоге выясняется, что Linux этот применить никак нельзя. По уму проблемы решают от задач к железу, к решению, по факту наоборот.
-
Какое железо под это потребуется?
+
По этой причине лекция тоже построена задом наперёд. Будем решать проблемы по мере поступления.
-
Бывает такое железо, у которого пробелмы с Линуксом, бывает и такое специфическое железо, у которого проблемы с любой ОС.
+
В более или менее правильном порядке лектор попытался ответить на вопрос «Зачем?», более подробно на каждый подпункт лектор отвечать не будет сейчас, и неизвестно, войдёт ли это в курс.
-
Для изучения линукса нуден линукс, нудно желание его изучать и нужен компьютер.
+
== Что такое Linux ==
 +
Для начала, нужно ответить на вопрос: «что такое Linux?»
-
Теперь обратить внимание, в каком порядке лектор выолжил вопросы. Сначала зачемЮ потом выбрать какой, подобрать апп. обесп. так, чтобы комфортно решать задачу. Практически всегда бывает наоборот: компьютер имеется, люди добывают какой-то линукс, и в итоге выясняется, что линукс этот применить никак нельзя. По уму от задач к железу, по факту наоборот.
+
=== Linux — это ядро ОС ===
 +
Существует много нечётких определений, что это такое, из них наиболее чёткое одно:
 +
<div class="definition">'''Linux''' — ''ядро'' операционной системы.</div>
 +
История появления ядра находится [http://www.google.com/search?q=%22Just+for+fun%22 гуглением фразы «Just for fun»]. Ядро — та часть операционной системы, которая обеспечивает доступ к ресурсам аппаратной части компьютера (внешние устройства и виртуальные ресурсы, которые реально есть, но физически их нет; процессорное время; виртуальная память…). По этой причине, те люди, которые используют Linux, вряд ли имеют в виду ядро. Поэтому ядро пока оставляется в стороне, и попробуем дать не столь чёткое, но и более подходящее определение: если мы хотим иметь Linux, то мы хотим иметь ОС. Но было бы глупо называть Linux ОС. Было бы правильнее называть Linux дистрибутивом. И это в качестве определения это и возьмём:
 +
<div class="definition">'''Linux''' — ''дистрибутив''.</div>
-
По этой причине лекция тоже построена задом наперёд. Бдем решать проблемы по мере поступления.
+
=== Linux — это дистрибутив ===
 +
'''Дистрибутив''' — нерусское слово, написанное русскими буквами. Оно означает набор программных продуктов, который позволяет сделать операционную систему на базе ядра Linux на конкретном компьютере путём установки. Это узкое определение. Но, тем не менее, тот же дистрибутив офисных программ — набор программ, из которых можно сделать офисный пакет путём установки.
-
Более или менее в правильном порядке лектор попытался на вопрос зачем, более подробно на каждый подпункт лектор отвечать не будет сейчас, и неизвестно, войдёт лиэто в курс.
+
Теперь поговорим про дистрибутив, опишем его. Вот вам попал в руки блин, или вы скачали ISO-образ. Это набор, набор программных продуктов. Более того, можно сделать очень смелое заявление — с помощью этого набора можно сделать ОС. Звучит невероятно. Потому что, что такое ОС — набор ПО, которое позволяет пользователю решать его пользовательские задачи. Как бы сказать — когда за 150 долларов покупаем Windows, получаем не ОС для конечного пользователя, а среду для запуска программ. Это — ОС для системных интеграторов. Тут же утверждается, что при помощи этого набора можно решить 95 процентов пользовательских задач. Это значит, что вот в рюкзачке у лектора лежит десктопный дистрибутив, и на нём программ лежит много, даже больше, чем на типичном пиратском диске. Вот на одном DVD — порядка 4000 программ (пакетов).
-
Для начала, нужно ответить на вопрос: что такое Линукс? Существует много нечётких определений, что это такое, из них наиболее чётккое одно: Линукс --- ядро операционной системы. История появления ядра находится гуглением фразы just for fun. Ядро – та часть, которая обкспечивает доступ к ресурсам аппаратной части (внешние устройства и виртуальные ресурсы, которые реально есть, но физически их нет, процессорное время, вирт. память). По этой причине, те люди, которые исопльзуют линукс, вряд ли имеют в виду ядро. Поэтому ядро пока оставляется в стороне, и попробуем дать более неправильное, но и более подзодящее определние% если мы хотим иметь линукс,то мы хотим иметь ОС. Но бло бы глупо называть Линукс ОС. Было бы правильноее называть Линукс дистрибудитвом. И это в качестве определения это и возьмём: Линукс --- дистрибутив.
+
Да, дистрибутив это ещё установка и манипуляция.
 +
=== Linux — это сообщество ===
 +
Далее, возникает вопрос. Кто авторы этого ПО? Например, ALT выпускает такой дистрибутив, что, он все эти программы написал? Конечно нет, существует множество авторов (upstream). Идея в чём: какие-то люди разрабатывают программные продукты, а сообщество дистрибутива занимается тем, что подгоняет эти программные продукты под единую базу (оформление, гайдлайны, установка-удаление).
-
Дистрибутив --- нерусское слово, написанное русскими буквами, и значит набор программных продуктов, который позволяет сделать операционную систему на базе ядра Линукс на конкретном компьютере путём установки. Это узкое определение. Но, тем не менее, тот же дистрибутив офисных программ --- набор программ, из которых можно сделать офиснй пакет путём установки.
+
Если авторов множество, то очевидно, что какие-то авторы какого-то OpenOffice или другого программного продукта не имеют желания адаптировать свои продукты под все триста существующих дистрибутов, это смерть на взлёте. Соответственно, должен найтись человек, который хочет пользоваться этим программным продуктом и этим дистрибутивом. Такой человек становится сопровождающим (maintainer). Множество мэнтейнеров образуют team. Это совершенно необязательно значит, что за это получают деньги, деньги можно получать за то, что это работает. И, ещё, выпускающие (core team) — команда, их интерес — сделать хороший дистрибутив, и в очень многих случаях это — работники компании. Хотя, существуют примеры очень успешных Linux-сообществ, core team которых не получают за это ни копейки.
-
Теперь поговорим про дистрибутив. Теперь его опишем. Вот опопал в руки блин, или скачали исошник. Это набор. Набор программных продуктов. Очень смелое заявление --- с помощью этого набора можно сделать ОС. Звучит невероятно. Потомк что что такое ОС --- набор по, которе позволяет пользователю решать его пользовательские задачи.
+
На вопрос «Откуда берутся программы?» лектор ответил наполовину, поскольку абсолютно непонятно, почему это легально. Вопрос — где нас надули, почему это стоит 600 рублей, почему это может использоваться ещё в трёхстах дистрибутивов, почему говорят, что это хорошо, ведь говорят, что убил бобра — спас дерево. Возникает ещё один вопрос: что такое свободное ПО?
-
Как бы сказать --- когда за 150 долларов покупаем Виндовз, получаем не ОС, не для конечного пользователя, я среду для запуска программ. Это --- ОС для системных интеграторов.
+
==== Свободное ПО ====
 +
Ситуация очень простая. Существует очевидный зазор между распространением материальных объектов и информации. В первом случае можно отчитаться, что на изготовление 4 горшков было потрачено 4 кг глины, потрачено 4 часа горшечника и т. п. Есть линейная зависимость:
 +
1 горшок = 1 единица глины + 1 единица труда
 +
1 000 горшков = 1 000 единиц глины + 1 000 единиц труда
 +
С экономической точки зрения — постоянная зависимость затрат от объёма. С программными продуктами другая зависимость:
 +
1 копия = 1 диск + 1 труд программиста
 +
1 000 копий = 1 000 дисков + 1 труд программиста
 +
Линейной зависимости нет, диски стоят копейки, и основные затраты в труде программиста (хотя сейчас всё уже зависит от пиарщика). Существует забавная ситуация, как этим воспользоваться: сделать вид, что второго нет, и программисты делают горшки: один диск стоит 150 долларов, 1000 дисков стоит 150 000 долларов.
-
Тут же утверждается, что при помощи этого набора можно решить 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, и корпорация должна его прокормить от начала до конца. Такой способ выгоден правовладельцу. Правовладелец существует, есть некая персона, которая владеет всеми правами на программный продукт. Только в этом случае можно продавать ПО
+
И тут начался водораздел на два противоположных направления разработки продуктов:
-
* Открытый. Главное --- распространение информации, в первую очередь --- исходного кода. Сообщество организуется очень большое, идея состоит в том, что чем больше людей и чем грамотнее они организуются, тем лучше. Не сущестьвует некоего человека или организации, нащываемой правовладельцем, которая обладает всеми правами. Даже наоборот, в лицензии может быть прописано, что при получении продукта передаются все неисключительные права.
+
* Закрытый. Любое распространение информации оценивается через пользу бизнесу и исходный код последнее, чем они могут поделиться. Очень узкий круг разработчиков. Каждый новый разработчик должен подписать NDA, и корпорация должна его прокормить от начала до конца. Такой способ выгоден правовладельцу. Правовладелец существует, есть некая персона, которая владеет всеми правами на программный продукт. Только в этом случае можно продавать ПО
 +
* Открытый. Главное распространение информации, в первую очередь исходного кода. Сообщество организуется очень большое, идея состоит в том, что чем больше людей и чем грамотнее они организуются, тем лучше. Не существует некоего человека или организации, называемой правовладельцем, которая обладает всеми правами. Даже наоборот, в лицензии может быть прописано, что при получении продукта передаются все не исключительные права.
-
Существует свободное ПО и правовладельцеское. Свободное на открытом способе разработки, правовлад – на закрытом, есть 4 условия (как недавно лектор выяснил, что есть две формулировки, одна лекторская, одна каноническая):
+
Существует свободное ПО и правовладельческое. Свободное ПО основывается на открытом способе разработки, правовладелеческое — на закрытом, есть 4 условия открытости ПО (как недавно лектор выяснил, что есть две формулировки, одна лекторская, одна каноническая):
* Свобода использования
* Свобода использования
* Свобода распространения
* Свобода распространения
* Свобода изучения и внесения изменений (как следует, наличие исходного кода)
* Свобода изучения и внесения изменений (как следует, наличие исходного кода)
-
* Распространение изменённых версий --- это именно тот рычаг, коотрый приводит весь механизм в действие, то есть, если кто-то захочет сделать лучше, у него не будет преград
+
* Распространение изменённых версий это именно тот рычаг, который приводит весь механизм в действие, то есть, если кто-то захочет сделать лучше, у него не будет преград
-
 
+
-
Именно при обесп. этих 4 требований может быть разработка эффективной.
+
-
У этого определения существует один изъян: я беру программу, я человек, чотокрый желает раздавать программы как горшки, но я не хочу писать программу, я беру свободную программу, что-то хакаю, и закрыто продаю. Это разрешено 4 степенями свободы с лёгкостью. Пожтому во многих лицензиях в дополнение к этим 4 степеням приписывают одно огрничение: когда вы занимаетесь распространением с исп. GPL'ного продукта, то лицензия на расп. ПО должна быть не хуже GPL.
+
Именно при обеспечении этих 4 требований разработка может быть открытой, эффективной.
-
В прошлый раз возник вопрос о сущности Free Software и OpenSource. Лектор утверждал, что OpenSource включает FreeSoftware, Никита обратное. И действительно, лектор сегодня зашёл на osi.org и выяснил, что прав он, там действительно 10 пунктов. --- ещё один пункт (см. прошлую лекцию)
+
У этого определения существует один изъян: я человек, который желает раздавать программы как горшки, но я не хочу писать программу, что я делаю: я беру свободную программу, что-то хакаю, и закрыто продаю. Это разрешено 4 степенями свободы с лёгкостью. Поэтому во многих лицензиях в дополнение к этим 4 степеням приписывают одно ограничение: когда вы занимаетесь распространением с исп. GPL'ного продукта, то лицензия на распространение ПО должна быть не хуже GPL.
-
Кроме СОПО, казахстанским братья ещё 1000 долларов башляют.
+
<div class="comment">В прошлый раз возник вопрос о сущности Free Software и OpenSource. Лектор утверждал, что OpenSource включает Free Software, Никита Ющенко обратное. И действительно, лектор сегодня зашёл на http://opensource.org и выяснил, что прав он, там действительно 10 пунктов. — ещё один пункт (см. [[UNИX, осень 2007, 01 лекция (от 05 октября)#FOSS|предыдущую лекцию]])</div>
 +
<div class="comment">Кроме СОПО, казахстанским братьям ещё 1000 долларов башляют.</div>
-
Впопрос об адекватной и эффективной модели ведения бизнеса на базе опен-сорс.
+
Сразу же возникает вопрос об адекватной и эффективной модели ведения бизнеса на базе OpenSourse.
-
Третий пункт: линукс это сообщество. Этот пункте не мешает иметь в голове всем нам, когда изучаем линукс. Если в случае с вордом это буковки в окне о программе, то в случае с линуксом авторы не просто есть, а одна из них обязанностей --- исправлять программу, кроме того, есть пласт пользователей... И при использовании линукса нжуно включиться в сообщество (не нужно при этом по 5 часов заниматься этим линуксом добровольно-принудительно). Кроме того, в сообщество все эти люди пришли, и они пришли, потому что им надо, и им совсем не пофигу, если вы нашли ошибку, и сказали на ней, что отличается от закрытой модели.
+
Третий пункт: Linux это сообщество. Этот пункт не мешает иметь в голове всем нам, когда изучаем Linux. Если в случае с Word авторы — это буковки в окне о программе, то в случае с Linux авторы не просто есть, а одна из них обязанностей — поддерживать программу, кроме того, есть пласт пользователей, которым эта программа небезынтересна. И при использовании Linux нужно включиться в сообщество (не нужно при этом по 5 часов заниматься этим Linux'ом добровольно-принудительно). Кроме того, в сообщество все эти люди именно пришли, и они пришли, потому что им надо, и им совсем не пофигу, если вы нашли ошибку, и сказали о ней, и это поведение отличается от закрытой модели разработки.
-
Коротко про оставшиеся вопросы:
+
== Коротко про оставшиеся вопросы ==
-
* Выбор дистрибутива. Что-то вроде домашнего задания. Даватй не будем решать вопрос, какой дистрибутив нужен, мы можем составить список задач, пойти на distwatch.com, и посмотреть, как идёт жизнь дистрибутивов, какие дистрибутивы бывают. Подсказка: одного дистрвотч недостаточно (см. информацию по альту). Тем не менее, это хороший ресурс. Выбор --- какой понравится.
+
* Выбор дистрибутива. Что-то вроде домашнего задания. Давайте не будем решать вопрос, какой дистрибутив нужен, мы можем составить список задач, пойти на http://distrowatch.com, и посмотреть, как идёт жизнь дистрибутивов, какие дистрибутивы бывают. Подсказка: одного DistroWatch недостаточно (для примера, см. [http://distrowatch.com/table.php?distribution=alt информацию по ALT Linux]). Тем не менее, это хороший ресурс. Выбор какой понравится.
-
* Пойдём с другой стороны --- какие бывают дистрибутивы?
+
* Пойдём с другой стороны какие бывают дистрибутивы?
-
** Не хотим сносить ту систему, которая стоит на машине. Самый простой вариант --- live cd. Это дистр. линукс, который уже установлен внутри некоей вирт. ФС внутри сидюка, которая при запуске разворачивается частично в память, частично на сидюке. Таких дистров много, самый известный --- knoppix. В последнее время практически каждый дистр. имеет свой лив цд, часто с опцией установки. Недостатки: работает очень медленно, нужно довольно много памяти, проблемы с настройкой (есть вариант LiveFlash)
+
** Не хотим сносить ту систему, которая стоит на машине. Самый простой вариант live cd. Это дистрибутив Linux, который уже установлен внутри некоей виртуальной ФС на компакт-диске, которая при запуске разворачивается частично в память, частично читается с диска же. Таких дистрибутивов много, самый известный — [http://www.knoppix.net/ Knoppix]. В последнее время практически каждый дистрибутив имеет свой Live CD, часто с опцией установки. Недостатки: работает очень медленно, нужно довольно много памяти, проблемы с настройкой (есть вариант Live Flash)
-
** Двухсистемная машина. Нескложно установить две ОС на один компьютер. Придётся постоянно перегружаться. Нужно достаточно хорошо понимать, что такое разметка диска. /* а ещё нужно отказаться от гибернейта --- комментарий мой */
+
** Двухсистемная машина. Несложно установить две ОС на один компьютер. Придётся постоянно перегружаться. Нужно достаточно хорошо понимать, что такое разметка диска. <!-- а ещё нужно отказаться от гибернейта --- комментарий мой -->
-
** Всё снести, поставить линукс.
+
** Всё снести, поставить Linux
-
** Эмулятор. VMWare, VirtualBox. Работает довольно медленно и как-то неправильно.
+
** Эмулятор. VMWare, VirtualBox. Работает довольно медленно и как-то неправильно
-
Неохваченный --- каким должен быть компьютер. На самом деле, вопрос это довольно сложный, единественное, что лектор может сказать, что существует понятие аппаратной совместимости, и до установки линукса нужно посмотреть, совместимо ли имеющееся железо.
+
Не охваченный вопрос — каким должен быть компьютер в плане железа. На самом деле, вопрос это довольно сложный, единственное, что лектор может сказать, что существует понятие аппаратной совместимости, и до установки Linux нужно посмотреть, совместимо ли имеющееся железо.
{{UNИX, осень 2007}}
{{UNИX, осень 2007}}
-
{{Lection-stub}}
 

Текущая версия

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

Официальная страница: 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 и UNIX-подобных систем
  • «Хочу стать кем-то», «Нужно повышать компьютерную грамотность, иначе меня не возьмут в системные администраторы», и т. п. Для повышения квалификации. Это очень важная тема, потому что, опять-таки, представляется разумным изучать ОС, программное обеспечение, разработку ПО с помощью такой среды, где на все эти пункты не наложено никаких ограничений. Вообще, на свободном ПО изучать всё удобно.
  • Обеспечение лицензионной чистоты. Оказывается, то, что стоит 70 рублей, стоит не 70 рублей, несчастных таскают по судам, приходят прокурорские проверки… В нашем государстве работать со свободным ПО намного удобнее, чем с несвободным

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

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

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

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

[править] О порядке изложения

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

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

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

[править] Что такое Linux

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

[править] Linux — это ядро ОС

Существует много нечётких определений, что это такое, из них наиболее чёткое одно:

Linuxядро операционной системы.

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

Linuxдистрибутив.

[править] Linux — это дистрибутив

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

Теперь поговорим про дистрибутив, опишем его. Вот вам попал в руки блин, или вы скачали ISO-образ. Это набор, набор программных продуктов. Более того, можно сделать очень смелое заявление — с помощью этого набора можно сделать ОС. Звучит невероятно. Потому что, что такое ОС — набор ПО, которое позволяет пользователю решать его пользовательские задачи. Как бы сказать — когда за 150 долларов покупаем Windows, получаем не ОС для конечного пользователя, а среду для запуска программ. Это — ОС для системных интеграторов. Тут же утверждается, что при помощи этого набора можно решить 95 процентов пользовательских задач. Это значит, что вот в рюкзачке у лектора лежит десктопный дистрибутив, и на нём программ лежит много, даже больше, чем на типичном пиратском диске. Вот на одном DVD — порядка 4000 программ (пакетов).

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

[править] Linux — это сообщество

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

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

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

[править] Свободное ПО

Ситуация очень простая. Существует очевидный зазор между распространением материальных объектов и информации. В первом случае можно отчитаться, что на изготовление 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 включает Free Software, Никита Ющенко обратное. И действительно, лектор сегодня зашёл на http://opensource.org и выяснил, что прав он, там действительно 10 пунктов. — ещё один пункт (см. предыдущую лекцию)
Кроме СОПО, казахстанским братьям ещё 1000 долларов башляют.

Сразу же возникает вопрос об адекватной и эффективной модели ведения бизнеса на базе OpenSourse.

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

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

  • Выбор дистрибутива. Что-то вроде домашнего задания. Давайте не будем решать вопрос, какой дистрибутив нужен, мы можем составить список задач, пойти на http://distrowatch.com, и посмотреть, как идёт жизнь дистрибутивов, какие дистрибутивы бывают. Подсказка: одного DistroWatch недостаточно (для примера, см. информацию по ALT Linux). Тем не менее, это хороший ресурс. Выбор — какой понравится.
  • Пойдём с другой стороны — какие бывают дистрибутивы?
    • Не хотим сносить ту систему, которая стоит на машине. Самый простой вариант — live cd. Это дистрибутив Linux, который уже установлен внутри некоей виртуальной ФС на компакт-диске, которая при запуске разворачивается частично в память, частично читается с диска же. Таких дистрибутивов много, самый известный — Knoppix. В последнее время практически каждый дистрибутив имеет свой Live CD, часто с опцией установки. Недостатки: работает очень медленно, нужно довольно много памяти, проблемы с настройкой (есть вариант Live Flash)
    • Двухсистемная машина. Несложно установить две ОС на один компьютер. Придётся постоянно перегружаться. Нужно достаточно хорошо понимать, что такое разметка диска.
    • Всё снести, поставить 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 января: информация, конспект, быстрые вопросы


Эта статья является конспектом лекции.
Личные инструменты
Разделы