GNU/Linux >> Linux Esercitazione >  >> Linux

Cosa impedisce alle distribuzioni di utilizzare l'ultimo kernel Linux?

Non sto lavorando per una distribuzione, ma mi vengono in mente almeno due motivi:

  • Alcune distribuzioni applicano le loro patch personalizzate al Kernel che non sono ancora integrate nella linea principale. Ciò significa che per ogni aggiornamento del kernel devono assicurarsi che le loro patch non rompano nulla e continuino a funzionare correttamente.
  • Anche l'ultima versione stabile del kernel può contenere un bug, le distribuzioni che prendono sul serio l'affidabilità vorranno sottoporsi ad alcune procedure/processi di test prima di consegnare un kernel ai propri clienti.

La chiamata di sistema del kernel Linux le interfacce sono molto stabili. Ma il kernel ha altre interfacce che non sono sempre compatibili.

  • /proc è per lo più stabile, ma ci sono state alcune modifiche in passato (ad es. alcune interfacce sono passate a /sys qualche tempo dopo il /sys è stato creato).
  • In passato sono state rimosse diverse interfacce relative ai dispositivi.
  • /sys contiene alcune interfacce stabili (elencate in Documentation/ABI/stable ) e alcuni che non lo sono. Non dovresti usare quelli che non lo sono, ma a volte le persone lo fanno e un semplice aggiornamento di sicurezza e stabilità non dovrebbe rovinare le cose per loro.
  • Ci sono state incompatibilità con modutils in passato (i kernel più recenti richiedono una versione più recente di modutils), anche se penso che sia passato un bel po' di tempo.
  • Ci sono state anche incompatibilità rispetto al processo di avvio su alcune configurazioni insolite. Anche aumentare la dimensione del kernel potrebbe causare problemi su alcuni sistemi embedded.
  • Mentre il file esterno del kernel le interfacce sono piuttosto stabili, le interne le interfacce non lo sono. La regola per le interfacce interne è che chiunque può romperle fintanto che correggono gli usi interni, ma riparare i moduli di terze parti è responsabilità dell'autore di detti moduli. Nel complesso, molte installazioni eseguono moduli di terze parti:driver aggiuntivi per hardware non supportato dal kernel (se l'hardware è supportato dal nuovo kernel, va bene, ma se non lo è), driver proprietari ( mentre il mondo sarebbe un posto migliore se tutti i driver fossero open source, non è così; ad esempio, se desideri buone prestazioni della GPU 3D, sei praticamente bloccato con driver proprietari), ecc.
  • Alcune persone hanno bisogno di ricompilare il proprio kernel, o alcuni moduli di terze parti. I kernel più recenti spesso non possono essere compilati con compilatori più vecchi.

Tutto sommato, il motivo principale per non passare a una versione del kernel più recente sono i moduli di terze parti.

Alcune distribuzioni offrono comunque kernel recenti come opzione. Ad esempio, Debian rende i kernel di testing disponibili agli utenti del rilascio stabile tramite backport. Allo stesso modo, su Ubuntu LTS, i kernel delle versioni più recenti di Ubuntu sono disponibili, ma non utilizzati per impostazione predefinita. Ciò è particolarmente utile per le nuove installazioni su hardware che non era ancora supportato quando la distribuzione è stata finalizzata.


Linux
  1. Che cos'è il kernel Linux e dovresti aggiornare al kernel più recente?

  2. Qual è l'attuale sorgente del kernel Linux?

  3. Che senso ha usare la macro linux access_ok()

  4. Perché proteggere il kernel Linux dall'utente root?

  5. Qual è il vantaggio di compilare il proprio kernel Linux?

Unboxing dell'ultimo laptop Linux da System76

Utilizzo di Stratis per gestire l'archiviazione Linux dalla riga di comando

Come installare l'ultima versione di OpenSSL da Source su Linux

Qual ​​è la differenza tra i kernel macOS e Linux

Come installare l'ultimo kernel Linux su CentOS 7

Che cos'è la shell in Linux?