<순서>
[Redhat 계열의 리눅스]
◎ 업그레이드 순서
◎ 커널업데이트 없이 업그레이드
◎ 특정버전 커널업그레이드(자동)
◎ 특정버전 커널업그레이드(수동)
◎ 구커널이미지 삭제
<내용>
[Redhat 계열의 리눅스]
OS종류 : RHEL, CentOS, Fedora, SUSE 등
패키지 설치, 업데이트, 삭제 명령어 : rpm(Redhat Package Manager), yum(Yellowdog Updater Modified)
◎ 업그레이드 순서
1. 패키지 정보 업데이트
각 업데이트 저장소에서 업데이트 패키지 목록을 갱신합니다.
2. 패키지 업그레이드
패키지 목록과 보유한 목록을 비교하여 실제 패키지 업데이트를 수행합니다.
◎ 커널업데이트 없이 업그레이드
1. 커널업데이트 금지 설정
# yum update --exclude=kernel* |
커널업데이트를 제외합니다. 또는 /etc/yum.conf에서 다음 문장을 추가해줍니다. exclude=kernel*
2. 패키지 업그레이드
패키지 목록과 보유한 목록을 비교하여 실제 패키지 업데이트를 수행합니다.
◎ 특정버전 커널업그레이드(자동)
1. 커널 정보 확인
또는
현재 부팅되어있는 커널 정보를 확인합니다.
2. 리눅스 커널 이미지 버전 검색
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. 패키지 정보 업데이트
각 업데이트 저장소에서 업데이트 패키지 목록을 갱신합니다.
5. 패키지 업그레이드
패키지 목록과 보유한 목록을 비교하여 실제 패키지 업데이트를 수행합니다.
6. 재부팅
◎ 특정버전 커널업그레이드(수동)
1. 커널 다운로드
또는
# 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. 커널환경설정
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. 커널 컴파일
커널 설정 파일 .config를 사용하여 커널 소스를 컴파일 합니다
9. 커널 설치
# make modules_install # make install |
컴파일된 모듈들을 설치합니다.
10. 커널 적용을 위한 default 부팅 값 수정
# vi /boot/grub/grub.conf |
새로 설치한 커널이 첫번째 라인에 있으므로 default=0 으로 설정합니다.
◎ 구커널이미지 삭제
리눅스는 커널 업데이트가 빈번합니다. 그리고 매번 업그레이드할 때마다, 이전의 커널 이미지는 삭제되지 않고 남아 있습니다. 때문에 커널 이미지를 삭제해주는 작업이 필요합니다.
1. 커널 정보 확인
또는
현재 부팅되어있는 커널 정보를 확인합니다.
2. 커널 리스트 확인
현재 설치되어있는 커널 리스트를 확인합니다.
3.1. 커널 이미지 삭제
불필요한 커널을 삭제합니다.
종합
# yum install yum-utils # package-cleanup --oldkernels --count=1 |
yum-list를 이용해서 위의 1~3 단계를 한번에 실행합니다. count 는 구버전의 커널을 몇개까지 남겨 놓을지 설정하는 옵션입니다. 기본 값은 5입니다.