Jak rozpocząć nową dystrybucję Linuksa? [Zamknięte]


28

Niektórzy z moich przyjaciół i ja jesteśmy zainteresowani uruchomieniem nowej dystrybucji Linuksa. Jak to zrobimy? Co musimy zaplanować?

Historia

Reprezentuję społeczność sysadmin / implementatorów systemu Linux, których specjalnymi potrzebami są między innymi:

  • Specyficzna konfiguracja jądra typu „lean”
  • Zarządzanie pakietami, które odpowiada naszym „potrzebom w terenie”
  • Pakiety binarne zoptymalizowane pod kątem naszych „przypadków użycia”
  • System bez X.

Do rzeczy: potrzebujemy specjalnie skonfigurowanej dystrybucji Linuksa o jakości produkcyjnej, która będzie działała wyłącznie jako Para-zwirtualizowane serwery produkcyjne . Zamiast przeskakiwać przez wszystkie pętle i pętle za każdym razem, gdy potrzebujemy serwera zorientowanego na VM, bardzo chcielibyśmy częściowo przygotowany system zoptymalizowany pod kątem środowiska.

Ponieważ te maszyny wirtualne byłyby serwerami produkcyjnymi, stabilność jest koniecznością, i szczerze mówiąc, dostępne systemy zarządzania pakietami, o których wiemy, po prostu nie dają pewności. Zyppi Conarysą najbliższe naszym potrzebom, ale wciąż brakuje niektórych punktów.


1
Dokładnie, czego chcesz w menedżerze pakietów? To znaczy, na twoje potrzeby, jakie są słabości APT, Zypp, Conary, Yum ...?
tshepang

3
Zamiast wyjaśniać jeden po drugim, dążymy do tego: (1) wielopoziomowy poziom „stabilności” zamiast uproszczonego „testowania kontra stabilnego” (2) inteligentnego solvera zależności (3) wielu wersji (w ograniczony sens, coś w rodzaju SLOTów Gentoo Portage) (4) wycofanie (opcjonalne, ze względu na zdolność migawek hipernadzorców VM, ale nadal miło to mieć)
pepoluan

1
Czy możesz wyjaśnić, co oznacza wiele poziomów stabilności ?
tshepang

2
Czy aptitudesolver zależności jest wystarczająco zaawansowany?
tshepang

10
Każde ustawione przez Ciebie wymaganie jest spełnione, po prostu wybierając istniejącą dystrybucję i tworząc własne repozytorium (może z alternatywnym menedżerem pakietów) z własnym zdefiniowanym cyklem wydawniczym. Ale odrzuciłeś tę opcję, a także odrzuciłeś opcję LFS. Ponadto błędnie traktujesz menedżera pakietów jako krytyczny czynnik stabilności, który jest jedynie narzędziem pomocniczym, które samo w sobie ma niewiele wspólnego z ogólną stabilnością systemu.
forcefsck,

Odpowiedzi:


22

Możesz spojrzeć na Linuksa od podstaw :

Linux From Scratch (LFS) to projekt, który zawiera instrukcje krok po kroku dotyczące budowania własnego niestandardowego systemu Linux całkowicie ze źródła.


Prawie, ale nie do końca. To bardziej przypomina tworzenie niestandardowego systemu Linux na własne potrzeby. Ale moja społeczność chciałaby mieć cały framework, np. Niestandardowe jądra, niestandardowe init, niestandardowe zarządzanie pakietami itp. Jak zacząć?
pepoluan

4
Rozpoczynanie od LFS i budowanie na nim całego frameworka, tak jak to opisałeś, jest właściwie definicją „Uruchamiania własnej dystrybucji Linuksa”.
forcefsck,

2
@poluolu: nie ma na ten temat przewodnika. Po zainstalowaniu działającej powłoki i podstawowych narzędzi, masz system operacyjny. W pozostałym zakresie albo kopiujesz z innych dystrybucji, albo wszystko od nowa. Tak czy inaczej, tworzenie nowej dystrybucji wymaga dużo pracy i nie ma łatwych odpowiedzi, jak to zrobić.
forcefsck,

1
@forcefsck dzięki za ostrzeżenie :) ... Zgadzam się, niewątpliwie będzie to duże przedsięwzięcie. szkoda, że ​​nie ma „wojennych opowieści” ani czegoś takiego, żeby nie powtarzać żadnych błędów.
pepoluan

2
@poluolu Założę się, że są historie wojenne, ale nie tak czyste. Na przykład przejrzyj archiwa list adresowych we wczesnych dniach różnych dystrybucji.
tshepang

9

Będziesz potrzebował minimalnego działającego systemu, prawdopodobnie z innej dystrybucji, aby „załadować” własną dystrybucję wystarczającą do uruchomienia przynajmniej gcc lub innego kompilatora C. Następnie musisz zacząć od określenia, jakie biblioteki podstawowe (w tym libc) i oprogramowanie stanowią podstawowy stan systemu bez zainstalowanych pakietów. Następnie uzyskaj źródło tych bibliotek i oprogramowania i skompiluj je, upewnij się, że całe oprogramowanie może znaleźć potrzebne biblioteki i zacznij tworzyć środowisko podstawowe niskiego poziomu.

Zasadniczo środowisko bootstrap będzie niczym więcej niż uruchomionego jądra i absolutnego minimum trzeba uzyskać podstawową skorupę, kompilator C i podstawowych rzeczy, takich jak rm, cp, tari takie, że praca. Następną rzeczą, po której powinieneś zacząć działać, jest Perl. Po utworzeniu systemu podstawowego musisz go utrwalić i utworzyć kilka skryptów rozruchowych, które przenoszą system z początkowego rozruchu do użytecznej powłoki z kompilatorem.

Następnie musisz zaprojektować / napisać system i format pakietu oraz pobrać kod źródłowy do oprogramowania, które chcesz spakować, skompilować i spakować, a także zaprojektować solidny system dystrybucji dla swoich pakietów. Nic z tego nie jest banalne. Powodzenia.


Ach, bardzo pouczające, dzięki! Tak, nie mam złudzeń, że byłoby to proste przedsięwzięcie. Na szczęście nie jestem sam.
Zbierzę

0

Jeśli potrzebujesz tylko zestawu domyślnych aplikacji, możesz dostosować istniejącą dystrybucję, taką jak ubuntu, za pomocą prostych narzędzi. http://maketecheasier.com/reconstructor-creating-your-own-ubuntu-distribution/2008/07/05


Mmm ... nie bardzo. Widzisz, jestem częścią społeczności użytkowników, których potrzeby tak naprawdę nie są zaspokojone przez żadną istniejącą dystrybucję, szczególnie w odniesieniu do konfiguracji jądra i zarządzania pakietami. Wszyscy dobrze znamy Linuksa i mamy wystarczająco dużo wolnego czasu, aby spróbować stworzyć własną dystrybucję.
pepoluan


-1

Jest strona, na której można zobaczyć wszystkie dystrybucje oraz prosty opis i przegląd ich. Pomoże ci to wybrać najlepszy:

http://distrowatch.com/

Ale na początek sugeruję użycie Ubuntu lub Kubuntu. tak łatwe i przyjazne dla użytkownika.


Ubunut i kubuntu, gdy dążę do optymalizacji środowiska maszyn wirtualnych, bardzo stabilne, zdecydowanie nie jest dobrym pomysłem, chociaż wath na obserwację dystrybucji jest.
Kiwy

Sugeruję, aby dać mu punkt wyjścia do lepszego zapoznania się z nimi.
shgnInc
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.