Thư mục kernel trống nhưng tiêu đề kernel được cài đặt


19

Máy chủ - Windows 7

Khách - CentOS

Tôi đang cố gắng cài đặt kernel-headersbằng cách sử dụng yumtrong quá trình cài đặt. vmware-toolsTôi nhận được một thông báo yêu cầu đường dẫn đến các tệp tiêu đề kernel cho 3.10.0-229.7.2.e17.x86_64 .

Chạy yum install kernel-headerstrả về Gói kernel-headers-3.10.0-229.7.2.e17.x86_64 đã được cài đặt và phiên bản mới nhất . Nhưng thư mục /usr/src/kernelstrống rỗng.

Là các tiêu đề kernel được cài đặt ở một nơi khác? Hoặc tôi nên yêu cầu yumcài đặt một cái gì đó khác?

Đường dẫn được cung cấp cho vmware-tools cho các tiêu đề 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]

Cung cấp đường dẫn /usr/include/linuxcho cùng một phản hồi một lần nữa nhưng với "" được thay thế bằng đường dẫn được cung cấp.


1
kiểm tra đầu ra của rpm -ql kernel-headers; Tôi nghĩ rằng nó đặt các tập tin trong / usr / include / linux, nhưng tôi có thể bị lỗi thời. Sẽ tốt hơn nếu bạn có thể chỉ ra đường dẫn nào bạn cung cấp cho trình cài đặt công cụ vmware và cũng là những gì nó báo cáo lại.
Jeff Schaller

Câu trả lời:


8

Gói chính xác để cài đặt tất cả các phụ thuộc cần thiết để xây dựng các mô-đun hạt nhân là kernel-devel(xem tài liệu CentOS để biết thêm thông tin).

Các tiêu đề không được cài đặt /usr/src/kernels, thay vào đó chúng được cài đặt trong một số thư mục bên dưới /usr/include(vị trí mặc định cho các tệp tiêu đề C). Bạn có thể liệt kê nội dung của kernel-headersgói bạn đã cài đặt bằng cách sử dụng:

rpm -ql kernel-headers

Điều đó là vậy đó. Tôi muốn nhận được đến trang đó trước nhưng không nhận định nó như là "nếu bạn làm cần sử dụng đầy đủ nguồn kernel-devel". Cảm ơn
Kvothe 13/07/2015

23

Tôi đã có vấn đề tương tự. Sau khi googling nhiều, giải pháp này làm việc cho tôi. Đầu tiên, nó xác định phiên bản kernel đã cài đặt và sau đó sử dụng phiên bản chính xác đó để cài đặt gói tiêu đề kernel.

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

Điều này hoạt động trên cấu hình Surface Book & VMWare.
ThinkCode

Hoạt động trên centos 7, dành hơn hai giờ trước .. Cảm ơn!
h0x91B

Cuối cùng .... Đã làm việc trên CentOS7. Cảm ơn rất nhiều
VM_AI

Nó đã làm việc. Cảm ơn. Không chắc chắn nếu phần tiêu đề hạt nhân của phát này.
Murali Mopuru

4

Trên phiên bản CentOS 7 được đưa ra dưới đây là đường dẫn cho các tiêu đề kernel.

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

Sau khi chạy yum install kernel-headershai lần (cập nhật lên bản mới nhất), sự cố đã được khắc phục. Đảm bảo phiên bản kernel đang chạy và phiên bản tiêu đề kernel giống nhau. Phiên bản kernel của tôi là3.10.0-327.36.2.el7.x86_64


Câu trả lời đơn giản như thế này xứng đáng được nhiều phiếu bầu hơn.
WesternGun

2

Tôi đã có cùng một vấn đề và giải pháp trên không làm việc cho tôi. Nó có thể là bản dựng của CentOS 7 tôi đang sử dụng.
Đây là những gì đã giải quyết vấn đề cho tôi ...

cài đặt tiêu đề kernel

yum -y install kernel-devel

đặt liên kết tượng trưng để các công cụ vmware có thể tìm thấy phiên bản.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

2

Tôi đã cài đặt gói kernel-devel, nhưng hóa ra các tiêu đề dành cho phiên bản kernel khác với phiên bản đang chạy trên cá thể của tôi. Để khắc phục sự cố, tôi đã chạy

sudo yum upgrade

và khởi động lại, và sau đó vmware-tools được cài đặt mà không phiền phức.


2

Tôi đã có chính xác cùng một vấn đề.

Trong trường hợp của tôi, tôi phải gỡ bỏ kernel-dev * et và cài đặt lại:

yum -y remove kernel-devel*
yum -y install kernel-devel*

0

Tôi tin rằng tôi đã tìm thấy một cách giải quyết cho việc này.

Tôi đã đọc các đề xuất (ngay cả trên trang web của VMWare) khuyên bạn nên cài đặt các công cụ vm mở trái ngược với các công cụ VMWare.

yum install open-vm-tools

Tất nhiên, có một số cảnh báo, sau khi cài đặt, hãy nhớ khởi động lại máy ảo.

Ngoài ra, bây giờ thay vì dấu kiểm màu xanh lá cây thường hiển thị trong vSphere, thay vào đó, nó hiển thị màu xám "?" nhưng không nhận ra các công cụ đang chạy và hiển thị địa chỉ IP và HĐH đang chạy cũng như màn hình "Chạy (bên thứ 3 / Độc lập)".

Vì vậy, hy vọng điều này sẽ giúp được ai đó. Tôi đã dành hai ngày cho việc này và cuối cùng đã tìm thấy câu trả lời này và nó đã hoạt động với tôi, chạy ESXi 5.1 và vCenter với CentOS 7.2 với tư cách là khách mời.


open-vm-tools không thực sự là một công cụ thay thế cho các công cụ vmware trong một số trường hợp nhất định. ví dụ. open-vm-tools không hỗ trợ hgfs để chia sẻ tệp giữa khách và máy chủ. Vmware hỗ trợ hgfs trên centos 7.
Gaurav

0

Để trả lời câu hỏi, nguồn Kernel được cài đặt dưới / usr / src / kernels /. kernel-devel là gói để cài đặt.

Để cung cấp giải pháp cho vấn đề, Lý do của vấn đề là hạt nhân được cài đặt đã cũ và kernel-devel có bản cập nhật trong kho lưu trữ. Vì vậy, cài đặt kernel-devel sẽ cài đặt nguồn của kernel mới hơn và do đó tập lệnh cấu hình của công cụ vmware không tìm thấy nguồn. Đây là hai phương pháp khả thi.

  1. Cập nhật kernel để cả kernel và kernel-devel đều mới.

    sudo yum upgrade

Khởi động lại để kernel mới được tải và sau đó chạy tập lệnh cấu hình công cụ vmware.

  1. Cập nhật kernel không phải lúc nào cũng khả thi. Nếu đó là trường hợp cài đặt phiên bản kernel-devel giống như phiên bản kernel đã cài đặt.

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

0

Đây là những gì làm việc cho tôi khi cài đặt Centos tối thiểu mới:

sudo yum update
sudo yum upgrade
sudo yum install "kernel-devel-uname-r == $(uname -r)" gcc
./vmware-install.pl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.