CentOS 7-ൽ കേർണൽ ഹെഡറുകൾ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം


നിങ്ങൾ ഒരു CentOS സിസ്റ്റത്തിൽ ഒരു ഉപകരണ ഡ്രൈവർ പോലെയുള്ള ഒരു ഇഷ്uടാനുസൃത കേർണൽ മൊഡ്യൂൾ കംപൈൽ ചെയ്യുമ്പോൾ, നിങ്ങൾ സിസ്റ്റത്തിൽ കേർണൽ ഹെഡർ ഫയലുകൾ ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്, അതിൽ Linux കേർണലിനായുള്ള C ഹെഡർ ഫയലുകളും ഉൾപ്പെടുന്നു. കേർണലുമായി ഇന്റർഫേസ് ചെയ്യുന്ന ഏതെങ്കിലും കോഡ് ഇൻസ്റ്റാൾ ചെയ്യുമ്പോഴോ കംപൈൽ ചെയ്യുമ്പോഴോ ആവശ്യമായ വ്യത്യസ്ത തരം ഫംഗ്ഷനുകളും ഘടന നിർവചനങ്ങളും കേർണൽ ഹെഡർ ഫയലുകൾ നൽകുന്നു.

നിങ്ങൾ കേർണൽ ഹെഡറുകൾ ഇൻസ്റ്റാൾ ചെയ്യുമ്പോൾ, സിസ്റ്റത്തിൽ നിലവിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ള കേർണൽ പതിപ്പുമായി അത് പൊരുത്തപ്പെടുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക. നിങ്ങളുടെ കേർണൽ പതിപ്പ് ഡിഫോൾട്ട് ഡിസ്ട്രിബ്യൂഷൻ ഇൻസ്റ്റാളേഷനുമായാണ് വരുന്നതെങ്കിൽ അല്ലെങ്കിൽ സിസ്റ്റം ബേസ് റിപ്പോസിറ്ററികളിൽ നിന്ന് yum പാക്കേജ് മാനേജർ ഉപയോഗിച്ച് നിങ്ങളുടെ കേർണൽ അപ്ഗ്രേഡ് ചെയ്തിട്ടുണ്ടെങ്കിൽ, പാക്കേജ് മാനേജർ ഉപയോഗിച്ച് മാത്രം പൊരുത്തപ്പെടുന്ന കേർണൽ ഹെഡറുകൾ നിങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്യണം. ഉറവിടങ്ങളിൽ നിന്നാണ് നിങ്ങൾ കേർണൽ സമാഹരിച്ചതെങ്കിൽ, ഉറവിടങ്ങളിൽ നിന്ന് മാത്രം നിങ്ങൾക്ക് കേർണൽ ഹെഡറുകൾ ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും.

ഈ ലേഖനത്തിൽ, ഡിഫോൾട്ട് പാക്കേജ് മാനേജർ ഉപയോഗിച്ച് CentOS/RHEL 7, Fedora വിതരണങ്ങളിൽ കേർണൽ ഹെഡറുകൾ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്ന് ഞങ്ങൾ വിശദീകരിക്കും.

CentOS 7-ൽ കേർണൽ ഹെഡറുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക

ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് നിങ്ങളുടെ സിസ്റ്റത്തിൽ /usr/src/kernels/ ലൊക്കേഷനിൽ പൊരുത്തപ്പെടുന്ന കേർണൽ ഹെഡറുകൾ ഇതിനകം ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്ന് ആദ്യം സ്ഥിരീകരിക്കുക.

# cd /usr/src/kernels/
# ls -l

/usr/src/kernels/ ഡയറക്uടറിയിൽ പൊരുത്തപ്പെടുന്ന കേർണൽ ഹെഡറുകൾ ഇല്ലെങ്കിൽ, മുന്നോട്ട് പോയി കേർണൽ ഹെഡറുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക, കാണിച്ചിരിക്കുന്നത് പോലെ ഡിഫോൾട്ട് പാക്കേജ് മാനേജർ ഉപയോഗിച്ച് ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയുന്ന കേർണൽ-ഡെവൽ പാക്കേജ് നൽകിയിരിക്കുന്നത്.

# yum install kernel-devel   [On CentOS/RHEL 7]
# dnf install kernel-devel   [On Fedora 22+]

kernel-devel പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്ത ശേഷം, താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് എല്ലാ കേർണൽ ഹെഡർ ഫയലുകളും /usr/src/kernels ഡയറക്ടറിയിൽ കണ്ടെത്താം.

# ls -l /usr/src/kernels/$(uname -r) 

