ভার্টুয়ালবক্স ইনস্টল করতে অক্ষম, `" KERN_DIR = <ডিরেক্টরি>> উল্লেখ করুন "` - দেবিয়ানে ভার্চুয়াল বক্স ইনস্টল করা?


38

আমি এই ত্রুটি পাচ্ছি:

Makefile: 181: *** ত্রুটি: আপনার বর্তমান লিনাক্স কার্নেলের উত্স খুঁজে পেতে অক্ষম। KERN_DIR = নির্দিষ্ট করুন এবং আবার মেক চালান। স্টপ।

মূলত আমি করছি:

$ 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: *** ত্রুটি: আপনার বর্তমান লিনাক্স কার্নেলের উত্স খুঁজে পেতে অক্ষম। KERN_DIR = নির্দিষ্ট করুন এবং আবার মেক চালান। স্টপ

এই ত্রুটিটি কী এবং কীভাবে এটি ঠিক করবেন?

উত্তর:


34

নিশ্চিত হয়ে নিন যে আপনি কার্নেল শিরোনাম প্যাকেজ ইনস্টল করেছেন।

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)

সম্পাদনা করুন:

আমার নিজের সার্ভারে এটি ইনস্টল করার দরকার পড়েছে এবং ডেবিয়ান রেপোগুলিতে ভার্চুয়ালবক্স ব্যবহার করার চেষ্টা করার সময় একই ত্রুটি পেয়েছি। আমি এগিয়ে গিয়ে ভার্চুয়ালবক্স রেপো যুক্ত করেছি এবং সেখান থেকে ইনস্টল করেছি। এটি আরও ভাল কারণ তারা আরও আধুনিক up

মূল হিসাবে

$ nano /etc/apt/sources.list 

নিচের জন্য লাইন যুক্ত করুন

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

তারপরে উপযুক্ত-সুরক্ষার জন্য ওরাকল পাবলিক কী যুক্ত করুন

$ 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 প্যাকেজটি ইনস্টল করুন

apt-get install dkms

যেতে ভাল হতে হবে। ভার্চুয়ালবক্সের ওয়েবসাইটগুলি লিনাক্সের জন্য এই নির্দেশাবলী পেয়েছেন যা এই মুহুর্তে ডাউন বলে মনে হচ্ছে তবে লিঙ্কটি https://www.virtualbox.org/wiki/Linux_Downloads


2
apt-cache search linux-headers-$(uname -r)উপরের কমান্ডগুলি সত্ত্বেও কমান্ডটি আমার জন্য কিছুই দেয় না।
এইচ এইচ

@hh আমি মনে করি এই উত্তরটি ভাল, এবং গ্রহণ করা উচিত। আপনি এই ** লিনাক্স-শিরোনাম - $ (uname -r) ** দিয়ে কী চান তা আমি জানি না। দয়া করে ব্যাখ্যা করুন বা একটি নতুন প্রশ্ন খুলুন। আমি মনে করি এই থ্রেডটি শেষ হয়েছে।
লিও লোপোল্ড হার্টজ 준영

@hhh কিছু বিতরণে লিনাক্স-শিরোনামের সংগ্রহস্থল নেই। আপনি এটি যাচাই করতে পারেন: কম্পিউটিংফরজিকস.কম
.২০১৫/

এই উত্তরগুলির কোনওটিই আমার পক্ষে কাজ করেনি কারণ আমি যে ডিসট্রোটি ডাউনলোড করেছি তাতে রেপোগুলির মধ্যে পাওয়া পুরানো কার্নেল ছিল। আমাকে দৌড়াতে হয়েছিল apt-get update && apt-get -y dist-upgrade
প্লেটো

29

ফেডোরা / সেন্টোসের জন্য এটি কীভাবে ঠিক করবেন

প্রথমে নিশ্চিত হয়ে নিন যে আপনার ইনস্টল করা প্যাকেজগুলি (বিশেষত কার্নেল) আপডেট রয়েছে:

$ 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 

এই সংকলনের পরে ভার্চুয়ালবক্স কার্নেল মডিউলগুলি কোনও সমস্যা ছাড়াই কাজ করা উচিত।

সূত্র:


1
উপরের পদক্ষেপগুলি চালনার পরে, আবার Vbox অতিথি সংযোজনগুলি পুনরায় ইনস্টল করার আগে অতিথি সিস্টেমটি পুনরায় চালু করতে হবে।
রেড্ডি

