Jika Anda sudah lama menjadi pengguna Linux, Anda pasti tahu bahwa distribusi Linux memiliki versi unik dan setiap versi memiliki nama kode tertentu. Kernel Linux juga memiliki nomor versi yang berbeda, yang bertindak sebagai pengenal untuk seri yang dimiliki kernel. Namun, ada perbedaan antara bagaimana versi kernel dibentuk sebelumnya dan bagaimana Linus Torvalds menamainya sekarang.
Pada akhirnya, Anda akan lebih terbiasa dengan skema versi kernel Linux dan akan merasa lebih nyaman membaca nomor versi kernel dan mengidentifikasi berbagai fitur yang terkait dengan a rilis tertentu.
Versi Kernel Linux Tradisional
Ketika Linus pertama kali mulai mengembangkan kernel, sistem versi yang digunakan hanya terdiri dari skema variabel inkremental yang dimulai dengan nol (0.x). Awalnya, Linus adalah satu-satunya yang mengerjakan proyek, dan sistem versi ini mencukupi kebutuhan untuk mendokumentasikan dan mendistribusikan rilis kernel baru.
Berikut adalah beberapa rilis kernel yang mengikuti skema penamaan ini:
Kemudian, karena semakin banyak pengembang mulai berkontribusi pada proyek dan jumlah revisi dan tambalan meningkat secara signifikan, diputuskan bahwa skema versi ini tidak cocok untuk perangkat lunak seperti inti. Dan mulai dari versi 1.0, Linus mengadopsi skema baru dengan beberapa variabel tambahan.
Pengenalan Sistem Versi yang Lebih Deskriptif
Pada tahun 1994, dengan rilis kernel Linux 1.00, Linus mulai menggunakan sistem versi baru yang menggunakan tiga variabel dalam sintaks: "a.b.c". Variabel-variabel ini (a, b, dan c) masing-masing mewakili rilis utama, rilis minor, dan nomor revisi untuk rilis kernel tertentu.
Ambil kernel Linux 1.1.95 sebagai contoh. Anda dapat mendekodenya sebagai rilis mayor pertama, rilis minor pertama, dan revisi ke-95.
Pada saat itu, bahkan nomor versi minor menunjukkan rilis kernel yang stabil, sementara yang ganjil mewakili rilis pengembangan. Penting untuk memiliki cabang terpisah sehingga pengembang dapat menambahkan dan menguji fitur baru di kernel tanpa mempengaruhi cabang stabil.
Pengembang kernel menambahkan dan meningkatkan fitur baru di cabang pengembangan hingga cukup stabil untuk dirilis sebagai kernel LTS. Kernel LTS 3.2 dikembangkan dengan menstabilkan fitur-fitur baru di versi 3.1, dan juga versi baru pengembangan kernel 3.3 bercabang dari 3.2 untuk memberi jalan bagi fitur-fitur baru yang kemudian akan diperkenalkan di Linux 3.4.
Mulai dari kernel Linux 2.4, variabel keempat dalam nama kernel menunjukkan rilis patch. Anda dapat mengatakan bahwa versi 2.4.37.10 adalah rilis patch kesepuluh untuk kernel 2.4.37.
Rilis tambalan tidak berarti jumlah masalah yang ditambal dalam rilis kernel. Sebagai gantinya, ini menghitung berapa kali kernel yang diperbarui dirilis setelah menambal masalah yang ditemukan.
Sampai Linux 2.6, sistem versi ini digunakan, dan efektif dalam membedakan versi tertentu dari yang lain. Menambahkan jumlah revisi dan rilis tambalan di nomor versi bersifat deskriptif, tetapi itu berarti memiliki versi kernel yang lebih panjang dan lebih kompleks. Dan sekali lagi, skema baru dan lebih baik diperlukan.
Bagaimana Versi Kernel Linux Dinamai Sekarang?
Dengan Linux versi 3.0, Linus menjatuhkan variabel keempat dari nomor versi. Sekarang, versi kernel dibentuk sesuai dengan sintaks: a.b.c, di mana a, b, dan c masing-masing adalah rilis utama, rilis minor, dan jumlah revisi. Skema versi ini mirip dengan yang digunakan antara rilis kernel 1.0 dan 2.4.
Karena kemajuan dalam sistem kontrol versi, kontributor sekarang dapat bekerja dengan lancar di cabang yang stabil dan menambahkan fitur baru tanpa secara tidak sengaja merusak rilis stabil yang sudah berfungsi. Oleh karena itu, penggunaan nomor versi minor genap dan ganjil untuk cabang produksi dan stabil kernel menjadi berlebihan setelah pengenalan kernel versi 4.0, dan rilis LTS pertama (4.1) di itu 4.x seri memiliki nomor versi minor yang aneh.
Anda mungkin juga melihat beberapa karakter di akhir nomor versi, seperti rcX. Kandidat tinjauan (atau singkatnya "rc") adalah rilis pratinjau dan versi pra-patch dari kernel yang perlu ditambal oleh pengembang untuk menghapus bug dan masalah lainnya. Ini adalah pengganti untuk rilis pengembangan yang sebelumnya dilambangkan dengan nomor versi minor yang ganjil.
Meskipun rilis ini secara khusus disediakan untuk pengembang kernel sehingga mereka dapat memperbaiki masalah yang dilaporkan dan mengimplementasikan fitur baru, Anda juga dapat unduh dan uji kandidat tinjauan kernel ini jika Anda mau, tetapi umumnya tidak disarankan mengingat ini adalah tempat sebagian besar pengembangan terjadi. Versi pratinjau terbaru dari kernel pada saat penulisan ini adalah 5.19-rc6.
Untuk membuat versi baru, variabel sebelumnya bertambah ketika nilai variabel mencapai angka tertentu. Misalnya, versi mayor diperbarui ke digit berikutnya setiap kali jumlah versi minor mendekati 20.
Linus disebutkan dalam email pengembangan kernel 5.0-nya bahwa dia hanya memperbarui nomor mayor menjadi lima karena jumlah pelepasan minor menjadi terlalu besar untuk dihitung dengan jari tangan dan kaki (20!). Demikian pula menurut kernel.org, nomor versi utama bertambah ketika nomor setelah titik pertama mulai terlihat "terlalu besar". Versi kernel terakhir di 3.x seri adalah 3,19 dan jurusan terakhir 4.x seri kernel adalah 4.20, yang kemudian ditingkatkan menjadi 5.0.
Sejak versi 3.0, kernel Linux telah mengikuti skema pembuatan versi ini dan telah terbukti efisien selama tiga rilis kernel utama (versi 3.x, 4.x, dan 5.x).
Mengidentifikasi Rilis Kernel Linux Menggunakan Nomor Versi
Mengingat banyaknya versi kernel Linux yang dirilis, ada kebutuhan untuk sistem yang tepat untuk mengidentifikasi dan membedakan versi tertentu dari yang lain. Dengan skema versi kernel yang baru, versi kernel sekarang dapat diidentifikasi dan dibandingkan secara efektif, dan mudah untuk mengetahui versi kernel mana yang terbaru dan mana yang dirilis lebih awal.
Jika Anda ingin memeriksa versi kernel Linux yang saat ini terinstal di sistem Anda, Anda dapat melakukannya menggunakan uname, perintah Linux yang memungkinkan Anda membuat daftar informasi terkait sistem. Bergantung pada distro yang Anda jalankan, nomor versi yang ditampilkan oleh uname mungkin berbeda dari versi kernel Linux yang sebenarnya.