Puncte:44

Ce se înțelege prin „nucleul Ubuntu”?

drapel ng

Gândirea mea a fost că toate distribuțiile Linux foloseau un singur nucleu (cel dezvoltat de Linus Torvalds).

Deci, de ce toate distribuțiile Linux au propriul lor nucleu?

Puncte:89
drapel bd

Există un proiect, început și condus de Linus Torvalds, care menține codul sursă pentru un nucleu numit nucleu Linux. Acesta este ceea ce se distribuie la kernel.org. Rețineți că aceasta este nu un nucleu, este codul sursăâ în același mod în care o rețetă pentru un tort nu este în sine un tort.

Pentru a face un tort, trebuie să urmați rețeta pas cu pas, să amestecați ingredientele și să coaceți. Pentru a crea un nucleu, trebuie să configurați codul sursă pentru computerul dvs. și să-l compilați. În funcție de arhitectura țintă și de configurația pe care o alegeți (și există mult de opțiuni de configurare), ajungeți cu nuclee diferite. Nu extrem de diferit, dar diferit.

În plus, proiectul kernel-ului Linux este open-source. Este permis și încurajat pentru toată lumea să obțină propria copie a codului sursă, să-l modifice pentru uzul propriu și să-și distribuie propria copie modificatăâ la fel cum ai moștenit rețeta de prăjitură a bunicii tale pe care ea a adaptat-o ​​dintr-o veche carte de bucate și este posibil să aveți propriile variații personale.

În timp ce majoritatea oamenilor nu pirata pe propria lor versiune personală a codului sursă al nucleului, proiectele de distribuție precum Ubuntu, Fedora, Slackware etc. își distribuie propriile versiuni modificate ale nucleului Linux. Adesea, modificările sunt simple: remedieri de erori retroportate de la versiuni mai recente ale nucleului âupstreamâ și remedieri de securitate care nu au ajuns încă în nucleul upstream. Dar ele pot fi orice crede proiectul de distribuție că ar face versiunea lor „mai bună”, pentru definiția acelui proiect de „mai bună”.

Deci, de aceea vorbim despre âkernel-ul Ubuntuâ ca ceva separat de âkernel-ul Linuxâ â pentru că este într-adevăr diferit. Nucleul Ubuntu este menţinută de Canonical. Este construit pe nucleul Debian, care este în sine o distribuție a nucleului Linux. Nu cunosc toate diferențele dintre nucleul Ubuntu și kernel-ul Linux. (Nu pentru că ar fi secret, ci pentru că pur și simplu nu sunt conștient.) Cred această pagină listează o grămadă, și aici sunt patch-urile pentru nucleul Debian.

În cele din urmă, toate nucleele sunt pe scurt la fel, și de aceea vorbim despre toate ca Linux. Nu este în interesul nimănui să-și schimbe atât de mult nucleul încât să fie extrem de incompatibil. Distribuțiile diferă mult mai mult în varietatea de programe pe care le distribuie împreună cu nucleul lor pentru a crea un întreg sistem de operare.

drapel tn
„Există o mulțime de opțiuni de configurare” este o subestimare. Driverele de dispozitiv Windows sunt de obicei entități separate, în timp ce în Linux sunt adesea încorporate în kernel (deși cred că mai puțin în zilele noastre decât acum un deceniu sau cam asa ceva). Deci... aveți nevoie de suport I2C? Suport IDE? Suport CAN-BUS? Suport pentru virtualizare? Ce arhitectură CPU vizați (chiar și în amd64 există mai multe variante)? „[Nucleul conține aproape ***două mii*** opțiuni de configurare diferite](https://www.linuxtopia.org/online_books/linux_kernel/kernel_configuration/ch05.html)” (sublinierea adăugată).
drapel cn
TL;DR: Ubuntu kernel = vanilla Linux kernel + colecție de corecții de la Canonical
drapel ve
Moo
Doar pentru a adăuga un comentariu care acceptă acest lucru - Docker și alte sisteme de containerizare folosesc nucleul gazdă pentru toate interacțiunile la nivel de nucleu de către containere, ceea ce înseamnă că puteți rula Debian, Ubuntu, Slack, Arch etc pe baza *containere* pe un Redhat * gazdă* de exemplu. Și vor funcționa (cu cazuri de margine minime pe care trebuie să le vânați de fapt). Deoarece nucleele sunt în esență compatibile la un anumit nivel și acesta este nivelul la care funcționează containerizarea. Dacă nucleele de distribuții diferite nu ar fi compatibile, nu ai putea rula un container bazat pe Ubuntu pe altceva decât Ubuntu.
andrew.46 avatar
drapel in
@Chris Bouchard O corectie foarte mica si oarecum pedanta: kernel-ul care vine cu Slackware nu este modificat deloc. Este un miez complet "vanilie"...
Puncte:12
drapel cn

Oarecum suprasimplificat:

Există un kernel Linux, dar dezvoltarea este în curs de desfășurare. Dacă faceți instantanee la câteva săptămâni distanță, veți găsi mici diferențe.

Diferite distribuții Linux își fac instantaneele în momente diferite și fiecare are opțiunea de a adăuga propriul sos secret. Mai multe mici diferențe.

Puncte:7
drapel vn

Când vizitezi kernel.org, veți vedea că există mai multe versiuni diferite de kernel.

Pe scurt, acestea sunt:

  • Linie principală: nucleul de dezvoltare Linus îl menține.
  • Stabil: cea mai recentă ramură stabilă.
  • Pe termen lung: versiuni mai vechi de kernel cu remedieri de securitate backported.

Nucleele Ubuntu urmează, în general, același principiu. Când se lansează o versiune de Ubuntu, aceasta rămâne în general la versiunea de kernel care era „stabilă” la momentul lansării (și apoi devine acceptată „pe termen lung” în acea versiune de Ubuntu).

De exemplu, versiunea 18.04 (Bionic) este pe ramura nucleului 4.15, iar 20.04 (Focal) este pe ramura nucleului 5.4.

Mai târziu, într-un ciclu de lansare, ar putea fi disponibile nuclee „HWE” (activare hardware), care se află pe o ramură mai nouă (de exemplu, Focal HWE este pe ramura 5.8). Toate acestea fac parte din ecosistemul nucleului Ubuntu, pentru a oferi mai multe opțiuni utilizatorilor săi.

În plus, există diferite versiuni de kernel pentru diferite platforme (cloud și barebone) - de exemplu Azure, AWS, KVM, Raspi, RiscV etc.

Asta (mai degrabă tocilar) tabel de cartografiere arătați care nuclee Ubuntu corespund versiunilor de nucleu principal. Diferite pachete de nucleu pot fi găsite și pe Liste de pachete Ubuntu.

N0rbert avatar
drapel zw
Unele link-uri precum https://packages.ubuntu.com/search?suite=all&searchon=sourcenames&keywords=linux pot fi și ele utile.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.