Direktori kernel kosong tetapi header kernel diinstal

19

Tuan rumah - Windows 7

Tamu - CentOS

Saya mencoba untuk menginstal kernel-headersmenggunakan yumsejak saat instalasi vmware-toolssaya mendapatkan pesan yang meminta path ke file header kernel untuk 3.10.0-229.7.2.e17.x86_64 .

Menjalankan yum install kernel-headerspengembalian Paket kernel-header-3.10.0-229.7.2.e17.x86_64 sudah diinstal dan versi terbaru . Tetapi direktori /usr/src/kernelsitu kosong.

Apakah header kernel dipasang di tempat lain? Atau haruskah saya meminta yumuntuk menginstal sesuatu yang lain?

Path disediakan untuk vmware-tools untuk header kernel

Searching for a valid kernel header path...
The path "" is not a valid path to the 3.10.0-229.7.2.e17.x86_64 kernel headers.
Would you like to change it? [yes]

Memberikan jalur /usr/include/linuxmemberikan respons yang sama lagi tetapi dengan "" diganti dengan jalur yang disediakan.

Kvothe
sumber
1
periksa output dari rpm -ql kernel-headers; Saya pikir ini menempatkan file di / usr / include / linux, tapi saya mungkin ketinggalan zaman. Akan lebih baik jika Anda bisa menunjukkan jalur apa yang Anda berikan ke penginstal vmware-tools dan juga apa yang dilaporkannya kembali.
Jeff Schaller

Jawaban:

8

Paket yang benar untuk menginstal semua dependensi yang diperlukan untuk membangun modul kernel adalah kernel-devel(lihat dokumentasi CentOS untuk informasi lebih lanjut).

Header tidak diinstal /usr/src/kernels, melainkan diinstal di sejumlah direktori di bawah ini /usr/include(lokasi default untuk file header C). Anda dapat mencantumkan konten kernel-headerspaket yang Anda instal menggunakan:

rpm -ql kernel-headers
mjturner
sumber
Itu dia. Aku harus halaman yang sebelumnya tapi salah membaca sebagai "jika Anda tidak membutuhkan penuh sumber penggunaan kernel-devel". Terima kasih
Kvothe
23

Saya memiliki masalah yang sama. Setelah banyak googling, solusi ini berhasil untuk saya. Pertama-tama menentukan versi kernel yang diinstal dan kemudian menggunakan versi yang tepat untuk menginstal paket header kernel.

sudo yum install "kernel-devel-uname-r == $(uname -r)"
MarkAu
sumber
Ini berfungsi pada konfigurasi Surface Book & VMWare.
ThinkCode
Bekerja pada centos 7, menghabiskan lebih dari dua jam sebelumnya .. Terima kasih!
h0x91B
Akhirnya .... Bekerja pada CentOS7. Terima kasih banyak
VM_AI
Itu berhasil. Terima kasih. Tidak yakin apakah kernel-header bagian dari devel ini.
Murali Mopuru
4

Pada CentOS versi 7 yang diberikan di bawah ini adalah jalur untuk kernel-header.

/lib/modules/3.10.0-327.36.2.el7.x86_64/build/include

Setelah berjalan yum install kernel-headersdua kali (diperbarui ke yang terbaru), masalahnya teratasi. Pastikan versi kernel yang berjalan dan versi header kernel sama. Versi kernel saya adalah3.10.0-327.36.2.el7.x86_64

Shanraj
sumber
Jawaban yang begitu mudah seperti ini layak mendapat lebih banyak suara.
WesternGun
2

Saya memiliki masalah yang sama dan solusi di atas tidak berhasil untuk saya. Bisa jadi itu adalah build dari CentOS 7 yang saya gunakan.
Inilah yang memecahkan masalah bagi saya ...

instal header kernel

yum -y install kernel-devel

setel tautan simbolis sehingga alat vmware dapat menemukan versi.h

export kernel_headers=`ls -hd /usr/src/kernels/3*`
sudo ln -s ${kernel_headers}/include/generated/uapi/linux/version.h ${kernel_headers}/include/linux/version.h
patrick fogarty
sumber
2

Saya menginstal paket kernel-devel, tetapi ternyata header-header itu untuk versi kernel yang berbeda dari yang dijalankan pada instance saya. Untuk memperbaiki masalah, saya berlari

sudo yum upgrade

dan reboot, dan kemudian vmware-tools diinstal tanpa repot.

sffc
sumber
2

Saya memiliki masalah yang persis sama.

Dalam kasus saya, saya hanya perlu menghapus kernel-dev * et menginstalnya lagi:

yum -y remove kernel-devel*
yum -y install kernel-devel*
AxldenieD
sumber
0

Saya percaya saya menemukan solusi untuk ini.

Saya telah membaca saran (bahkan di situs web VMWare) yang merekomendasikan menginstal open-vm-tools yang bertentangan dengan alat VMWare.

yum install open-vm-tools

Ada beberapa peringatan tentu saja, setelah menginstal, ingatlah untuk me-reboot mesin virtual.

Juga, sekarang alih-alih tanda centang hijau yang biasanya muncul di vSphere, alih-alih itu menunjukkan abu-abu "?" tetapi tidak mengenali alat sedang berjalan dan menunjukkan alamat IP, dan OS yang sedang berjalan serta tampilan "Berjalan (pihak ketiga / Independen)".

Jadi semoga ini bisa membantu seseorang. Saya telah menghabiskan dua hari untuk ini, dan akhirnya menemukan jawaban ini, dan itu berhasil untuk saya, menjalankan ESXi 5.1 dan vCenter dengan CentOS 7.2 sebagai os tamu.

Eric
sumber
open-vm-tools sebenarnya bukan alternatif dari alat vmware dalam kasus-kasus tertentu. misalnya. open-vm-tools tidak mendukung hgfs untuk berbagi file antara tamu dan tuan rumah. Vmware mendukung hgfs pada centos 7.
Gaurav
0

Untuk menjawab pertanyaan tersebut, sumber kernel diinstal pada / usr / src / kernel /. kernel-devel adalah paket yang akan diinstal.

Untuk memberikan solusi untuk masalah, Alasan untuk masalah ini adalah bahwa kernel yang diinstal sudah tua dan kernel-devel memiliki pembaruan dalam repositori. Jadi menginstal kernel-devel menginstal sumber dari kernel yang lebih baru dan karenanya skrip konfigurasi alat vmware tidak menemukan sumbernya. Ada dua solusi yang mungkin.

  1. Perbarui kernel sehingga kernel dan kernel-devel baru.

    sudo yum upgrade

Reboot agar kernel baru dimuat dan kemudian jalankan skrip konfigurasi alat vmware.

  1. Memperbarui kernel tidak selalu layak. Jika demikian, instal versi kernel-devel yang sama dengan versi kernel yang diinstal.

    sudo yum install "kernel-devel-uname-r == $(uname -r)"
Gaurav
sumber
0

Inilah yang berhasil bagi saya pada instalasi minimal Centos baru:

sudo yum update
sudo yum upgrade
sudo yum install "kernel-devel-uname-r == $(uname -r)" gcc
./vmware-install.pl
Carsten
sumber