Что такое дистрибутив linux основные положения gnu gpl

Обновлено: 07.07.2024


Итак, дистрибутив – это совокупность программ (пакетов), некоторый набор утилит, собранных воедино на ядре системы. Ядро Linux выпускается централизовано, а дистрибутив Линукс, при определенном наличии знаний и умений, может собрать каждый желающий либо с нуля, либо на основе уже имеющегося дистрибутива… В настоящее время имеется огромное множество дистрибутивов операционной системы Linux. Из этого множества есть некоторое число выпускаемых коммерческими фирмами на коммерческой же основе, однако, в большинстве своем дистрибутивы распространяются свободно на условиях GPL-лицензии. Таким образом, пользователь имеет возможность выбрать себе любой из понравившихся дистрибутивов, либо, как уже говорилось, при условии знаний и умений может собрать самостоятельно свою систему по вкусу.

Теоретически (а для кого-то и практически) можно обойтись и без дистрибутива, для чего нужно будет скачать все составляющие будущей системы: ядро, системные утилиты, необходимые конкретно для себя пакеты программного обеспечения, оконные менеджеры, библиотеки и компиляторы и т.д. Затем все это будет необходимо скомпилировать и установить в систему. Нужно также помнить о взаимозависимости многих комплектов друг от друга… Вобщем, собственно систему можно собрать и без дистрибутива, однако, зачем изобретать велосипед, если все давно придумано до нас?

Во-вторых, возникает вопрос каково отличие одного дистрибутива от другого?

Основное отличие в программе установки и первоначальной конфигурации операционной системы Linux. В большинстве случаев дистрибутивы независимо от версии содержат максимально совместимые и наследуемые пакеты программ и настроек, дабы сохранять совместимость между версиями, хотя некотрые дистрибутивы весьма трудно обновляемы… На мой взгляд, это большое упущение и минус для данной сборки…

Следующее различие в наборе утилит и пакетов назначению и количеству. При желании можно найти минималистические дистрибутивы, размер которых позволяет поместить их на несколько дискет. Обычно таковые предназначены для каких-то узких администраторских целей. А есть и огромные универсальные сборки, которые занимают не меньше одного DVD. Большинство же дистрибутивов занимает один компакт-диск, чаще всего (данная тенденция нарисовалась не так давно) позволяющие производить загрузку системы без установки на жесткий диск. Данная методика получила название LiveCD (живой компакт-диск). Кроме того, дистрибутивы отличаются и по направлениям применения: одни предназначены для использования на серверах, а другие – для настольных систем и ноутбуков.

Основные средства, приложения и утилиты включаются в дистрибутивы в виде уже готовых к установке программных пакетов. В этом также различие между дистрибутивами: зависимость от формата пакетов. В основном это: RPM (Red Hat-овский формат), DEB (формат Debian) и TGZ (Slackware-формат). Некоторые дистрибутивы создали свои форматы пакетов, однако, по большей мере три вышеуказанных формата «правят» миром Linux-дистрибутивов

DEB-дистрибутивы

Deb — это расширение имен файлов «бинарных» пакетов для установки, обовления и удаления программного обеспечения в операционной системе проекта Debian, а также иных дистрибутивов Linux, использующих в качестве системы управления пакетами dpkg.

Deb, кстати, представляет собой часть слова Debian, который, в свою очередь, получил свое название от имени Debra жены основателя этого дистрибутива Яна Мердока, а также Ian от, собственно, его имени.

Тут дистрибутивы, которые используют формат пакетов .deb и менеджер пакетов dpkg, — собственно Debian, Knoppix, MEPIS, Ubuntu (и основанные на убунту Kubuntu, Xubuntu и т.д.), Damn Small Linux… Вобщем, таких сборок очень много, одних только Ubuntu-базирующихся дистрибутивов имеется больше десятка.

RPM-дистрибутивы

RPM (Red Hat Package Manager — менеджер пакетов Red Hat или RPM Package Manager) означает две вещи: формат пакетов программного обеспечения и программа, созданная для управления этими пакетами.

Программа позволяет инсталлировать, обновлять или удалять программное обеспечение. Формат RPM основан на формате, разработанным LSB.