এটি ইনস্টল করার জন্য সঠিক প্যাকেজ ছিল, তবে কার্নেল মডিউলগুলি পুনরায় সংশোধন করার জন্য প্রয়োজনীয় রুট সুবিধাগুলি, এবং রুটে কিছু চালানো আপনার পরিবেশের ভেরিয়েবলগুলি হারাবে (KERN_DIR সহ)। আমি তার পরিবর্তে sudo -sঅনুসরণ export KERN_DIR=/usr/src/kernels/XXXকরেছিলাম তবে আমি নিশ্চিত যে সুডো মোডে পরিবর্তনশীলগুলি বজায় রাখার আরও ভাল উপায় আছে
মিগওয়েল

আমার ক্ষেত্রে (CentOS 6.7) [uname -r] হ'ল [2.6.32-573.el6.x86_64], তবে [ls / usr / src / kernels /] প্রিন্ট [2.6.32-573.22.1.el6.x86_64] তাই সতর্কতা অবলম্বন করা এবং প্রকৃত বিদ্যমান Dir নাম ব্যবহার
জুনিয়র

1
source ~/.bashrcপুনরায় আরম্ভ না করেই বর্তমান পরিবেশে KERN_DIR সেট করতে।
জাস্টিন

আমি ত্রুটি পেয়েছি যা এটি কোনও ডিরেক্টরি নয়। মনে রাখবেন এটি শেষে একটি স্ল্যাশ প্রয়োজন .. প্রতিধ্বনি এক্সপোর্ট KERN_DIR = / usr / src / কার্নেলস / uname -r/ >> ~ / .bashrc
আর্টজম কুরাপভ

2

@hhh আপনার কেবলমাত্র linux-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)

সুতরাং, আমার ক্ষেত্রে আমার একটি -৪-বিটের আর্কিটেকচার রয়েছে, আমাকে ইনস্টল করতে হবে linux-headers-amd64

আর একটি বিষয় apt-get addবিদ্যমান নেই। apt-getদ্বারা প্রতিস্থাপন apt-key


2

সেন্টোসে আমার KERN_DIR ত্রুটি ছিল। শেল ইনস্টল স্ক্রিপ্ট পর্যালোচনা করে দেখা গেছে যে এটি KERN_DIR কে / usr / src / কার্নেল সেট করে। তারপরে "আনমে -আর" দেখায় আমি / usr / src / কার্নেলগুলির আওতায় উত্স কোডের চেয়ে কার্নেলের একটি নিম্ন সংস্করণ চালাচ্ছি।

আমি /boot/grub/menu.lst ... দেখেছি এবং কার্নেলের অমিলটি নিশ্চিত করেছি। রহস্যময়।

সুতরাং ঠিক করা ছিল ... "yum -y আপডেট কার্নেল", তারপরে পুনরায় বুট করুন। ভিএমওয়্যার সরঞ্জামগুলি তখন ইনস্টল হয়ে গেল।


1

চেষ্টা করুন:

yum install kernel* dkms gcc

তারপর

yum install kernel-uek-devel

তারপরে আপনার মেশিনটি পুনরায় বুট করুন


দেবিয়ান ব্যবহার করে apt-get, না yum
রবিনজে

0

ত্রুটির অর্থ হ'ল vboxdrv/ vboxaddআপনার কার্নেল উত্সগুলি খুঁজে পাচ্ছে না।

স্ক্রিপ্টটি আশা করে যে /lib/modules/$(uname -r)/buildফোল্ডারটিতে /usr/src/kernels/$(uname -r)মেকফাইল থাকা উচিত যেখানে এটি kernelreleaseকার্য সম্পাদন করতে পারে , তাই এটি আপনার বর্তমান ইনস্টল করা কার্নেল সংস্করণ ( uname -r) এর সাথে তুলনা করতে পারে ।

সুতরাং যদি এই আদেশটি ব্যর্থ হয়:

make -C /usr/src/kernels/$(uname -r)/build kernelrelease

আপনার লিনাক্স শিরোলেখগুলি ইনস্টল করা উচিত:

sudo apt-get install linux-headers-$(uname -r)

আরও তথ্যের জন্য, এই পোস্টটি দেখুন


0

যে কোনও ওএসের জন্য আপনাকে নিশ্চিত হওয়া দরকার যে সমস্ত প্রয়োজনীয় প্যাকেজ ইনস্টল করা আছে। ডেবিয়ান সম্পর্কে আমার ক্ষেত্রে আমি প্যাকেজ dkms এবং লিনাক্স-শিরোনাম-জেনেরিক অনুপস্থিত ছিল।

#apt-get install dkms build-essential linux-headers-generic linux-headers-$(uname -r)

সম্পূর্ণ নির্দেশাবলীর জন্য এই ভার্চুয়ালবক্স ফোরামের পোস্টটি দেখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.