Введение: почему, для чего и как существует Linux
О курсе (план):
- Операционная система: как она устроена, программное обеспечение, файловая система и т.д., «кнопочки – не главное»
- Командная строка: управление системой не завязано на интерфейсе, а происходит через интерфейс командной строки: что это такое, какие бывают команды, коротко о написании сценариев
- Графическая оболочка: различные способы представления рабочего стола, что такое рабочий стол, что в десктопе всегда будет, какая связь с системой, «как в этом всем не теряться»
- Вопросы системного администрирования: настройка, установка дополнительного по, диагностика
- Информационная подсистема и методика решения пользовательских задач
- Вопросы открытой разработки и свободного лицензирования
- Репозиторий, дистрибутивы, пакеты
- Install fest (планируется)
История UNIX-систем
Компьютерам, как средствам вычисления, положил начало английский математик Чарльз Бэббидж. Еще в первой половине XIX века он попытался построить универсальное вычислительное устройство, которое называл аналитической машиной. Но первые электронные компьютеры начали появляться только в 40-50-х годах XX века, и связано это с появлением достаточно надежных электронных ламп. После начала массового производства компьютеров, способы их использования увеличились. Возникла необходимость систематизации возможностей компьютера, создания системы, аккумулирующей в себе все его возможности.
Разработка операционной системы Unix началась в 1965-69 гг. В то время Кен Томпсон и Деннис Ритчи работали в Bell Labs над проектом MULTICS. В 1969 Bell Labs решила выйти из проекта MULTICS и сосредоточила усилия на проекте Unix. Основная работа производилась на DEC PDP-7, код писался на ассемблере. В 71 году работа уже велась на PDP-11. В 1972 г. появляется Брайан Керниган и предлагает переписать основную часть кода на B (позже C), для того чтобы добиться кроссплатформенности разрабатываемой системы. В 76-77 начались продажи ос, в 77 году появляется BSD. К концу 70-х получили распространение серверные под управлением Unix.
В 80-е, в связи с ростом количества программистов, возникает противостояние между открытой и закрытой разработкой ПО, Unix wars. Возникает вопрос о лицензировании. Вопрос: работать в свободном сообществе с большим количеством программистов (открытая разработка), либо ограничить количество программистов узким кругом людей (закрытая разработка)? На кого опираться при разработке?
В 1983 Ричард Столлман создает свободное лицензирование. Введение лицензии позволило вести успешный бизнес на основе открытого программного обеспечения, т.к. изменения кода, распространяемого под свободной лицензией, тоже должно быть распространено по этой лицензии.
1987 году Эндрю Таненбаум создаёт учебную ОС MINIX (в соответствии со своими понятиями об идеальной ОС). В какой-то момент Линус Торвальдс начинает активно её дописывать, улучшая терминал, планировщик и т. д. В итоге в 91 появляется ядро операционной системы, распространяемое под свободной лицензией (GPL), которое мог использовать кто угодно. Костяк ОС в GNU уже был готов, большое количество приложений для работы с текстом и т.д. тоже. В 92 году начали появляться первые дистрибутивы: ядро + некоторое количество программ. В 1993 Патрик Фолькердинг взял готовый дистрибутив + приписал загрузчик, после чего начал распространять его в интернете, так появился Slackware. Интернет сыграл решающую роль для открытой разработки. В 1993 году появляется первый Debian В 94 – RedHat, SuSE и другие бизнес-решения на Linux. Стало очевидно, что есть эффективный метод монетизации дистрибутивов. Начался процесс локализации популярных дистрибутивов.
Замечание: Linux – не дистрибутив сам по себе, а ядро операционной системы. Существует распространенное заблуждение, что GNU и Linux не разделимы. На самом деле, данная ситуация сложилась исторически, так как долгое время основные компоненты ядра поставлялись проектом GNU.
Свободный софт привел к тому, что для реализации своей идеи стало достаточно взять готовый Linux, приделать что-нибудь (изменить), после чего продать\распространить. В итоге, не удивительно, что производных от Linux очень много (пример: Ubuntu). Второй вариант: взять готовый дистрибутив, изучить, а после того создать свое подобное. Например, в 1999-2000 был адаптирован для России дистрибутив MandrakeLinux, а в 2000-х началось замещение пакетов Mandrake собственными сборками, из чего позже вырос полностью самостоятельный ALT Linux. В случае Mandrake имеем дело с форком, а не с производным дистрибутивом.
Рыночная борьба
Долгое время GNU/Linux не обладал большой распространенностью среди пользовательских систем. Пример: самым первым багом в багтрекере Ubuntu был повешен баг (в 2004) о том, что Windows занимает лидирующее место на рынке. Почему баг был отмечен как решенный в 2013? По исследованиям было выяснено, что самой популярной ос является Android, который основан на Linux, потом iOS, потом Windows. Это стало успехом сообщества Unix. Но не победой Linux.
Домашнее задание: Установить Linux