Изначально данная система управления пакетами разрабатываясь фирмой Red Hat для Red Hat Linux. Позже RPM стал использоваться во многих дистрибутивах GNU/Linux, и, кроме того, был портирован на другие ОСи: Novell NetWare (с версии 6.5 SP3), IBM AIX (с версии 5) и прочие…

Представители дистрибутивов, базирующиеся на системе управления пакетами RPM, а таковых в компьютерном мире имеется великое множество, — ALT Linux, Ark Linux, ASPLinux, CentOS, Fedora, Mandriva, openSUSE, PCLinuxOS, Red Hat, Red Flag Linux, Turbolinux…

Кроме вышеописанных систем, имеются и другие варианты пакетных систем, например, Slackware-подобные дистрибутивы и дистрибутивы с оригинальными пакетными системами.

К первому виду можно отнести Slackware, MOPSLinux, Sabayon, VectorLinux и тп… А свои оригинальные системы пакетов используют такие дистрибутивы, как , например, CRUX, Gentoo, Onebase Linux, Arch Linux…

Некоторые дистрибутивы могут быть собраны в коммерческом исполнении, что обусловлено включением в состав сборок пакетов с коммерческой лицензией, но в большинстве своем они имеют и бесплатную версию (примеры коммерческих дистрибутивов: Libranet, Linspire, Linux XP, Mandriva PowerPack, Nitix, Novell Linux Desktop, Progeny Debian, Red Hat Enterprise Linux, SUSE, Thinstation, Xandros…

Если остановить на улице 10 человек и спросить у них, что они знают о Linux, то большинство опишет некую сложную операционную систему для хакеров, не имеющую привычного графического интерфейса и крайне недружелюбную по отношению к неопытному пользователю. Что же на самом деле являет собой Linux? Разбираемся в материале ниже.

Linux

Кто придумал Linux?

GNU GPL

Ричард Столлман Linux

Целью затеи были разработка и бесплатное распространение ПО, которое по своему функционалу не уступало бы возможностям ОС Unix от AT&T (лицензия на использование исходников оной стоила порядка 40 тысяч долларов).

Тогда же Столлман сформулировал манифест GNU GPL (GNU GeneralPublic License), в котором указал 4 свободы, лежащие в основе Linux и поныне:

Свобода 0. Каждый имеет право запускать программу для любых целей;
Свобода 1. Каждый может изучать программу и изменять ее в собственных нуждах;
Свобода 2. Каждый имеет право распространять ПО с целью помощи другим;
Свобода 3. Каждый может улучшать и публиковать ПО во благо сообщества.

По сути, Столлман закрепил за каждым право свободно продавать собственные продукты на базе ПО GNU, однако эти продукты также должны сопровождаться лицензией GPL.

GNU General Public License

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

Minix

Еще один человек, которого необходимо упомянуть в контексте истории Linux, это преподаватель из Нидерландов Эндрю Таненбаум, разработавший в 1987 году учебное пособие в виде операционной системы Minix.

Эндрю Таненбаум

Ее преимуществом была совместимость с популярным в то время процессором Intel 80286, тогда как большинство коммерческих версий UNIX чипы Intel не поддерживали. Таненбаум не только выпустил Minix на дискетах, но и опубликовал все 12 тысяч строк кода в своей книге, что стало отличным пособием для молодых программистов, одним из которых был финский студент Линус Торвальдс.

Линус Торвальдс

Linux

Торвальдс начал разработку Linux в 1991 году, но, получив работоспособное ядро, был вынужден заняться заменой компонентов Minix в пользу аналогов под лицензией GNU GPL, так как Таненбаум юридически ограничил использование своей системы исключительно в образовательных целях. После публикации о релизе своей ОС в новостной группе comp.os.minix и перехода на компоненты GNU, Линус получил сотни отзывов и предложений по дальнейшему развитию системы, что послужило началом самого массового софтверного проекта в истории.

Кто пользуется Linux

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

Дистрибутивы Linux

Раньше компьютеры были такими большими, что могли занимать целую комнату или даже дом. Вы только представьте себе, как трудно было ими управлять. Более того, каждый компьютер имел свою собственную операционную систему, в результате чего работать с такими машинами было жутко неудобно. Программное обеспечение таких компьютеров было узкоспециализированным, и не могло работать на другом компьютере. Не говоря уже о том, что подобная техника стоила таких невообразимо больших денег, что обычные люди не могли себе этого позволить.

В качестве решения вопроса с операционной системой компанией AT&T была создана операционная система Unix, которая дала старт возникновению открытого программного обеспечения и созданию Linux. Но давайте по порядку.

История возникновения Unix


Первоначально Unix использовалась в основном в университетах и крупных финансовых корпорациях. К 1978 году насчитывалось около 600 машин с установленной на них системой Unix.

Появление проекта GNU

В восьмидесятые годы 20 века многие компании, в числе которых IBM и HP, начали создавать свои собственные (в том числе и коммерческие) версии системы Unix. Это привело к путанице дистрибутивов Unix. И к тому же фирмы, продающие свои дистрибутивы, прямо запрещали распространять их исходные коды. Из-за этого другие программисты не могли применять уже внедренные к тому моменту новые компоненты системы, и им приходилось писать их заново.

В 1982 году программист из Массачусетского технологического института (MIT) Ричард Столлман сталкивается с проблемой того, что существующая на тот момент коммерческая лицензия программного обеспечения, с которым он вынужден работать, ограничивает свободу своего использования и не позволяет Столлману обмениваться исходными кодами ПО даже в стенах института.


В рамках проекта GNU создаются необходимые для разработки ядра системы компоненты: текстовый редактор Emacs, набор компиляторов gcc, интерпретатор bash, архиватор gzip, утилиты sed, gawk, Autoconf и многие другие. Помимо этого, в 1988 году с целью юридически закрепить за пользователями права на копирование, модифицирование и распространение программ и исходных кодов проекта GNU, Столлманом публикуется лицензия GNU GPL (сокр. от «GNU General Public License» = «Универсальная общественная лицензия GNU»). Однако, несмотря на все его успехи, даже спустя 8 лет после старта проекта, не хватало самого важного компонента операционной системы — её ядра…

История создания Linux

В январе 1991 года, финский студент Линус Торвальдc, находясь под впечатлением от купленной им книги «Проектирование и реализация операционных систем» автора Эндрю С. Таненбаума, с целью детального изучения концепций и строения ОС Unix, решает купить новый компьютер на базе процессора Intel 80386, на который ставит разработанную Таненбаумом учебную ОС Minix.

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

И тогда в августе 1991 года Торвальдс объявляет в сети Usenet о том, что создает свою собственную (свободную) операционную систему с открытыми исходными кодами — Linux. Стоит отметить, что в тот момент речь еще не шла о полноценной системе, скорее это был её прообраз в виде ядра.

17 сентября того же 1991 года, без каких-либо особо публичных объявлений, выходит Linux версии 0.01.

А уже 16 апреля 1994, когда, по мнению Линуса, система стала полностью работоспособной, вышел первый, после более чем двух лет развития, мажорный релиз системы — Linux 1.0.

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


Таким образом, миру явилась полноценная работающая операционная система под названием «GNU/Linux», которую мы привыкли называть просто «Linux», состоящая из ядра Linux, написанного Торвальдсом, и окружающего программного обеспечения, созданного в рамках проекта Столлмана, GNU.

Что такое Linux?

Linux — это семейство Unix-подобных операционных систем, использующих ядро Linux, которое разработал финно-американский программист Линус Торвальдс. ОС, использующие ядро Linux, называются дистрибутивами Linux, и они являются такими же операционными системами как Microsoft Windows или Apple macOS, но с одной очень важной особенностью, а именно — их исходные коды являются открытыми, так как они распространяются под лицензией GNU GPL, которая подразумевает создание свободного и открытого программного обеспечения (open source software). Это означает, что у любого пользователя есть право изучать и изменять исходный код.

Примечание: Стоит отметить, что есть также и платные дистрибутивы Linux, например, Red Hat Enterprise Linux, Astra Linux Special Edition и др.


Пингвин Tux — талисман Linux

GNU/Linux или Linux?

В сообществе программистов существует спор об именовании операционных систем, использующих ядро Linux и программное обеспечение, разработанное под лицензией GNU GPL. Поскольку ядро Linux само по себе не является работающей операционной системой, то многие предпочитают использовать термин «GNU/Linux».

Архитектура Linux-систем

На следующем рисунке показана архитектура Linux-систем:


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

Утилиты (vi, cat, sed, date, компиляторы и др.) — служебные программы, которые предоставляют пользователю большую часть функциональных возможностей операционной системы.

Ядро Linux

Как вы наверняка знаете, на компьютере может быть запущено сразу несколько программ: какие-то из них работают в фоновом режиме, другие могут ожидать определенных действий от пользователя, а третьим необходимо получать информацию из другой запущенной программы. В такой ситуации именно ядро берет на себя функцию оптимального распределения ресурсов компьютера между запущенными программами и организацию параллельной работы множества различных процессов. Оно первым загружается в оперативную память компьютера и всегда находится в запущенном состоянии, постоянно взаимодействуя с его аппаратным обеспечением и установленными программами.

Как правило, большинство ядер делятся на три типа:

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

Монолитное ядро — это полная противоположность микроядра, т.к. в памяти компьютера всегда находится весь (или почти весь) код ядра, вследствие чего скорость его работы выше в сравнении с микроядром.

Гибридное ядро — это ядро, сочетающее в себе элементы как монолитной, так и микроядерной архитектур.

Ядро Linux хоть и относится к монолитным ядрам, но оно также заимствует и некоторые идеи из микроядерной архитектуры, что означает, что вся операционная система работает в пространстве ядра, а драйвера устройств (в виде модулей) могут быть легко загружены (или выгружены) прямо во время работы операционной системы.

Заключение

Linux поддерживает целый ряд аппаратных устройств от телефонов и до суперкомпьютеров. Каждая операционная система на базе ядра Linux имеет ядро Linux и набор ПО для управления аппаратными ресурсами компьютера.

На следующих уроках мы детально рассмотрим тему лицензии GNU GPL, сравним Linux и Windows, выполним обзор дистрибутивов Linux и продолжим наше погружение в изучение Linux.

GNU/Linux работает на PC-совместимых системах семейства Intel x86, а также на IA-64, AMD64 ?, PowerPC ?, ARM и многих других.

К операционной системе GNU/Linux также часто относят программы, дополняющие эту операционную систему, и прикладные программы, делающие её полноценной многофункциональной операционной средой.

Оглавление документа

Название

Разработка


С другой стороны, открытый код значительно снижает себестоимость разработки закрытых систем для GNU/Linux и позволяет снизить цену решения для пользователя. Вот почему GNU/Linux стала платформой, часто рекомендуемой для таких продуктов, как Oracle Database, DB2, Informix, SyBase, SAP R3, Domino.

Сообщество GNU/Linux поддерживает связь посредством групп пользователей Linux.



История UNIX

Дистрибутивы GNU/Linux

  • американский Red Hat и его наследник Fedora;
  • немецкий SuSE ?;
  • французский Mandriva ? (бывший Mandrake ?);
  • не имеющий национальной принадлежности международный дистрибутив Debian GNU/Linux;
  • один из самых старых дистрибутивов Slackware;
  • сравнительно молодой и активно развивающийся дистрибутив Gentoo;
  • очень молодой, но перспективный дистрибутив Ubuntu и его форк Kubuntu, использующий KDE вместо Gnome.

Помимо перечисленных, существует множество других дистрибутивов, как базирующихся на перечисленных, так и созданных с нуля и зачастую предназначенных для выполнения ограниченного количества задач. Каждый из них имеет свою концепцию, свой набор пакетов, свои достоинства и недостатки. Ни один не может удовлетворить всех пользователей, а потому рядом с лидерами благополучно существуют другие фирмы и объединения программистов, предлагающие свои решения, свои дистрибутивы, свои услуги. Существует множество LiveCD, построенных на основе GNU/Linux, например, Knoppix ?. LiveCD позволяет запускать GNU/Linux непосредственно с компакт-диска, без установки на жёсткий диск.

Для желающих досконально разобраться с GNU/Linux подойдёт любой из дистрибутивов, однако довольно часто для этой цели используются так называемые source-based дистрибутивы, то есть предполагающие самостоятельную сборку всех (или части) компонентов из исходных кодов, такие как LFS ?, Gentoo или CRUX ?.

Читайте также: