Większość dystrybucji Linuksa jest dostarczana z pewną wersją jądra i aktualizuje ją tylko w wydaniach punktowych ( x.y.z
do x.y.(z+1)
) i aktualizacjach bezpieczeństwa.
Z drugiej strony wiem, że Linux ma bardzo surową politykę, aby nie zmieniać ABI jądra i nigdy nie łamać przestrzeni użytkownika. W rzeczywistości Linus miał wiele publicznych napadów złości skierowanych do programistów, którzy chcieli (umyślnie lub przypadkowo) zmienić jądro w sposób niezgodny z poprzednimi wersjami.
Nie rozumiem, dlaczego dystrybucje używają „stabilnych” jąder zamiast zawsze aktualizować do najnowszego jądra. To nie jest krytyka, jestem ciekawy powodu.
linux
linux-kernel
imgx64
źródło
źródło
Odpowiedzi:
Interfejsy wywołań systemowych jądra systemu Linux są bardzo stabilne. Ale jądro ma inne interfejsy, które nie zawsze są kompatybilne.
/proc
jest w większości stabilny, ale w przeszłości zaszło kilka zmian (np. niektóre interfejsy przenoszą się w/sys
jakiś czas po/sys
utworzeniu)./sys
zawiera niektóre stabilne interfejsy (wymienione wDocumentation/ABI/stable
), a niektóre nie. Nie powinieneś używać tych, które nie są, ale czasami ludzie tak robią, a proste ulepszenie bezpieczeństwa i stabilności nie powinno dla nich zepsuć.Podsumowując, głównym powodem, aby nie przełączać się na nowszą wersję jądra, są moduły innych firm.
Niektóre dystrybucje oferują jednak najnowsze jądra jako opcję. Na przykład Debian udostępnia jądra z testowania użytkownikom stabilnej wersji za pośrednictwem backportów. Podobnie w Ubuntu LTS jądra z nowszych wersji Ubuntu są dostępne, ale nie są domyślnie używane. Jest to szczególnie przydatne w przypadku nowych instalacji na sprzęcie, który nie był jeszcze obsługiwany po sfinalizowaniu dystrybucji.
źródło
Nie pracuję dla dystrybucji, ale mogę wymyślić co najmniej dwa powody:
źródło
Bardziej konserwatywne dystrybucje śledzą (i aktywnie uczestniczą) stabilne wersje jądra, ze względu na stabilność. Bardziej ryzykowni używają jednego jądra lub jednej wersji najnowszej i najlepszej wanilii, a także rozprysków łatek przeniesionych z końcówki deweloperskiej (i niektórych domowych).
Obecna polityka rozwoju jądra jest taka, że wersja Linusa wyprzedza błyszczące, nowe zabawki i nie boi się zmian hurtowych. Niektóre wersje są uważane za wystarczająco stabilne (jeśli chodzi o rozwój), aby stanowić podstawę do rygorystycznych testów i stabilizacji, dając stabilne serie.
Wszystko to jest możliwe dzięki używanym narzędziom, każdy może pielęgnować swoje własne drzewo git , utrzymywać ciekawe gałęzie i drzewa zsynchronizowane lokalnie, odszukiwać od innych i swobodnie udostępniać lokalne zmiany.
źródło