티스토리 뷰

<순서>

[Redhat 계열의 리눅스]

◎ 업그레이드 순서

◎ 커널업데이트 없이 업그레이드

◎ 특정버전 커널업그레이드(자동)

◎ 특정버전 커널업그레이드(수동)

◎ 구커널이미지 삭제



<내용>

[Redhat 계열의 리눅스]

OS종류 : RHEL, CentOS, Fedora, SUSE 등

패키지 설치, 업데이트, 삭제 명령어 : rpm(Redhat Package Manager), yum(Yellowdog Updater Modified)


◎ 업그레이드 순서

1. 패키지 정보 업데이트

 # yum -y update

각 업데이트 저장소에서 업데이트 패키지 목록을 갱신합니다.


2. 패키지 업그레이드

 # yum upgrade

패키지 목록과 보유한 목록을 비교하여 실제 패키지 업데이트를 수행합니다.


◎ 커널업데이트 없이 업그레이드

1. 커널업데이트 금지 설정

 # yum update --exclude=kernel*

커널업데이트를 제외합니다. 또는 /etc/yum.conf에서 다음 문장을 추가해줍니다. exclude=kernel*


2. 패키지 업그레이드

 # yum upgrade

패키지 목록과 보유한 목록을 비교하여 실제 패키지 업데이트를 수행합니다.


◎ 특정버전 커널업그레이드(자동)

1. 커널 정보 확인

 # uname -r

또는

 # cat /proc/version 

현재 부팅되어있는 커널 정보를 확인합니다.


2. 리눅스 커널 이미지 버전 검색

 http://vault.centos.org/

http://vault.centos.org/ 에서 리눅스 커널 이미지 버전을 검색합니다


3. 패키지 저장소(Repository) URL 수정

 # cd /etc/yum.repos.d

 # cp CentOS-Base.repo CentOS-Base.repo.bak

 # vi CentOS-Base.repo

 [base]

 baseurl=http://vault.centos.org/버전/os/x86_64/

 gpgkey=http://vault.centos.org/버전/os/x86_64/RPM-GPG-KEY-CentOS-버전

 [updates]

 baseurl=http://vault.centos.org/버전/updates/x86_64/

 gpgkey=http://vault.centos.org/버전/os/x86_64/RPM-GPG-KEY-CentOS-버전

 [extras]

 baseurl=http://vault.centos.org/버전/extras/x86_64/

 gpgkey=http://vault.centos.org/버전/os/x86_64/RPM-GPG-KEY-CentOS-버전

 [centosplus]

 baseurl=http://vault.centos.org/버전/centosplus/x86_64/

 gpgkey=http://vault.centos.org/버전/os/x86_64/RPM-GPG-KEY-CentOS-버전

 [contrib]

 baseurl=http://vault.centos.org/버전/contrib/x86_64/

 gpgkey=http://vault.centos.org/버전/os/x86_64/RPM-GPG-KEY-CentOS-버전

편집을 통해 mirrorlist 대신 baseurl 을 위 내용으로 추가하여 대신하고 gpgkey를 수정합니다.


4. 패키지 정보 업데이트

 # yum -y update

각 업데이트 저장소에서 업데이트 패키지 목록을 갱신합니다.


5. 패키지 업그레이드

 # yum upgrade

패키지 목록과 보유한 목록을 비교하여 실제 패키지 업데이트를 수행합니다.


6. 재부팅

 # reboot


◎ 특정버전 커널업그레이드(수동)

1. 커널 다운로드

 http://www.kernel.org

또는

 # wget https://cdn.kernel.org/pub/linux/kernel/v3.x/linux-버전.tar.zx

또는

 # wget https://cdn.kernel.org/pub/linux/kernel/v3.x/linux-버전.tar.gz

www.kernel.org 에서 원하는 커널버전의 tar.xz 를 다운로드 받습니다.

또는 링크주소를 복사하여 wget으로 tar.xz 이나 tar.gz 를 다운로드 받습니다.


2. 다운로드 파일 이동

 # mv linux-버전.tar.zx /usr/src

또는

 # mv linux-버전.tar.gz /usr/src

다운로드 받은 파일을 /usr/src 로 이동합니다.


3. 압축해제

 # xz -d linux-버전.tar.zx

 # tar -xvf linux-버전.tar

tar 와 xz 포맷으로 압축된 파일의 압축을 해제합니다.

또는

 # tar -xvzf linux-버전.tar.gz

tar.gz 포맷으로 압축된 파일의 압축을 해제합니다.


4. 심볼릭링크

 # ln -s /usr/src/linux-버전 /usr/src/linux


5. 환경설정

 # cd /usr/src/linux

 # make mrproper

 # make clean

make mrproper : 기존에 설정되어 있던 모든 의존관계 및 환경 설정  값들을 제거 합니다

make clean : 기존 소스 컴파일 작업으로 생성된 파일들 삭제합니다.


6. 컴파일할 소스파일 복사

 # cp /boot/config-`uname-r` ./.config

현재 사용하고 있는 커널 설정 파일을 복사합니다.


7. 커널환경설정

 # make menuconfig

Load 메뉴를눌러 .config 소스 파일을 불러옵니다. 소스파일 로딩이 완료되면 General setup 항목을 <Enter> 를 이용해 선택합니다.

Enable deprecated sysfs features to support old userspace too 라는 항목을 <Space bar> 를 이용해 체크하고 저장합니다.


::추가사항::

화면이 깨진다면 # yum install gcc* ncurses-devel 을 실행 후 진행하시기 바랍니다.

gcc : 컴파일에 필요한 gcc 컴파일러 설치

ncurses-devel : 텍스트 기반 화면처리 라이브러리


8. 커널 컴파일

 # make all

커널 설정 파일 .config를 사용하여  커널 소스를 컴파일 합니다


9. 커널 설치

 # make modules_install

 # make install

컴파일된 모듈들을 설치합니다.


10. 커널 적용을 위한 default 부팅 값 수정

 # vi /boot/grub/grub.conf

새로 설치한 커널이 첫번째 라인에 있으므로 default=0 으로 설정합니다.


◎ 구커널이미지 삭제

리눅스는 커널 업데이트가 빈번합니다. 그리고 매번 업그레이드할 때마다, 이전의 커널 이미지는 삭제되지 않고 남아 있습니다. 때문에 커널 이미지를 삭제해주는 작업이 필요합니다.

1. 커널 정보 확인

 # uname -r

또는

 # cat /proc/version 

현재 부팅되어있는 커널 정보를 확인합니다.


2. 커널 리스트 확인

 # rpm -q kernel

현재 설치되어있는 커널 리스트를 확인합니다.


3.1. 커널 이미지 삭제

 # yum erase kernel-버전

불필요한 커널을 삭제합니다.


종합

 # yum install yum-utils

 # package-cleanup --oldkernels --count=1

yum-list를 이용해서 위의 1~3 단계를 한번에 실행합니다. count 는 구버전의 커널을 몇개까지 남겨 놓을지 설정하는 옵션입니다. 기본 값은 5입니다.



댓글
공지사항