Poszukuję narzędzi do budowy minimalnego pulpitu Linux

13

Coraz bardziej jestem niezadowolony z faktu, że konfiguracja pulpitu Linuksa zwykle oznacza usunięcie wzdęcia zamiast dodawania i poprawiania funkcji. Doszedłem do wniosku, że wolałbym zacząć od czegoś bardzo minimalnego, a następnie dodawać pakiety, o których się dowiem, które zapewniają dodatkową funkcjonalność.

Dlatego szukam albo bardzo minimalnej dystrybucji pulpitu, albo jeszcze lepszego narzędzia do zbudowania takiej dystrybucji . Innymi słowy, chcę zastąpić menedżera pakietów narzędziem do budowania przed uruchomieniem .

Menedżer pakietów nie zaszkodzi, ale szukam dystrybucji, która koncentruje się na zaawansowanej wstępnej konfiguracji zamiast dużego repozytorium pakietów

Patrzyłem na różne minimalne dystrybucje pulpitu, ale wszystkie wydają się rozwiązywać różne problemy, np. Są zaprojektowane do uruchamiania na starszym sprzęcie lub z cd / stick / ramfs. Ale nie chcę minimalnej dystrybucji, ponieważ mam stary sprzęt, ale ponieważ chcę wiedzieć, w jakim celu odgrywają różne części. Uruchamianie z pamięci głównej też tam nie pomaga, chcę coś minimalnego i prostego.

Ponieważ wydaje się, że nie ma dystrybucji zaprojektowanych z myślą o rodzaju minimalizmu, mam na myśli oczywisty wybór, aby zbudować Linux From Scratch . Jednak chociaż chcę, aby proces kompilacji był wysoce dostosowywany, musi on również zostać zautomatyzowany, ponieważ będę musiał uruchomić go kilka razy, aż będę mieć system, z którego jestem zadowolony.

Chociaż istnieje narzędzie dla LFS, które może zautomatyzować proces kompilacji, nie jest to tak naprawdę jego integralna część. Zasadniczo wyodrębnia kroki wymagane do zbudowania systemu z dokumentacji, a następnie robi to automatycznie. Szukam czegoś bardziej solidnego i zaawansowanego, a także nie mam ochoty edytować xml.

Po krótkich poszukiwaniach znalazłem Buildroot, który ma budować wbudowane dystrybucje, ale umożliwia także instalację X11. Przed zbudowaniem łańcucha narzędzi, a następnie rootfów kompilację można skonfigurować przy użyciu make menuconfigsystemu Linux. Wygląda to dokładnie tak, jak miałem na myśli, z tym wyjątkiem, że jest przeznaczony do kompilacji krzyżowej dla systemów osadzonych.

To, co obecnie mam na myśli, to użycie buildroot, ale najpierw wyrywam wszystkie osadzone określone części, zastępując je odpowiednimi częściami z LFS. Dużo pracy.

Co więcej, istnieją pewne problemy z buildroot, co najważniejsze (jak wynika z moich ograniczających testów), po prostu włączenie dodatkowego pakietu powoduje, że dziura jest odbudowywana od zera, ale w przypadku błahych zmian chciałbym tego uniknąć.

Zanim zainwestuję w ten czas, będę kontynuować poszukiwania dystrybucji pulpitu za pomocą narzędzia do instalacji przedinstalacyjnej , takiego jak buildroot, będącego alternatywą dla / fork of buildroot przeznaczonego do tworzenia dystrybucji desktopów.

Edycja: Odpowiedzi do tej pory wskazują na dystrybucje takie jak np. Gentoo, z czego obecnie korzystam. Ale szukam alternatywy dla dystrybucji takich jak Gentoo, Arch, Debian itp., Ponieważ te dystrybucje nie są wystarczająco minimalne. Trzeba także dostosować te dystrybucje po instalacji. Chcę coś, co można dostosować przed instalacją.

