Apa yang mencegah distribusi menggunakan kernel Linux terbaru? [Tutup]

13

Sebagian besar distribusi Linux dikirimkan dengan versi kernel tertentu dan hanya memperbaruinya pada rilis titik ( x.y.zke x.y.(z+1)) dan untuk pembaruan keamanan.

Di sisi lain, saya tahu bahwa Linux memiliki kebijakan yang sangat ketat tentang tidak mengubah kernel ABI dan tidak pernah merusak ruang pengguna. Faktanya, Linus telah membuat banyak kemarahan publik diarahkan pada pengembang yang ingin (secara sengaja atau tidak sengaja) mengubah kernel adalah cara yang tidak kompatibel dengan mundur.

Saya tidak mengerti mengapa distribusi menggunakan kernel "stabil" alih-alih selalu memperbarui ke kernel terbaru. Ini bukan kritik, saya hanya ingin tahu tentang alasannya.

imgx64
sumber
1
karena kernel terbaru kurang pengujian. itu mungkin mengandung bug yang dapat mempengaruhi stabilitas sistem dan stabilitas adalah fokus utama dari setiap pengelola distribusi.

Jawaban:

8

Antarmuka panggilan sistem kernel Linux sangat stabil. Tetapi kernel memiliki antarmuka lain yang tidak selalu kompatibel.

  • /procsebagian besar stabil, tetapi ada beberapa perubahan di masa lalu (misalnya beberapa antarmuka pindah ke /sysbeberapa waktu setelah /sysdibuat).
  • Sejumlah antarmuka yang terkait dengan perangkat telah dihapus di masa lalu.
  • /sysberisi beberapa antarmuka yang stabil (terdaftar dalam Documentation/ABI/stable) dan beberapa yang tidak. Anda tidak seharusnya menggunakan yang tidak, tetapi kadang-kadang orang melakukannya, dan peningkatan keamanan dan stabilitas yang sederhana seharusnya tidak merusak barang-barang untuk mereka.
  • Ada ketidakcocokan dengan modutils di masa lalu (kernel yang lebih baru membutuhkan versi modutils yang lebih baru), meskipun saya pikir itu beberapa waktu yang lalu.
  • Ada juga ketidakcocokan sehubungan dengan proses boot pada beberapa konfigurasi yang tidak biasa. Bahkan meningkatkan ukuran kernel dapat menyebabkan masalah pada beberapa sistem embedded.
  • Sementara antarmuka eksternal kernel cukup stabil, antarmuka internal tidak. Aturan untuk antarmuka internal adalah bahwa siapa pun dapat memecahkannya selama mereka memperbaiki penggunaan internal, tetapi memperbaiki modul pihak ketiga adalah tanggung jawab penulis modul tersebut. Secara keseluruhan cukup banyak instalasi menjalankan modul pihak ketiga: driver tambahan untuk perangkat keras yang tidak didukung oleh kernel (jika perangkat keras didukung oleh kernel baru, itu bagus, tetapi bagaimana jika tidak), driver berpemilik ( sementara dunia akan menjadi tempat yang lebih baik jika semua driver adalah open source, ini bukan masalahnya; misalnya, jika Anda ingin kinerja GPU 3D yang baik, Anda cukup terjebak dengan driver berpemilik), dll.
  • Beberapa orang perlu mengkompilasi ulang kernel mereka, atau beberapa modul pihak ketiga. Kernel yang lebih baru sering tidak dapat dikompilasi dengan kompiler lama.

Secara keseluruhan, alasan utama untuk tidak beralih ke versi kernel yang lebih baru adalah modul pihak ketiga.

Meskipun demikian, beberapa distribusi menawarkan kernel terbaru sebagai opsi. Sebagai contoh, Debian membuat kernel dari pengujian tersedia untuk pengguna rilis stabil melalui backports. Demikian pula, pada Ubuntu LTS, kernel dari rilis Ubuntu yang lebih baru tersedia, tetapi tidak digunakan secara default. Ini sebagian besar berguna untuk instalasi baru pada perangkat keras yang belum didukung ketika distribusi selesai.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
9

Saya tidak bekerja untuk distribusi, tetapi saya bisa memikirkan setidaknya dua alasan:

  • Beberapa distribusi menerapkan tambalan khusus mereka ke Kernel yang belum digabungkan ke dalam arus utama. Ini berarti untuk setiap pembaruan Kernel yang mereka butuhkan untuk memastikan bahwa tambalan mereka tidak merusak apa pun dan masih berfungsi dengan baik.
  • Bahkan rilis Kernel stabil terbaru dapat mengandung bug, distribusi yang menganggap keandalan dengan serius ingin melalui beberapa prosedur / proses pengujian sebelum mengirimkan Kernel kepada pelanggan mereka.
ulangan
sumber
2
Lagipula tambalan khusus distribusi tidak dimaksudkan untuk hulu. Dan kernel hulu terbaru rata-rata akan mengandung lebih banyak bug daripada kernel "stok" yang diuji distribusi. Sebagian besar yang dilakukan oleh kernel oleh distribusi adalah mencoba menghilangkan / memperbaiki bug sebanyak mungkin, sementara tidak mengubah kode lebih dari yang diperlukan.
Faheem Mitha
0

Distribusi yang lebih konservatif mengikuti (dan berpartisipasi aktif dalam) versi kernel yang stabil , demi stabilitas. Lebih banyak petualang menggunakan kernel satu versi atau lebih di belakang vanilla terbaru & terhebat, ditambah percikan patch yang didukung dari ujung pengembangan (dan beberapa yang ditanam di rumah).

Kebijakan pengembangan kernel saat ini adalah bahwa versi Linus terus maju dengan mainan baru yang mengkilap, dan tidak takut dengan perubahan grosir. Beberapa versi dianggap cukup stabil (pengembangan-bijaksana) untuk membentuk dasar untuk pengujian dan stabilisasi yang ketat, memberikan seri stabil.

Semua ini dimungkinkan karena alat yang digunakan, semua orang dapat merawat pohon git mereka sendiri , menjaga cabang-cabang hulu yang menarik dan pohon disinkronkan secara lokal, mencuri dari orang lain, dan berbagi perubahan lokal dengan bebas.

vonbrand
sumber
Seri kernel stabil tidak dipilih berdasarkan stabilitas versi tertentu, ini arbitrer. Mulai tahun ini, seri stabil akan didasarkan pada versi pertama yang dirilis setiap tahun ... Setiap rilis kernel seharusnya stabil, dan tidak pernah merusak kompatibilitas.
Stephen Kitt