Ringkasan bisnis plan
Anda mungkin ingin menginstal paket yang disebut linux-headers-generic
.
Jika berjalan uname -r
memberi Anda sesuatu selain generic
setelah nomor versi, gantikan dengan generic
in linux-headers-generic
. (Ini mungkin server
atau generic-pae
pada beberapa instalasi dari beberapa rilis Ubuntu, dan ada beberapa "rasa" kernel lainnya.)
Karena Anda kemungkinan besar membutuhkan ini sehingga Anda dapat membangun driver (yang mungkin otomatis, Anda mungkin tidak "membangun sendiri"), itu ide yang baik untuk menginstal build-essential
juga untuk membuatnya sehingga Anda mungkin akan memiliki semua alat yang diperlukan .
Penjelasan Lengkap
Sepengetahuan saya, tidak ada sistem operasi yang memiliki paket yang disebut Linux-kernel-devel
. Ini karena dua alasan:
- Nama paket yang dimulai dengan huruf besar sangat jarang, untuk OS seperti Unix.
- Sistem operasi GNU / Linux biasanya menamai paket-paket mereka yang berhubungan dengan kernel sehingga nama-nama tersebut mengandung kata kernel atau kata linux , tetapi tidak keduanya. (Di Ubuntu, itu kata linux .)
Ini umum untuk paket yang berhubungan dengan kernel pada sistem yang menggunakan Red Hat Package Manager ( rpm
) dan utilitas terkait untuk kernel
mengatasnamakan paket mereka. Misalnya, Mageia memiliki sejumlah paket yang namanya dimulai kernel
dan diakhiri devel
. Paket-paket ini hampir selalu (pada Mageia dan OS apa pun yang memilikinya) menyediakan file header diperlukan untuk membangun driver dari sumber untuk digunakan dengan kernel. Mereka juga dapat menyediakan utilitas terkait untuk memfasilitasi. Paket-paket ini:
- melakukan tidak menyediakan kode sumber penuh kernel. Itu disediakan oleh paket lain.
- lakukan tidak memberikan pre-compiled, kernel dapat digunakan. Itu disediakan oleh paket lain.
- jangan tidak memberikan compiler atau paling alat tujuan membangun lainnya. Itu juga disediakan oleh paket lain.
Di Ubuntu, seperti dapat dilihat dalam daftar di sini , paket-paket yang menyediakan header kernel memiliki nama yang dimulai dengan linux-headers
. Biasanya paket yang benar untuk diinstal adalah linux-headers-generic
. Namun, untuk memastikan paket apa yang harus diinstal untuk mendapatkan header yang sesuai dengan kernel yang sedang Anda jalankan, jalankan:
uname -r
Anda akan mendapatkan output yang terlihat seperti:
3.5.0-36-generic
Artinya, Anda akan memiliki nomor versi (yang akan menyertakan .
karakter dan biasanya setidaknya satu-
), diikuti oleh -
, diikuti oleh satu atau lebih kata yang mengindikasikan jenis kernel apa yang Anda jalankan.
Jika Anda hanya ingin header untuk versi tertentu Anda kebetulan berjalan sekarang, Anda bisa menginstal paket yang namanya linux-headers-*
mana *
digantikan oleh output penuh uname -r
. Misalnya, di sistem saya, saya bisa menjalankan:
sudo apt-get update && sudo apt-get install linux-headers-3.5.0-36-generic
Saya bahkan dapat mengotomatisasi:
sudo apt-get update && sudo apt-get install linux-headers-`uname -r`
Pendekatan-pendekatan ini setara, tetapi biasanya bukan cara terbaik untuk melakukannya.
Sebagai gantinya, Anda biasanya ingin menginstal metapackage yang selalu menyediakan header kernel terbaru sebagai pembaruan (dengan terus-menerus bergantung pada paket header apa pun yang terbaru). Ini sejajar dengan cara Anda mengkompilasi, menjalankan kernel diinstal dan diperbarui. Untuk melakukan itu, lihat saja pada bagian uname -r
keluaran setelah nomor versi. Artinya, jika uname -r
memberi Anda 3.5.0-36-generic
, ambil sajageneric
bagian itu.
Kemudian instal paket yang disebut di linux-headers-*
mana *
diganti oleh bagian itu. Jadi, pada sistem saya, itu akan menjadi linux-headers-generic
dan satu cara saya dapat menginstalnya adalah dengan menjalankan:
sudo apt-get update && sudo apt-get install linux-headers-generic
Bagi kebanyakan orang itu linux-headers-generic
, tetapi tergantung pada apa Ubuntu melepaskan Anda menjalankan, apa arsitektur dan jenis perangkat Anda menjalankannya pada, dan bagaimana ia diinstal dan dikonfigurasi, kemungkinan lain termasuk generic-pae
, highbank
, omap
, server
, danvirtual
.
Paket Terkait
File header memfasilitasi pengembangan dan penyusunan / pengembangan perangkat lunak yang menggunakan fasilitas yang disediakan oleh perangkat lunak yang file headernya digunakan. Alasan paling umum Anda mungkin perlu header kernel adalah jika Anda akan membangun driver (modul kernel) dari kode sumber. Beberapa aplikasi, seperti VMware dan VirtualBox, kadang-kadang akan memerlukan ini, dan akan mengotomatisasi pembuatannya sendiri.
Selain file header, untuk membangun perangkat lunak kompiler dan alat-alat lain diperlukan. Untuk memaksimalkan kemungkinan Anda memiliki alat yang diperlukan, sebaiknya instalbuild-essential
paket.
Tidak umum bagi siapa pun untuk membutuhkan kode sumber kernel penuh yang sebenarnya (kecuali, tentu saja, Anda berencana membangun kernel dari sumber). Tetapi jika Anda memang membutuhkannya, Anda harus menginstal paket lain juga. Di Ubuntu paket untuk kode sumber kernel lengkap disebut linux-source
. (Ini sesuai dengan konvensi penamaan paket Debian / Ubuntu yang menyediakan bagian substantif dari kernel Linux linux
daripada kernel
.)
Jika Anda Masih Mengalami Kesulitan
Jika Anda mencoba menginstal salah satu dari paket ini tetapi mengalami masalah, dan Anda ingin bantuan, maka Anda harus memasukkan teks lengkap dan tepat dari Terminal, termasuk baris tempat Anda mengetik perintah. Cara terbaik untuk menyediakan ini adalah dengan mengedit pertanyaan Anda, tetapi jika terlalu lama, Anda dapat menempelkannya di suatu tempat seperti http://paste.ubuntu.com dan berikan kami URL tempat kami dapat mengaksesnya.
Jika Anda mengomentari pertanyaan ini, saya akan diberi tahu. Anda dapat mengedit pertanyaan Anda dan juga berkomentar di sini untuk menarik perhatian pada informasi yang Anda berikan dalam pertanyaan Anda. (Informasi penting sebaiknya disimpan dalam pertanyaan dan jawaban.) Semoga berhasil!