linux 커널(kernel)

반응형

안녕하세요. 이번에는 커널(kernel)에 대해 포스트 해보겠습니다.


커널은 처음 vmware 설치할 때 잠시 설명했었는는데요. 다시 한번 말씀드리면 모든 OS(운영체제)는 shell과 kernel, 그리고 device로 구성되어 있는데, 리눅스라는 운영체제 내에서 이루어지는 여러활동이나 프로세스 및 장치 메모리

등등을 관리해주는 핵심적인 역할을 해주는게 바로 커널입니다.



처음 가상머신을 키고 들어갈때 보이는 이 화면이 커널을 선택하는 화면입니다. 위아래 두개의 커널이 있고 기본 커널 설정이 1번으로 되어있기 때문에 (위부터 1번) 첫번째 커널로 자동으로 들어가게 되는 것이죠.


https://cdn.kernel.org 에 가시면 여러가지 커널및 최신커널을 무료배포 하는데 여기서 한번 커널을 설치해보겠습니다. 커널설치에는 4가지의 과정이 필요합니다.


1. 커널 파일 다운로드

2. 커널 패치(최신버전이 아닐경우)

3. 압축 해제

4. 컴파일



커널 파일을 받으려고 https://cdn.kernel.org 에 접속한 화면입니다. 노란색 박스의 Latest Stable Kernel이 최신 커널파일 입니다. 노란색박스를 오른쪽클릭하시면 링크주소복사가 있는데 복사를 합니다. 복사한 코드를 리눅스에서 wget 명령어와 같이 써서 설치해주시면 됩니다. 명령은 다음과 같이 주시면 됩니다.

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.7.6.tar.xz



설치를하면 다음과 같이 설치중인 화면이 나옵니다. 시간이 좀 걸리므로 기다려줍니다. 최신버전의 커널을 설치했기 때문에 따로 패치는 안해도 되겠죠? 패치는 커널버전을 업그레이드 해줄때 용량이 큰 새로운 커널소스를 다운받기가 부담이 될 때 패치 파일로만 업그레이드 해주면 용량부담이 덜하기 때문에 패치를 많이 사용합니다.


! 패치 하는 방법

1. 업그레이드 할 버전의 패치 파일을 다운로드

2. 압축해제

3. 커널 디렉터리로 이동

4. 패치 적용

patch -p1 < <patch path>


커널설치가 완료되었다면 압축해제를 해야하는데 아직 압축에 대해서는 포스트를 하지 않았기 때문에.. 일단 따라해보시기 바랍니다. 압축 해제는 명령은 다음과 같습니다.


tar xvf linux-4.7.6.tar.xz



압축 해제를 하면 다음과 같이 linux-4.7.6 이란 디렉터리가 생성이 됩니다. 옆에 빨간색 파일은 처음 다운받은 커널압축파일 이겠죠? 컴파일 과정은 위 디렉터리에서 진행해야 하기 때문에 위 디렉터리로 이동해줍니다.


 cd linux-4.7.6


컴파일의 과정만 남았는데 사이트에서 다운받은 커널소스를 내 컴퓨터(리눅스 운영체제)에서 설치할 수 있게 만드는 과정을 컴파일이라고 합니다.


컴파일의 과정은 다음과 같습니다.


make menuconfig

- 커널 옵션 설정

make

- 전체 컴파일

make modules_install

- 컴파일 된 모듈 설치

make install

- 생성한 커널 이미지를 설치



컴파일 과정중 make menuconfig 를 진행하는데 위와같은 에러가 뜬다면 다음 3개의 패키지를 다운받아주세요.


- ncurses-devel

- bc.x86_64

- openssl-devel


그러면 더이상 오류가 안뜰겁니다! 다시 make menuconfig를 입력합니다. (원격터미널에서 하시면 안됩니다~)



그러면 다음과 같은 창이 뜹니다. 좌우키보드를 입력해서 Load 버튼을 지정하고 엔터를 눌러주세요.



.config 파일을 확인한후 Ok 지정후 엔터를 눌러주세요.



이번엔 Save를 지정 후 엔터를 눌러주세요.



아까와 마찬가지로 .config 확인 후 Ok를 눌러주세요.


그 이후에 make, make modules install, make install을 순서대로 진행해주시면 됩니다. 이 부분이 굉장히 시간이 오래걸리기 때문에.. 설치 중 잠시 다른 작업을 하시는 것을 추천드립니다.



모든 과정이 끝나고 reboot을 해보시면 다음과 같이 CentOS Linux (4.7.6) 7 (Core)의 이름으로 새로운 커널이 형성된 모습을 볼 수 있습니다. 그런데 기본 커널로 설정이 되어있지 않기 때문에 접속할 때 마다 커널을 변경해주어야 하는 불편함이 있죠. 하지만 기본 커널 설정하는 법이 있습니다!


vi /etc/default/grub


GRUB_DEFAULT=0

위에서부터 0번~이기 때문에 첫번째에 있는 커널로 설정을 하려면 0번을 주어야겠죠? 디폴트 값을 0으로 바꿔주고 저장을 합니다. 그리고 다시 리붓을 하면 기본 커널 설정이 새로 설치한 최신커널로 접속되는 것을 확인하실 수 있습니다.


이상으로 커널 포스트를 마치겠습니다!


반응형

'OS > linux' 카테고리의 다른 글

linux 백업  (0) 2016.10.03
linux 압축, 파일저장소  (0) 2016.10.03
linux 패키지 설치(rpm,wget,yum)  (0) 2016.10.02
linux 쉘(Shell)  (0) 2016.09.30
linux 문자열  (0) 2016.09.30
TAGS.

Comments