Dystrybucje obsługujące kompilację ze źródła

21

Dawno, dawno temu używałem FreeBSD z systemem portów, a potem Gentoo do portage w celu instalowania aplikacji poprzez kompilację ze źródła. Zrobiłem to, aby bezpośrednio celować w mój system.

Czy są jeszcze jakieś dystrybucje, które obsługują taką konfigurację? Wydaje mi się, że pamiętam, że Slackware ma coś podobnego.

żebrak
źródło
pytanie, czy chodzi o kompilację całego systemu ze źródła, czy też o kompilację poszczególnych pakietów, nie jest jasne. Czy przez dystrybucje masz na myśli systemy operacyjne oparte na Linuksie, wszystkie wolne systemy uniksopodobne, czy coś innego? Jeśli twoje pytanie ogranicza się do darmowych dystrybucji uniksopodobnych, to z definicji wszyscy mogą instalować pakiety, kompilując je ze źródła, ale stosunkowo niewiele (Gentoo i bardziej niejasni krewni, tacy jak Sourcemage dla systemów operacyjnych opartych na Linuksie) i prawdopodobnie niektóre BSD ( Nie jestem z nimi tak znany), jeśli chodzi o kompilację całego systemu.
Faheem Mitha
Wszystkie dystrybucje Linuksa pozwalają na kompilowanie rzeczy, a także można budować własne pakiety binarne i instalować je. To jest właśnie to, co robią pakiety dystrybucyjne, aby tworzyć nowe wersje dystrybucji.
vonbrand,

Odpowiedzi:

8

Nie wiem o kompletnym narzędziu „buduj system ze źródła” dla Debiana, ale obsługuje to w sposób kompleksowy poprzez apt-src, który pobierze i zbuduje pakiet, a następnie zainstaluje wynikową kompilację.

Avery Payne
źródło
2
Istnieje apt-build. packages.debian.org/search?keywords=apt-build
Daniel James
Och, „zbuduj system”, nie jestem pewien, czy zrobi to za ciebie cały system.
Daniel James
Oba są interesujące. Na pewno je wypróbuję. Dzięki!
żebrak
8

Istnieje kilka dystrybucji, które obsługują zarówno pakiety binarne, jak i skompilowane - teoretycznie Gentoo to obsługuje, ale nie sądzę, że istnieje zbyt wiele pakietów binarnych. Arch obsługuje także budowanie ze źródła oprócz pakietów binarnych za pośrednictwem Arch Build System (ABS), chociaż nie mam z tym żadnego doświadczenia.

BR
źródło
+1 za Arch (choć możesz podać link do pierwszej strony Arch i może AUR)
ksenoterracid
Gentoo to moja ulubiona dystrybucja +1
Chris Huang-Leaver,
Dałbym więcej linków, ale pomyślałem, że muszę mieć więcej niż <x> powtórzeń (w każdym razie więcej niż 100), aby dodać więcej niż 1 link, tak było w przypadku StackOverflow. Widzę, że tak nie jest, więc linki są dodawane!
BR
3

Gentoo jest tutaj najlepszym wyborem, co jest złego w korzystaniu z niego do własnych potrzeb?

Greg KH
źródło
1
Jestem tylko maniakiem dystrybucji i lubię instalować i wypróbowywać różne. Gentoo zawsze było moim ulubionym, ale wraz z żoną, dziećmi i biznesem, aby spędzić czas, który muszę poświęcić dbając o instalację Gentoo, znacznie się zmniejszyło.
żebrak
3

Możesz także wypróbować starego i potężnego Linuksa od podstaw .

zugaldia
źródło
3

Większość dystrybucji Linuksa obsługuje budowanie pakietów z kodu źródłowego. Musisz po prostu zainstalować niezbędne pakiety programistyczne z repozytoriów dystrybucyjnych wraz ze szczegółowymi wymaganiami budowanego pakietu. Jeśli chcesz zbudować system tak blisko zera, jak to możliwe, Linux od podstaw jest modelem, ale ponosisz większą odpowiedzialność za śledzenie aktualizacji zabezpieczeń, poprawek itp. Arch Linux był dystrybucją, którą wybrałem, ponieważ pozwala na budowanie z źródło i zapewnia źródła aktualizacji i poprawek itp. Arch ma naprawdę dobrą obsługę użytkowników i mnóstwo dokumentacji, jeśli chodzi o rozwiązywanie problemów z instalacją i konfiguracją.

onemystyczny
źródło
2

Wiele dystrybucji opartych na RPM ma źródłowe pakiety RPM. Debian i Ubuntu mają również debugi źródłowe. Czy szukasz innych dystrybucji, które są przede wszystkim zbudowane ze źródła lub po prostu dystrybucje, które mają dostępne pakiety źródłowe. Jeśli to drugie, odpowiedź brzmi „wiele / większość” z nich.

