Як може ОС Linux базуватися на «іншій ОС Linux»?


38

Нещодавно я переглядав досить багато дистрибутивів Linux, щоб зрозуміти, що навколо, і одна фраза, яка постійно з'являється, - це те, що "[ця ОС] заснована на [іншій ОС]". Наприклад:

  • Fedora заснована на Red Hat
  • Ubuntu заснований на Debian
  • Linux Mint базується на Ubuntu

Для тих, хто приходить із середовища Mac, я розумію, як "OS X базується на Дарвіні", проте, дивлячись на Linux Distros, я запитую "Чи не всі вони базуються на Linux ...?"

У цьому контексті, що саме означає для однієї ОС Linux базуватися на іншій ОС Linux?


17
а Дарвін базується на BSD. Ви можете кинути NeXT OS inbetwixt ці два ...: D
Keltari

12
"Red Hat заснований на Fedora", що є досить неточним. Fedora - це бета-тест для елементів, які згодом використовуються в RedHat.
vartec

В основному ви берете основні компоненти дистрибуції, змінюєте те, що хочете, (програмне забезпечення, логотипи, імена, що завгодно ...), і тепер у вас є "аромат" або дистрибуція на основі іншого "дистрибутива"
TheXed

2
Найпростіший спосіб - це взяти точний дистрибутив Linux, який вам подобається, і змінити один рядок, десь, можливо, просто /etc/motd, і вуаля, у вас є власний новий дистрибутив Linux. Як ОС Linux НЕ може базуватися на існуючій. Це складніше питання.
Warren P

4
Я думаю, що на вашу відповідь вже відповіли. Однак ось приємне графічне зображення історії всіх дистрибутивів Linux, які навколо: upload.wikimedia.org/wikipedia/commons/1/1b/…
Joe

Відповіді:


59

Linux - це ядро , Debian - це розповсюдження цього ядра та купа програмного забезпечення для фактичної взаємодії з системою.

Тепер я можу взяти Debian і змінити логотип на екрані завантаження на власний логотип, і тоді моє розповсюдження базується на Debian (дуже примітивно). Зазвичай коригування, які вносяться у похідному розподілі, є більш істотними.

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


10
Точний, але, можливо, занадто спрощений?
Austin T French

... звичайно на практиці отриманий розподіл вносить деякі важливі видимі для користувача зміни, як правило, в певній області. Наприклад, Ubuntu зосереджується на поліруванні робочого середовища. Але все ж більшість пакунків в Ubuntu просто копіюються з Debian.
Ян Худек

2
@AthomSfere: Вибачте, я був у своєму телефоні, коли писав повідомлення. Я би вдосконалив це зараз, але, схоже, в інших відповідях було висвітлено всі деталі.
Der Hochstapler

8
@OliverSalzburg Ви телефонували? Ви дуже звикали :-D
Люк М

9
@AthomSfere KISS також можна застосувати до відповідей!
jsedano

32

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.

Одне головне, що зазвичай є специфічним для дистрофу, - це менеджер пакунків або метод, який програмне забезпечення підтримується, тестується та розповсюджується. Отримані дистрибутиви, як правило, сумісні з їх менеджерами пакетів "upstream". Однак ніщо не заважає вам встановити ручну програму на будь-якому дистрибутиві 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


1
AFAIK, sudoвикористовується скрізь. yumеквівалентом є apt-getабоaptitude
Ізката

1
@Izkata Так, вибачте. Минув час і кава була слабкою сьогодні вранці;)
Остін Т Французький

1
Ви плутаєте ядро ​​(Linux) з рештою програмного забезпечення, зібраного в дистрибутивах.
Маттео Італія

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/GNULinuxupdatew4.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 базується на Дарвіні в тому сенсі, що він працює над Дарвіном. Це, так би мовити, залежність від Дарвіна.

Ubuntu заснований на Debian в тому сенсі, що це похідна робота.

Якщо ви берете пакет Debian і будуєте систему, пакунки та сценарії Debian та інше, і робите власний дистрибутив, схожий на Debian, то у вас є щось на базі Debian.

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

Debian також базується на Debian: остання версія Debian заснована на попередньому випуску Debian.


0

Linux - це лише основна частина, яка надає вам доступ до апаратного забезпечення комп'ютера. Шаром цього є, як правило, бібліотека GNU C, на якій шаруються всі команди та програмне забезпечення, якими ви користуєтесь (включаючи графічний інтерфейс користувача).

Що відбувається у світі, де програмне забезпечення не закривається певною компанією, різні групи складають різні набори програмного забезпечення, що базуються на двох основних компонентах: ядрі Linux та бібліотеці GNU C. Ці двоє знаходяться в багатьох системах.

Розмовно, ми називаємо всі ці операційні системи "Linux" або "Linux на базі Linux", і всі вони дуже схожі через домовленості про різні стандарти.

З іншого боку, ядро ​​Дарвіна OS X насправді розроблено з BSD (старше Linux).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.