ഒരു വിപിഎസിൽ ശ്രദ്ധിക്കുക (ഉദാഹരണത്തിന് ഒരു ലിനോഡ് വിപിഎസ്), ഒരു കേർണലിന് ഇഷ്uടാനുസൃതമാക്കിയ പതിപ്പിന്റെ പേര് ഉണ്ടായിരിക്കാം, അത്തരം സാഹചര്യത്തിൽ, നിങ്ങൾ കേർണൽ പതിപ്പ് സ്വമേധയാ തിരിച്ചറിയുകയും ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് ഇൻസ്റ്റാൾ ചെയ്ത കേർണൽ ഹെഡർ ഫയലുകൾ പരിശോധിക്കുകയും വേണം.

# uname -r	
# ls -l /usr/src/kernels/3.10.0-862.2.3.el7.x86_64
total 4544
drwxr-xr-x.  32 root root    4096 May 16 12:48 arch
drwxr-xr-x.   3 root root    4096 May 16 12:48 block
drwxr-xr-x.   4 root root    4096 May 16 12:48 crypto
drwxr-xr-x. 119 root root    4096 May 16 12:48 drivers
drwxr-xr-x.   2 root root    4096 May 16 12:48 firmware
drwxr-xr-x.  75 root root    4096 May 16 12:48 fs
drwxr-xr-x.  28 root root    4096 May 16 12:48 include
drwxr-xr-x.   2 root root    4096 May 16 12:48 init
drwxr-xr-x.   2 root root    4096 May 16 12:48 ipc
-rw-r--r--.   1 root root     505 May  9 19:21 Kconfig
drwxr-xr-x.  12 root root    4096 May 16 12:48 kernel
drwxr-xr-x.  10 root root    4096 May 16 12:48 lib
-rw-r--r--.   1 root root   51205 May  9 19:21 Makefile
-rw-r--r--.   1 root root    2305 May  9 19:21 Makefile.qlock
drwxr-xr-x.   2 root root    4096 May 16 12:48 mm
-rw-r--r--.   1 root root 1093137 May  9 19:21 Module.symvers
drwxr-xr-x.  60 root root    4096 May 16 12:48 net
drwxr-xr-x.  14 root root    4096 May 16 12:48 samples
drwxr-xr-x.  13 root root    4096 May 16 12:48 scripts
drwxr-xr-x.   9 root root    4096 May 16 12:48 security
drwxr-xr-x.  24 root root    4096 May 16 12:48 sound
-rw-r--r--.   1 root root 3409102 May  9 19:21 System.map
drwxr-xr-x.  17 root root    4096 May 16 12:48 tools
drwxr-xr-x.   2 root root    4096 May 16 12:48 usr
drwxr-xr-x.   4 root root    4096 May 16 12:48 virt
-rw-r--r--.   1 root root      41 May  9 19:21 vmlinux.id

കൂടാതെ, glibc-ന്റെ ഉപയോഗത്തിനായി നിങ്ങൾക്ക് Linux കേർണലിനായി ഹെഡർ ഫയലുകൾ ആവശ്യമുണ്ടെങ്കിൽ, താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് കേർണൽ-ഹെഡർ പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുക.

# yum install kernel-headers   [On CentOS/RHEL 7]
# dnf install kernel-headers   [On Fedora 22+]

വിർച്ച്വൽബോക്uസും മറ്റും പോലുള്ള സോഫ്uറ്റ്uവെയറുകൾക്കായി നിങ്ങളുടേതോ നിലവിലുള്ളതോ ആയ കേർണൽ മൊഡ്യൂളുകൾ കംപൈൽ ചെയ്യാൻ നിങ്ങൾ ഇപ്പോൾ തയ്യാറാണ്.

അത്രയേയുള്ളൂ! ഈ ലേഖനത്തിൽ, CentOS/RHEL 7, Fedora സിസ്റ്റങ്ങളിൽ കേർണൽ-ഡെവൽ, കേർണൽ-ഹെഡർ പാക്കേജുകൾ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം എന്ന് ഞങ്ങൾ വിശദീകരിച്ചിട്ടുണ്ട്. ഒരു ലിനക്സ് സിസ്റ്റത്തിൽ ഡിവൈസ് ഡ്രൈവർ പോലുള്ള കേർണൽ മൊഡ്യൂളുകൾ കംപൈൽ ചെയ്യുന്നതിനു മുമ്പ്, ആവശ്യമായ കേർണൽ ഹെഡർ ഫയലുകൾ ഇൻസ്റ്റാൾ ചെയ്തിരിക്കണം. നിങ്ങൾക്ക് ചോദ്യങ്ങളുണ്ടെങ്കിൽ, ഞങ്ങളെ ബന്ധപ്പെടാൻ ചുവടെയുള്ള അഭിപ്രായ ഫോം ഉപയോഗിക്കുക.