Chociaż wszystkie wymienione dystrybucje są dobre, nie są tym, czego szukam. To, czego szukam, to „buildroot for desktop” . Jeśli nie wiesz, co to jest buildroot, prawdopodobnie nie będziesz w stanie udzielić odpowiedzi, która mnie zadowala.

Nie sądzę też, aby to pytanie było subiektywne. Po prostu nie mogę znaleźć niczego, co byłoby bliskie moim potrzebom, i dlatego proszę o wskazanie mi projektów, które mogą dostarczyć przynajmniej części tego, czego potrzebuję.

Tarsjusz
źródło

Odpowiedzi:

5

Możesz użyć czegoś takiego jak Kickstart , która jest funkcją anacondainstalatora Fedory, CentOS, RHEL i dystrybucji pochodnych, która pozwala ci całkowicie dostosować instalację do własnych upodobań. Możesz wybrać pakiety, które chcesz zainstalować, układ partycji, konfigurację sieci, repozytoria pakietów, hasło roota i wiele więcej. Możesz także tworzyć skrypty przedinstalacyjne i poinstalacyjne, które robią co tylko chcesz. Możesz uruchomić instalację w pełni automatycznie lub wybrać i wybrać to, o co ma pytać. Wszystkie ustawienia są zdefiniowane w jednym prostym (nie XML) pliku tekstowym, który można wprowadzić ręcznie lub za pomocą system-config-kickstartnarzędzia graficznego .

Po skompletowaniu tego możesz zrolować własny dysk CD, jeśli chcesz, lub ustawić lokalizację sieciową w pliku kickstart, którym może być lokalny lub internetowy serwer lustrzany, przez FTP, HTTP lub NFS. Plik kickstart może również znajdować się w sieci, dzięki czemu możesz po prostu nagrać jeden dysk instalacyjny stub, aby uruchomić instalację (lub użyć wanilowego nośnika instalacyjnego) i użyć tak wielu różnych konfiguracji, jak tylko możesz znieść. Możesz nawet uruchomić go w sieci, całkowicie eliminując nośniki wymienne.

Opcje sieciowe lub niestandardowe media wirujące eliminują potrzebę posiadania „ogromnego repozytorium pakietów”, ale nadal będzie ono dostępne, jeśli zdecydujesz, że chcesz coś dodać. Ale, jeśli chcesz iść cały wieprz, można zbudować swój własny magazyn , cherry-picking RPMS od góry, dostosowując SRPMS do własnych upodobań, toczenia własne , lub nawet hackowania make && make installlub tar -jxfdo po instalacji skryptu.

Wiele dystrybucji ma podobną funkcjonalność, niektóre z nich również rozumieją pliki Kickstart, nawet jeśli nie implementują całego zestawu funkcji (jak Debian).

Łatki
źródło
Dzięki za wskaźnik, aby rozpocząć. Rzuciłem okiem na jego dokumentację, więc nie wiem jeszcze, czy będzie ona spełniać moje potrzeby, ale z pewnością wygląda interesująco. Zrozumiałeś, czego szukam, gratulacje :-) Nie „jeszcze” zaakceptuję twojej odpowiedzi, ponieważ nadal chcę zachęcić więcej odpowiedzi. Wciąż szukam konstruktora pochodzącego z minimalistycznej dystrybucji, a nie z głównego nurtu. Ten drugi może też dobrze to zrobić, ale nadal mam trochę więcej wiary w to pierwsze. Dzięki jeszcze raz.
Tarsius
1

Jeśli uważasz, że pojawienie się Gentoo powoduje zbyt wiele zależności, możesz wypróbować Slackware. Lub jeden z jego instrumentów pochodnych. Slackware od razu po wyjęciu z pudełka nie próbuje rozwiązać zależności. W ogóle.

Możesz także chcieć poznać Lunar Linux lub CRUX.

