elrepo 를 이용하여 업그레이드
Graf. Razorbacks
2019-06-03
커널은 운영체제에서 가장 핵심적인 부분입니다. 리눅스 말고도 모든 운영체제의 핵심 요소이죠. 리눅스는 리누스 토르발스(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 의 업그레이드 및 업데이트
Step 2. 커널 버전 체크
Step 3. elrepo 저장소 추가
Step 4. 새로운 커널 설치
Step 5. grub2 부트 로더 설정
Step 6. 오래된 커널 제거
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
설치 다 되었는데 설치후 부트로더 확인에서 명령어를 입력하면 그런 파일이나 디렉토리가 없습니다 라는 문구가 나옵니다.
답글삭제여기서는 어떻게 해야할까용..