커널은 운영체제에서 가장 핵심적인 부분입니다. 리눅스 말고도 모든 운영체제의 핵심 요소이죠. 리눅스는 리누스 토르발스(Linus Torvalds)가 만든 모놀리딕 커널, 유닉스 계열 커널입니다.
이론적인 이야기는 여러군데에서 다 확인하실 수 있습니다.
리눅스 입문을 다룬 "리눅스란 무엇인가?" 같은 이야기 보다는 조금 더 현실적으로 "나는 컴퓨터를 써야한다. 리눅스로!" 라는 생각으로 해보겠습니다.
위에서 이야기를 했을만큼, 커널이란 운영체제에 있어서 가장 핵심이 되는 부분입니다.
최신 버전의 커널은 비교적 최근에 나온 따끈따끈한 새로 출시된 하드웨어들을 지원할 수 있도록 해줍니다.
그래서, 이 페이지에서는 Cent OS 7 의 커널을 최신 버전으로 업그레이드 방법을 설명합니다.
elrepo 커널을 이용하여, 업그레이드 진행할 겁니다. 이 방법은 수동으로 컴파일하여 업그레이드 시키는 것 보다 10배는 쉽고, 100배는 빠른 방법입니다!! 정말로요.
Cent OS 7 의 기본 커널은 3.10 버전을 사용하고 있습니다.
이 시간에는 2019년 6월 3일을 기준으로 가장 최신 버전인 5.1.6 버전의 커널을 사용합니다. (참고 - 이 글은 입문자들을 위해 쓰여지는 글 입니다.)
기본적인 yum 명령어 배우기-(준비중)
elrepo 저장소란?
elrepo 는 Enterprise Linux 용 커뮤니티 기반 저장소이며, RHEL(RedHat Enterprise Linux) 및 이를 기반으로 꾸며진 기타 배포판들(Fedora, CentOS, Scientific)에 대한 지원을 제공하는 저장소입니다.
주로 소프트웨어적인 부분 보다 커널, 파일 시스템 드라이버, 그래픽 드라이버 등을 비롯한 하드웨어와 관련된 패키지에 중점을 두고 있는 저장소입니다.
* GUI 데스크톱 환경이라면 터미널을 이용하면 됩니다.
* root 계정으로 로그인이 필요합니다.
* 저는 Cent OS 7 최소 설치와 더불어 “호환성 라이브러리” , “개발용 도구” 를 함께 설치하였습니다.
Step 1. Cent OS 7 의 업그레이드 및 업데이트
// 이번 스텝에서는 Cent OS 7 의 업그레이드 및 업데이트하는 명령어를 배울 수 있습니다.
커널을 업그레이드하기 전에 가장 먼저해야 할 일은 모든 패키지를 최신 버전으로 업그레이드하는 겁니다.
구버전의 패키지들이 지원하지 않거나, 요소가 없을 수 있기 때문에 업그레이드가 필수입니다.
아래의 명령어를 입력하여 패키지를 업데이트 합니다.
# yum -y update
아래의 명령어를 통해 업데이트와 설치를 빠르게 할 수 있도록 입력합니다.
# yum install yum-plugin-fastestmirror
위의 방법을 진행하면 Cent OS 7 시스템이 업데이트되고, 모든 패키지가 최신 버전으로 업그레이드 됩니다.
Step 2. 커널 버전 체크
// 이번 스텝에서는 Cent OS 7 의 운영체제 및 커널 버전을 체크하고 그 명령어를 배울 수 있습니다.
아래의 명령어를 입력하여 확인합니다.
# cat /etc/redhat-release
# cat /etc/os-release
위의 두가지 명령어를 하나로 조합하여 이용할 수 있습니다.
# cat /etc/redhat-release && cat /etc/os-release
같은 명령어지만 한 번에 쓰거나, 나눠쓰거나 하는 차이밖에 없습니다.
커널 버전을 확인합니다.
# uname -msr
커널 버전과 아키텍쳐를 확인하실 수 있습니다.
Step 3. elrepo 저장소 추가
// 이번 스텝에서는 elrepo 저장소를 추가하는 방법과 사용 가능한 모든 저장소를 확인하는 명령어를 배울 수 있습니다.
새로운 커널을 설치하기 전에 elrepo 저장소를 추가해서 이용할 수 있도록 해야합니다.
이번 시간에는 elrepo 저장소의 커널을 이용하니까요!
* GPG-KEY 는 GNU Privacy Guard-KEY
배포되고 있는 패키지가 안전한 패키지가 맞는지 확인하는 일종의 인증키랍니다.
아래의 명령어를 입력하여 RPM-GPG-KEY 를 추가합니다.
# rpm —import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
* “—import” 옵션은 입력된 주소에서 키를 추가하라는 옵션입니다.
뒤에 키가 있는 주소를 입력해주어야 정상적으로 추가할 수 있습니다.
이제 다시 yum 명령어를 이용해서 elrepo 저장소를 추가합니다.
# yum install https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
이제 시스템에서 elrepo 저장소가 정상적으로 등록이 되었는지 확인합니다.
# yum repolist
확인이 되었다면, 정상적으로 elrepo 저장소가 추가된 겁니다.
Step 4. 새로운 커널 설치
// 이번 스텝에서는 elrepo 저장소에 있는 최신 버전 5.1.6 커널을 설치하게 됩니다.
아래의 명령어를 입력하여 새로운 커널을 설치합니다.
# yum —enablerepo=elrepo-kernel install kernel-ml
* “—enablerep” 는 Cent OS 시스템에서 특정 저장소를 활성화하는 방법입니다.
기본적으로 일반적인 저장소는 활성화되어 있으나, 우리는 커널을 설치하기 때문에
‘Elrepo-kernel’ 저장소가 필요했습니다.
다음 명령어를 입력하여 저장소를 확인합니다.
# yum repolist all
Step 5. grub2 부트 로더 설정
// 새로 설치된 커널로 부팅할 수 있도록 설정하는 법을 배웁니다.
아래의 명령어를 입력하여 부팅 가능한 커널을 확인합니다.
# grep ^menuentry /boot/grub2/grub.cfg | cut -d “’” -f2
CentOS Linux (5.1.6-1.el7.elrepo.x86_64) 7 (Core) 가 확인됩니다.
이제 아래 명령어를 입력하여 최신 커널로 부팅하도록 설정합니다.
# grub2-set-default “CentOS Linux (5.1.6-1.el7.elrepo.x86_64) 7”
이제 부트 로더도 설정이 되었습니다. 정상적으로 등록이 되었는지 확인해 봐야죠?
아래의 명령어를 또 입력해 봅니다.
# grub2-editenv list
정상적으로 등록이 되었다면, 새로 설치한 커널이 나타납니다!!
Step 6. 오래된 커널 제거
// 이번 스텝에서는 예전 커널을 삭제하는 법을 배웁니다.
새로 커널이 설치되었으니 공간을 위해서 구형 커널을 삭제합시다.
다시 한 번 부팅되어 있는 커널이 새로운 커널이 맞는지 확인합니다.
# uname -msr
맞게 부팅되어 있다면, 구형 커널을 삭제합시다.
# yum remove kernel-3.10.0-957.12.2.el7.x86_64
삭제가 완료되었다면, 이제 5.1.6 커널만 사용됩니다.
-만약 최신 커널들만 놔두고 옛날 커널들을 삭제하고 싶다면 아래의 방법을 이용합니다.
커널 수정을 위해 아래의 명령어를 입력하여 yum-utils 를 설치합니다.
# yum install yum-utils
설치가 완료되면, 아래의 명령어를 입력하여, 최신 커널 2개 (혹은, 그 이상) 를 놔두도록 합시다.
# package-cleanup —oldkernels —count=2
* “ —count=* “ 는 옵션입니다. 2개를 남기고 싶다면, 2를 입력하고, 원하는 숫자를 입력하면 됩니다.
마치며...
이제 CentOS 7 커널을 elrepo 저장소를 이용하여, 최신 버전으로 업그레이드 했습니다.
영어로 입력하는 일이 많아서 보기에는 어려울 듯 하지만, 생각해보면 하는 일이 많지 않습니다.
수동 컴파일 보다는 훨씬 빠르고 쉽지요.
나중에 수동으로 커널을 컴파일하고 설치하는 방법을 작성할 예정입니다.
수동 컴파일 커널 설치는 시간도 많이 써야하고, 입력할 것도 많고, 확인해야 할 것도 많습니다.
정말 문자 그대로 elrepo 를 이용해서 업그레이드 하는 것이 10배, 100배는 더 쉽습니다!
정말루요!
여기까지 따라오느라 수고 많으셨습니다.
RHEL 8 버전이 나오면서 조만간 CentOS 8 도 나올 것 같습니다.
추가적으로 또 필요한 부분은 많지 않을거고…
명령어도 같거나 비슷하겠지만, elrepo GPG-KEY 나 주소가 달라질 수 있으니 elrepo 주소를 참고하세요.
http://elrepo.org/tiki/tiki-index.php