pepoluan
źródło
Nie chodzi o to, że nigdy wcześniej nie słyszałem o tych dystrybucjach, a raczej wykluczyłem je w przeszłości. Jednak ponownie rozważę; ze świeżego wyglądu wydają się co najmniej warte tego. Dzięki.
Tarsius
1

Wiem, że to trochę za późno w grze, aby odpowiedzieć, ale czy próbowałeś użyć http://susestudio.com/ ? Możesz wybrać wszystkie pakiety, które chcesz, aby były tak małe, jak chcesz, bez wzdęcia. Możesz stworzyć własne repozytorium. Możesz przesyłać własne pakiety, które będą dostępne w repozytorium. Zajmie ci to kilka godzin, aby uzyskać go tak, jak chcesz, ale pozwoli Ci zaoszczędzić kłopotów z buildroot.

Bbbh
źródło
1

Czy natrafiłeś także na LFScript ?

Linux From Script (lub „LFScript”) to nieoficjalna alternatywa dla „Automated Linux From Scratch”. LFScript zawiera dokładnie przetestowane skrypty wygenerowane z książek LFS i BLFS, dzięki którym można zbudować kompletny system operacyjny Linux od zera.

Kilka dalszych linuksowych dystrybucji Linuksa (do sprawdzenia przez wikipedię) obejmuje:

  • Tiny Core Linux
  • Salix OS
  • SliTaz i Tiny SliTaz
  • Cholerny mały Linux
  • ...
Gregor
źródło
0

Gentoo Linux pozwala budować dokładnie to, co chcesz. Od praktycznie nic po pełny pulpit. Jest to w zasadzie system kompilacji, który pozwala również dostosowywać funkcje w czasie kompilacji.

Keith
źródło
Używam Gentoo od wielu lat. Użyłem również katalizatora, metra i ostatnio własnego skryptu budowania, aby zbudować własne niestandardowe etapy przed instalacją. Kiedy nadal miałem zainstalowane niektóre aplikacje multimedialne, zainstalowanych było około 700 pakietów, teraz po ich usunięciu spadam do ~ 400. I że po usunięciu wielu flag użycia wprowadzających bezużyteczne zależności i usunięciu niektórych pakietów, które choć przydatne, przyniosły wiele zależności. Nie minimalne
Tarsius
Czy spodziewasz się więc, że zrobisz coś przydatnego? ;-)
Keith
1
Wolę zainwestować czas w instalowanie rzeczy, których wciąż brakuje, zamiast badać, co już zainstalowano, aby dowiedzieć się, że nie potrzebuję tego, ale mimo to nie mogę go usunąć, ponieważ jest on wbudowany w dystrybucję.
Tarsius
0

W rzeczywistości istnieje wiele opcji, które przejdą do sfery Subiektywnej.

Osobiście używam PLD-Linux, który pozwala mi zbudować działający system linux za pomocą kilkunastu poleceń (sformatuj system plików, zamontuj go, zainstaluj zestaw pakietów, skonfiguruj moduł ładujący, ustaw nazwę hosta itp.). Jeśli chodzi o pakiety, mogę wybrać jeden pakiet, którego potrzebuję, a mój system wychodzi tylko z zależnościami dla tej aplikacji. Jeśli potrzebuję apache, instaluję go, a system nie ma nic prócz podstaw, aby uruchomić. Jeśli potrzebuję firefoxa, instaluję go i otrzymuję podstawowy zestaw zależności X i w zasadzie nic więcej. Mam kilka skryptów, aby zautomatyzować to dalej do jednego lub dwóch poleceń, aby stworzyć działający system wirtualny o określonym celu.

Kilka innych dystrybucji Linuksa, takich jak ArchLinux i Gentoo, specjalizuje się w byciu lekkim lub dostosowanym do twoich potrzeb. Jeśli potrzebujesz bardziej konkretnej pomocy przy jednym z nich ...

Caleb
źródło