38

В последнее время я просматривал множество дистрибутивов Linux, чтобы понять, что происходит, и одна фраза, которая продолжает появляться, состоит в том, что «[эта ОС] основана на [другой ОС]». Например:

  • Fedora основана на Red Hat
  • Ubuntu основана на Debian
  • Linux Mint основан на Ubuntu

Для кого-то из среды Mac я понимаю, как "OS X основана на Darwin", однако, когда я смотрю на дистрибутивы Linux, я спрашиваю себя: «Не все ли они основаны на Linux ..?»"

В этом контексте, что конкретно означает, что одна ОС Linux основана на другой ОС Linux?

7 ответов7

60

Linux - это ядро, Debian - это дистрибутив этого ядра и набор программного обеспечения для реального взаимодействия с системой.

Теперь я могу взять Debian и изменить логотип на экране загрузки на свой собственный логотип, и тогда мой дистрибутив основан на Debian (очень примитивно). Обычно корректировки, сделанные в производном распределении, являются более существенными.

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

31

Linux - это ядро - (сложная) часть программного обеспечения, которая работает с оборудованием и экспортирует определенный интерфейс прикладного программирования (API) и бинарные соглашения о том, как точно его использовать (Application Binary Interface, ABI), доступные для космические "приложения.

Debian, RedHat и другие - это операционные системы - законченные программные среды, состоящие из ядра и набора программ пользовательского пространства, которые делают компьютер полезным при выполнении разумных задач (отправка / получение почты, позволяя просматривать Интернет, управлять робот и т. д.).

Теперь каждая такая ОС, хотя и предоставляет в основном одно и то же программное обеспечение (например, существует не так много бесплатных почтовых серверных программ, интернет-браузеров или сред рабочего стола), различается подходами к этому, а также их заявленными целями и циклами выпуска.

Обычно эти ОС называются "дистрибутивами". Это, IMO, несколько неправильный термин, вытекающий из того факта, что вы технически способны собрать все необходимое программное обеспечение вручную и установить его на целевой машине, поэтому эти ОС распространяют упакованное программное обеспечение, так что вам не нужно собирать это (Debian, RedHat) или они облегчают такое построение (Gentoo). Они также обычно предоставляют установщик, который помогает установить ОС на целевой компьютер.

Создание и поддержка ОС - это очень сложная задача, требующая сложной и сложной инфраструктуры (очереди загрузки, серверы сборки, средства отслеживания ошибок и серверы архивирования, программное обеспечение для рассылки и т.д. И т.д.) И персонала. Это, очевидно, создает высокий барьер для создания новой, с нуля ОС. Например, Debian предоставляет ок. 37 тыс. Пакетов для примерно пяти аппаратных архитектур - поймите, сколько работы вложено в поддержку этого материала.

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

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

Другой поворот заключается в том, что не все эти ОС основаны на Linux. Например, Debian также предоставляет ядра FreeBSD и Hurd. У них довольно крошечные группы пользователей, но в любом случае.

8

Red Hat, Debian и т.д. Являются дистрибутивами ("дистрибутивами") Linux.

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

Вам понадобятся базовые утилиты, решения о том, где что-то находится в системе, механизм установки и обновления программного обеспечения, а также соглашения / стандарты (например, каталог, куда идут программы), чтобы связать это вместе.

Большинство версий классических утилит GNU часто считаются базовыми во многих дистрибутивах, и поэтому Debian, например, называет это GNU/Linux. Хотя со всем остальным, есть много вариантов. А поскольку Linux, утилиты GNU и многие другие приложения, работающие под Linux, являются свободными программами, любой может создать новый дистрибутив в любое время. В том числе производные от существующего дистрибутива, если этот дистрибутив не содержит ничего защищенного авторским правом или частной собственностью.

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

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

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

7

С Linux есть дистрибутивы или дистрибутивы. Буквально сотни из них.

