<순서>
[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입니다.
'IT > Linux' 카테고리의 다른 글
Linux 가상 서버(LVS:Linux Virtual Server)로 부하 분산 서버(Load Balancer) 구성하기 (0) | 2023.08.06 |
---|---|
[Linux] Ubuntu 패키지/커널 업그레이드 관련 내용 (0) | 2017.04.12 |
[Linux] ELF statifier 를 이용한 정적 실행 파일 생성(정적 컴파일) (0) | 2017.03.31 |
[Linux] 메모리 보호 기법 중 ASLR와 NX 설정값 확인 및 변경 (0) | 2017.03.29 |
[Linux] 메모리 보호 기법 (0) | 2017.03.28 |