kbyrd
źródło
2

Niektórzy przychodzą na myśl, że osobiście użyłem: LFS (oczywiście), SourceMage , i ktoś zrobił jeden z makefile LNX-BBC, nie mogę go teraz znaleźć. Ale uważam, że Debian jest wystarczająco dobry, aby samemu skompilować pakiety, jeśli zajdzie taka potrzeba.

Powinieneś również sprawdzić, czy lista jest dostarczana przez dystrybucje oparte na źródłach DistroWatch :

Elmarco
źródło
2

Jeśli chcesz spróbować czegoś nieco innego, jest GoboLinux i NixOs .

Daniel James
źródło
Nixostrożnie śledzi zależności, dokładnie opisuje proces kompilacji jako czysto funkcjonalne rzeczy, w których wszystkie zależności są jawne. To powinno dać użytkownikowi większą elastyczność w odważnym łączeniu i dostrajaniu rzeczy i mieć pewność, że wynik nie będzie niepoprawny.
imz - Ivan Zakharyaschev
2

W ALTLinux wkłada się wiele wysiłku w utrzymywanie dokładnych plików specyfikacji pakietów, a budowanie pakietów jest dokładnie powtarzalne w obecnym stanie repozytorium pakietów. Regularnie sprawdza się, czy każdy pakiet w repozytorium (zwany Syzyfem ) można w tej chwili odbudować - raport o stanie testu odbudowy , dzienniki ostatniego testu odbudowy, na pakiet .

Aby zapewnić dokładną odtwarzalność kompilacji pakietów, stosuje się specjalne narzędzia do izolowania systemu kompilacji od systemu hosta: hasher i otaczające narzędzia infrastruktury kompilacji (np. Budowanie pakietów ze sprzętem ).

Tak więc, chociaż ALTLinux nie jest przeznaczony do instalowania systemu przez budowanie, można być pewnym, że pakiet, który pobierze z repozytorium, będzie można łatwo odbudować w systemie hosta , bez dodatkowych problemów, które nie były formalnie śledzone przez specyfikację.

ALTLinux jest dedykowany jako źródło niestandardowych repozytoriów i dystrybucji pakietów, które - dzięki projektowi systemu kompilacji ALTLinux i powiązanych narzędzi - można łatwo dostosować i odbudować niezależnie od ALTLinux i bezpiecznie (tj. Odizolować od systemu hosta). Tak więc, jeśli ktoś chce stworzyć własną dystrybucję, ALTLinux Syzyf może być bazą dla tej dystrybucji, którą będzie mógł łatwo wykorzystać w swojej pracy: Wprowadzenie do tworzenia własnej dystrybucji (po rosyjsku) .

imz - Ivan Zakharyaschev
źródło
Oto kilka szczegółowych informacji na temat kontroli spójności repo przeprowadzanych przez girar-buildera ALTLinux (infrastrukturę kompilacji), jeśli ktoś będzie zainteresowany (chociaż nie chodzi tu bezpośrednio o samą budowę, ale o utrzymanie spójnego repo powstałych pakietów) : stackoverflow.com/questions/1316716/… .
imz - Ivan Zakharyaschev
1

Skompilowałem Squid w Open SUSE, aby dystrybucja go wspierała.

James
źródło
1

Tak, masz rację, slackware używa skryptów kompilacji do kompilowania pakietów. Jest ich wiele dostępnych na stronie http://slackbuild.org/ . Istnieją również szablony nowych skryptów i zawsze możesz przesłać swoje skrypty, jeśli chcesz.

phunehehe
źródło
1

Nie do końca to, do czego zmierzasz , ale spójrz na tinycore . Całą cenę tworzenia obrazów można wykonać ze źródeł.

polemon
źródło
1

Niedawno zadano bardzo podobne pytanie.

Moja odpowiedź na to pytanie brzmi: Jak zbudować cały Debian

Teoretycznie wszystkie dystrybucje mogą być budowane ze źródła. Szczegóły mogą się nieznacznie różnić z każdą dystrybucją, ale metoda, którą wymieniłem, ma solidny punkt początkowy.

bahamat
źródło
0

Czy to musi być Linux, czy też inne unixy są w porządku?

Kompletny system NetBSD można zbudować ze źródła, korzystając z jego systemu build.sh . System, na którym budujesz, nie musi nawet być NetBSD, zrobiłem to z Linuksa lub OS X. Kompilacja może wygenerować instalację .iso, więc nie musisz bawić się programami ładującymi, aby uzyskać nowy system operacyjny bieganie.

Po zbudowaniu i zainstalowaniu systemu podstawowego można łatwo zainstalować inne pakiety ze źródła za pomocą menedżera pakietów pkgsrc NetBSD .

vasi
źródło