Linux является открытым исходным кодом, поэтому любой (или любая группа или компания) может изменить любую часть ОС, которую он пожелает. Вот почему некоторые версии имеют разные установщики (.deb против RPM или просто tar) и разные команды (apt-get против yum).

Большинство дистрибутивов выбирают целевое или специфическое использование и развиваются вокруг этого.

Например, Redhat и его родственники ориентированы на сервер. Большая часть ОС предназначена для стабильной или быстрой работы.

Предполагается, что Debian проще в использовании, поэтому он поддерживает файлы .deb которые являются простыми установочными пакетами.

Ubuntu взяла базу Debian и добавила код и пакеты, чтобы сделать ее хорошим первым дистрибутивом Linux.

Затем Mint удалил часть кода Ubuntu, чтобы сделать более быструю операционную систему, похожую на Ubuntu, но более традиционную для настольных компьютеров, когда Ubuntu сменила менеджер рабочего стола на Unity.

Вот подробное семейное дерево GNU/Linux: http://upload.wikimedia.org/wikipedia/commons/9/9a/Gldt1009.svg

2

Расширяя приведенные выше ответы. Linux - это просто ядро, большинство команд системного уровня (gcc, grep, bison) изначально были написаны проектом GNU, большинство приложений пользовательского уровня (XFCE, Apache, XMMS) написаны сторонними разработчиками.

Когда в первые дни обычно создавался дистрибутив, ядро было связано с командами системного уровня и подмножеством пользовательских приложений и серверных компонентов. Это все еще актуально и сегодня, но многие из новых дистрибутивов не хотят повторять усилия, чтобы заставить все играть хорошо вместе, поэтому они берут базовый дистрибутив, такой как Debian, CentOS, Slackware, и добавляют или вычитают пользовательские приложения, такие как GNOME, KDE , LXDE и др. Они также могут писать собственные меню и вставлять свои собственные логотипы и фоны в дистрибутив (SUSE, PCLinux и т.д.). Они могут пойти дальше и создать специальные приложения для распространения, такие как менеджеры пакетов или пользовательские интерфейсы.

Поэтому, когда вы говорите, например, что Ubuntu основан на Debian, вы технически правы, но в наши дни было бы лучше сказать, особенно в случае с Ubuntu, что он является производным от Debian, поскольку изменения в Debian могут или не могут найти свой путь в Ubuntu.

Это должно помочь немного визуализировать то, о чем я говорю, это показывает, как несколько установленных дистрибутивов были разделены на другие. Хотя и не на 100% точный, он дает представление.

http://photos1.blogger.com/blogger/3370/2500/1600/GNULinuxupdatedw4.0.jpg

Насколько мне известно, это изображение на 100% точно и является хронологией всех дистрибутивов Linux и показывает, откуда они пришли. В наши дни существует всего несколько небольших, менее шести, дистрибутивов, которые могут проследить свои корни до самого начала. Согласно этой карте есть только 2, Redhat и Debian, даже мой любимый Slackware не был оригиналом.

http://www.techjini.com/blog/wp-content/uploads/2011/10/linuxdistrotimeline-7.2.png

1

Mac OS X основана на Darwin в том смысле, что она работает поверх Darwin. Это, так сказать, зависимость во время выполнения от Дарвина.

Ubuntu основана на Debian в том смысле, что это производная работа.

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

Пользователи вашей системы обнаружат большое сходство с Debian (например, как система устанавливается, как обновляются пакеты или как конфигурация системы определяется в /etc).

Debian также основан на Debian: последний выпуск Debian основан на предыдущем выпуске Debian.

0

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

Что происходит в мире, где программное обеспечение не заблокировано какой-либо компанией, разные группы собирают разные наборы программного обеспечения, основанные на двух основных компонентах: ядре Linux и GNU C Library. Эти два в значительной степени найдены в каждой системе.

В разговорной речи мы называем все эти операционные системы "Linux" или "на основе Linux", и все они очень похожи из-за соглашения по различным стандартам.

С другой стороны, ядро Darwin в OS X на самом деле разработано на основе BSD (старше Linux).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .