Fedora/CentOS でこれを修正する方法

Fedora/CentOS でこれを修正する方法

次のエラーが発生します:

Makefile:181: *** エラー: 現在の Linux カーネルのソースが見つかりません。KERN_DIR= を指定して、再度 Make を実行してください。停止します。

基本的には次のことをやっています:

$ sudo /etc/init.d/vboxdrv setup
Removing existing VirtualBox non-DKMS kernel modules       [  OK  ]
Building the VirtualBox Guest Additions kernel modules
The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.
The missing package can be probably installed with
yum install kernel-devel-2.6.32-573.18.1.el6.x86_64

Building the main Guest Additions module                   [FAILED]
(Look at /var/log/vboxadd-install.log to find out what went wrong)

エラーは次のとおりです:

Makefile:181: *** エラー: 現在の Linux カーネルのソースが見つかりません。KERN_DIR= を指定して Make を再度実行してください。停止

このエラーとは何ですか?また、どのように修正すればよいですか?

答え1

必ずカーネル ヘッダー パッケージをインストールしてください。

http://www.cyberciti.biz/faq/howto-install-kernel-headers-package

Make sure you have updated version

Type the following command
$ sudo apt-get update

OR as root user enter:
# apt-get update

Search for kernel version (optional)

Type the following command:
$ apt-cache search linux-headers-$(uname -r)

Install linux-header package under Debina or Ubuntu Linux

Type the following command:
$ sudo apt-get install linux-headers-$(uname -r)

OR as root user:
# apt-get install linux-headers-$(uname -r)

編集:

たまたま自分のサーバーにもインストールする必要があり、Debian リポジトリで VirtualBox を使用しようとしたときに同じエラーが発生しました。VirtualBox リポジトリを追加して、そこからインストールしました。こちらの方が最新なので良いです。

ルートとして

$ nano /etc/apt/sources.list 

スクイーズ用に下に行を追加

deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free

次にapt-secureのOracle公開鍵を追加します

$ wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

次にアップデートを実行し、最新の4.2をインストールします。

apt-get update
apt-get install virtualbox-4.2

dkmsパッケージをインストールして、VirtualBoxホストカーネルモジュールが最新であることを確認します。

apt-get install dkms

大丈夫でしょう。これらの手順はVirtualBoxのLinux用ウェブサイトから入手しました。現在はダウンしているようですが、リンクはhttps://www.virtualbox.org/wiki/Linux_Downloads

答え2

Fedora/CentOS でこれを修正する方法

まず、インストールされているパッケージ (特にカーネル) が最新であることを確認します。

$ sudo yum update     

カーネルバージョンを更新する場合は、 のuname -rディレクトリ名と一致するように再起動する必要があります/usr/src/kernels/。その後、

$ sudo yum install kernel-devel gcc
$ echo export KERN_DIR=/usr/src/kernels/`uname -r` >> ~/.bashrc
$ source ~/.bashrc     # to set the variable in your current shell
$ sudo echo $KERN_DIR  # verify the value is set
$ sudo ls $KERN_DIR    # verify the directory exists 

この後、VirtualBox カーネル モジュールのコンパイルは問題なく動作するはずです。

出典:

答え3

@hhhlinux-headers自分のアーキテクチャに適したものだけを検索して見つけてください。私の場合:

# aptitude search linux-headers      
v   linux-headers                                                       -                                                                              
p   linux-headers-2.6-amd64                                             - Header files for Linux amd64 configuration (dummy package)                   
p   linux-headers-3.2.0-4-all                                           - All header files for Linux 3.2 (meta-package)                                
p   linux-headers-3.2.0-4-all-amd64                                     - All header files for Linux 3.2 (meta-package)                                
i A linux-headers-3.2.0-4-amd64                                         - Header files for Linux 3.2.0-4-amd64                                         
i A linux-headers-3.2.0-4-common                                        - Common header files for Linux 3.2.0-4                                        
p   linux-headers-3.2.0-4-common-rt                                     - Common header files for Linux 3.2.0-4-rt                                     
p   linux-headers-3.2.0-4-rt-amd64                                      - Header files for Linux 3.2.0-4-rt-amd64                                      
i   linux-headers-amd64                                                 - Header files for Linux amd64 configuration (meta-package)                    
p   linux-headers-rt-amd64                                              - Header files for Linux rt-amd64 configuration (meta-package)

したがって、私の場合は 64 ビット アーキテクチャを使用しているため、をインストールする必要がありますlinux-headers-amd64

もう一つは、apt-get addが存在しないということです。apt-getに置き換えてくださいapt-key

答え4

試す:

yum install kernel* dkms gcc

それから

yum install kernel-uek-devel

次にマシンを再起動します

関連情報