Leave Your Message
*Name Cannot be empty!
* Enter product details such as size, color,materials etc. and other specific requirements to receive an accurate quote. Cannot be empty
견적 요청
산업용 컴퓨터 CentOS 시스템의 커널을 업그레이드하는 세 가지 방법
블로그

산업용 컴퓨터 CentOS 시스템의 커널을 업그레이드하는 세 가지 방법

2024년 10월 17일 15시 08분 44초

CentOS를 사용하다 보면 커널 업그레이드가 불가피해지지만, 소스 코드 컴파일 종속성 문제로 인해 모든 프로그램이 최신 커널 버전을 지원하지 않는 경우가 있습니다. 따라서 아래에서는 커널을 업그레이드하는 세 가지 방법을 소개합니다.

메모:
커널 유형에 대하여:
kernel-ml의 ml은 영어로 [mainline stable]의 약자이며, 최신 안정 메인라인 버전은 elrepo-kernel에 나열되어 있습니다.
kernel-lt의 lt는 영어로 [장기 지원]의 약자이며, 장기 지원 버전은 elrepo-kernel에 나열되어 있습니다.
커널 버전을 확인하세요
uname -r

이미지 1
목차

1. yum 설치

1. 저장소 소스를 가져옵니다.
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
2. 설치 가능한 패키지 보기
yum --enablerepo="elrepo-kernel" 목록 --showduplicates | 정렬 -r | grep
커널-ml.x86_64
3. 설치할 ML 또는 LT 버전을 선택하세요.
버전이 지정되지 않은 경우 기본적으로 최신 버전이 설치됩니다.
ML 버전을 설치하세요
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
LT 버전을 설치하고 모든 K8S에 대해 이 옵션을 선택하십시오.
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
4. 현재 커널 부팅 순서를 확인하십시오.
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
5. 기본 부팅 항목을 수정합니다.
xxx는 시리얼 번호로, 부팅 목록에서 x번째 항목을 부팅 항목으로 지정하며, x는 0부터 시작합니다.
grub2-set-default xxxx
예를 들어, 커널 4.4로 부팅하도록 설정하려면 다음과 같이 하면 됩니다.
그런 다음 "grub2-set-default 0"을 직접 입력하면 다음 부팅 시 4.4 버전부터 시작할 수 있습니다.
커널 부팅 순서를 확인하세요
[root@localhost ~] awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.179-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-6d4c599606814867814f1a8eec7bfd1e) 7 (Core)
부팅 시퀀스 번호를 설정하세요
[root@localhost ~] grub2-set-default 0
재부팅
재부팅
커널 버전을 확인하세요
uname -r

이미지 2

2. RPM 설치

커널 버전을 확인하세요
uname -r
1. 버전을 찾으세요
ELRepo 소스는 최신 버전이기 때문에 이전 버전의 커널은 수동으로만 다운로드할 수 있습니다.
커널 rpm의 이전 버전을 찾으세요:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
2. 세 가지 유형의 rpm 파일을 다운로드해야 합니다.
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
devel-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
헤더-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-
4.4.215-1.el7.elrepo.x86_64.rpm
3. 커널을 설치합니다.
rpm -ivh kernel-lt-4.4.215-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64.rpm
또는
#한 번의 클릭으로 모두 설치
rpm -Uvh *.rpm
4. 설치된 커널 버전을 확인하십시오.
[root@localhost ~]# rpm -qa | grep kernel
커널 헤더-3.10.0-1160.15.2.el7.x86_64
커널 개발 3.10.0-1160.49.1.el7.x86_64
커널 툴 라이브러리 3.10.0-957.el7.x86_64
커널-3.10.0-957.el7.x86_64
kernel-ml-4.9.9-1.el7.elrepo.x86_64
커널-lt-4.4.215-1.el7.elrepo.x86_64
커널 툴즈-3.10.0-957.el7.x86_64
kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64

5. 시작 설정
시작 순서를 확인하세요
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.215-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)
부팅 순서를 설정하세요
[root@localhost ~]# grub2-set-default 0
재부팅해야 적용됩니다.
[root@localhost ~]# 재부팅

3. 소스 코드 설치

1. 핵심 소프트웨어 패키지를 설치합니다.
yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc
2. 커널 컴파일 디렉터리를 생성합니다.
홈 디렉터리 아래의 kernelbuild 디렉터리를 사용하십시오.
mkdir ~/kernelbuild
3. 커널 소스 코드를 가져옵니다.
칭화대학교 미러 사이트:
https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/?C=M&O=D
기타 소스 코드 설치 패키지 다운로드 주소:
https://mirrors.edge.kernel.org/pub/linux/kernel/
리눅스-4.xx.xx.tar.xz
리눅스-4.xx.xx.tar.gz
두 형식 모두 사용 가능하지만, tar.xz는 압축률이 더 높고 파일 크기가 더 작습니다.
온라인 다운로드: wget https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.17.11.tar.xz
4. 커널 코드의 압축을 해제합니다.
압축을 푼 후 소스 디렉토리로 이동하세요.
tar -xvJf linux-4.17.11.tar.xz
커널 트리가 완전히 깨끗한지 확인하려면 커널 디렉터리로 이동하여 make mrproper 명령을 실행하십시오.
cd linux-4.17.11
깨끗하게 만들고 && 미스터프루퍼를 만드세요

5. 커널 구성
현재 커널 구성 파일을 복사합니다.
config-3.10.0-862.el7.x86_64는 현재 환경의 커널 설정 파일입니다. 실제 상황에 맞게 수정하십시오.
cp /boot/config-3.10.0-862.el7.x86_64 .config
고급 구성
y는 활성화되어 있고, n은 비활성화되어 있으며, m은 필요할 때 활성화됩니다.
make menuconfig: 이전 ncurses 인터페이스이며 nconfig로 대체되었습니다.
make nconfig: 새로운 명령줄 ncurses 인터페이스
6. 컴파일 및 설치
커널을 컴파일합니다
쿼드코어 컴퓨터를 사용하는 경우 x는 8이 될 수 있습니다.
make -jx
커널을 설치하세요
커널을 컴파일한 후 설치하십시오. 경고: 이후 단계에서는 명령을 실행하려면 루트 권한이 필요합니다. 그렇지 않으면 설치가 실패합니다.
make modules_install 설치
7. 스타트업 설정
시작 순서를 확인하세요
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.17.11-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)
부팅 순서 설정
[root@localhost ~]# grub2-set-default 0
재부팅해야 적용됩니다.
[root@localhost ~]# 재부팅


관련 상품

01

LET'S TALK ABOUT YOUR PROJECTS

  • sinsmarttech@gmail.com
  • 3F, Block A, Future Research & Innovation Park, Yuhang District, Hangzhou, Zhejiang, China

Our experts will solve them in no time.