Як запустити новий дистрибутив Linux? [зачинено]


28

Деякі з моїх друзів і я зацікавлені в запуску нового дистрибутива Linux. Як ми це робимо? Що нам потрібно планувати?

Попередня історія

Я представляю спільноту системних адміністраторів / розробників Linux, особливі потреби яких включають:

  • Конкретна конфігурація ядра
  • Управління пакунками, що відповідає нашим "потребам поля"
  • Бінарні пакети, оптимізовані для наших "випадків використання"
  • Система без X

До речі: нам потрібен спеціально налаштований дистрибутив якості Linux для виробництва, який буде функціонувати виключно як пара-віртуалізовані сервери виробництва . Замість того, щоб стрибати через усі обручі та петлі кожного разу, коли нам потрібен VM-сервер, ми дуже хотіли б напівпідготовлену систему, оптимізовану для її оточення.

Оскільки ці віртуальні машини будуть виробничими серверами, стабільність є обов'язковою, і, чесно кажучи, наявні системи управління пакетами, про які ми зараз знаємо, просто не дають впевненості. Zyppі Conaryє найближчими до наших потреб, але знову ж таки пропустімо деякі моменти.


1
Точно, що ви хочете в менеджері пакетів? Тобто, для ваших потреб, які слабкі сторони APT, Zypp, Conary, Yum ...?
thepang

3
Замість того, щоб пояснювати один за одним, це те, що ми шукаємо: (1) багаторівневий рівень "стабільності" замість спрощеного "тестування проти стабільного" (2) розумного рішення залежностей (3) багатоверсійного версії (в обмежений сенс, на кшталт SLOTs Gentoo Portage (4) відкат (необов’язково, завдяки здатності знімків гіпервізорів VM, але все одно приємно мати)
pepoluan

1
Чи можете ви пояснити, що означає кілька рівнів стійкості ?
thepang

2
Чи aptitudeдостатньо просунутий розв'язок залежності?
thepang

10
Кожна вимога, яку ви встановили, виконується шляхом простого вибору існуючого дистрибутива та створення власного сховища (можливо, альтернативного менеджера пакунків) із власним визначеним циклом випуску. Але ви відхилили цей варіант, а також відхилили варіант LFS. Крім того, ви помилково сприймаєте менеджер пакунків як критичний фактор стабільності, який є лише допоміжним інструментом, який сам по собі має мало спільного з загальною стабільністю системи.
forcefsck

Відповіді:


22

Ви можете подивитися на Linux із нуля :

Linux from Scratch (LFS) - це проект, який надає покрокові інструкції щодо побудови власної індивідуальної системи Linux повністю з джерела.


Майже, але не зовсім. Це більше схоже на створення користувальницького Linux для власних потреб. Але моїй спільноті хотілося б цілий фреймворк, наприклад, власні ядра, користувальницька програма init, управління спеціальними пакунками тощо. Як ми починаємо?
pepoluan

4
Починаючи з LFS і будуючи цілий фреймворк над ним, як описано вами, насправді є визначенням "Запуск власного дистрибутива Linux".
forcefsck

2
@pepoluan: Посібника з цього питання не існує. Після встановлення запущеної оболонки та основних утилітів у вас є операційна система. Для решти ви або копіюєте з інших дистрибутивів, або все винаходите. Так чи інакше, створення нового дистрибутива вимагає великої роботи, і немає легких відповідей, як це зробити.
forcefsck

1
@forcefsck дякую за попередження :) ... Я згоден, це, безсумнівно, буде великим починанням. занадто погано, що немає жодних "воєнних історій" чи чогось, щоб не повторити жодних помилок.
pepoluan

2
@pepoluan Я б сказав, що є історії війни, лише не такі чисто упаковані. Наприклад, перегляньте архіви списків розсилки в перші дні різних дистрибутивів.
тшепанг

9

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

В основному серед початкового завантаження не буде нічого більше , ніж працює ядро і абсолютний мінімум вам потрібно , щоб отримати основну оболонку, компілятор, і основні речі , як rm, cp, tarтощо , що робота. Наступне, що ви повинні встати і працювати після цього - Perl. Після створення вашої базової системи вам потрібно зберегти її та створити декілька скриптів завантаження, які переносять систему від початкового завантаження до корисної оболонки з компілятором.

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


Ах, дуже інформативно, дякую! Так, у мене немає ілюзії, що це було б простим починанням. Пощастило, що я не одна. Я зберу громаду, і ми зупинимось на тому, хто що робити :)
pepoluan

0

Якщо ви просто хочете отримати якийсь набір програм за замовчуванням, ви можете налаштувати існуючий дистрибутив, наприклад ubuntu, використовуючи кілька простих інструментів. http://maketecheasier.com/reconstructor-creating-your-own-ubuntu-distribution/2008/07/05


Ммм ... не дуже. Розумієте, я є частиною спільноти користувачів, чиї потреби насправді не задовольняються жодним наявним дистрибутивом, особливо що стосується конфігурації ядра та управління пакетами. Всі ми досить добре знайомі з Linux і маємо достатньо вільного часу, щоб спробувати зробити власний дистрибутив.
pepoluan


-1

Є сайт, на якому ви можете побачити всі дистрибутиви та простий опис та огляд їх там. Тож це допоможе вам вибрати найкращий:

http://distrowatch.com/

Але для початку я пропоную вам скористатися Ubuntu або Kubuntu. так легко і зручно для користувачів.


ubunut і kubuntu, коли прагнуть оптимізувати середовище віртуальної машини, дуже стабільним, це, безумовно, не дуже гарна ідея, хоча дивитися на дистрибуцію є.
Ківі

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