웹사이트 검색

Ubuntu 16.04 서버에서 Linux 커널을 업그레이드하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • Ubuntu 22.04(Jammy Jellyfish)
  • Ubuntu 16.04(Xenial Xerus)

이 페이지에서

  1. 1단계 - Ubuntu 리포지토리 업데이트 및 모든 패키지 업그레이드
  2. 2단계 - 활성 커널 버전 확인\n
  3. 3단계 - 새 커널 버전 설치
  4. 4단계 - 이전 커널 제거
  5. 참조

Linux 커널은 Ubuntu 운영 체제의 핵심입니다. Linux 커널은 컴퓨터 운영 체제용 모놀리식 Unix와 유사한 커널로, Linux Torvalds에서 만들어졌으며 Ubuntu, CentOS, OpenSuSE, ReadHat 및 Debian을 포함한 모든 Linux 배포판에서 사용됩니다.

이 튜토리얼에서는 Ubuntu 커널 팀에서 제공하는 최신 메인라인 커널 빌드를 사용하도록 Ubuntu 커널을 업그레이드하는 방법을 보여줍니다. 기본 커널 버전 4.4와 함께 Ubuntu 16.04.2 Xenial Xerus를 사용하여 4.11.2 커널 버전으로 기본 업그레이드합니다.

메인라인 커널 빌드란 무엇입니까?

Mainline Kernel Build는 deb 패키지로 패키지된 kernel.org의 바닐라 커널입니다. Canonical Kernel Team은 Ubuntu용 커널 소스를 빌드 및 사용자 지정하고 apt 패키지 관리자를 사용하여 쉽게 설치할 수 있도록 .deb 패키지로 빌드합니다. Mainline 커널은 최신 커널 기능이 필요한 경우에만 사용해야 하며 Ubuntu와 함께 기본적으로 제공되는 프로덕션 커널보다 잠재적으로 덜 안정적입니다.

우리가 할 일:

  1. 리포지토리 업데이트 및 모든 패키지 업그레이드.
  2. 커널 활성화 확인.\n
  3. 새 커널 버전 설치 중.
  4. 이전 커널을 제거합니다.\n

1단계 - Ubuntu 리포지토리 업데이트 및 모든 패키지 업그레이드

커널을 업그레이드하기 전에 가장 먼저 해야 할 일은 Ubuntu 리포지토리를 업데이트하고 모든 패키지를 최신 버전으로 업그레이드하는 것입니다.

SSH 로그인을 통해 우분투 서버에 연결합니다. 다음 단계를 위해서는 루트 사용자여야 합니다. 서버에서 루트 로그인이 비활성화된 경우 일반 사용자로 로그인하고 sudo -s를 실행하여 루트가 됩니다.

ssh 

시스템의 모든 리포지토리를 업데이트합니다.

sudo apt update

그런 다음 아래 명령으로 설치된 모든 패키지를 업그레이드하십시오.

sudo apt upgrade -y

마지막으로 잠재적으로 설치된 커널 업데이트가 적용되도록 서버를 재부팅합니다.

sudo reboot

이제 아래 명령을 사용하여 업그레이드 가능한 패키지를 다시 확인하십시오.

sudo apt list --upgradeable

펜싱 업데이트가 없는지 확인하십시오.

2단계 - 활성 커널 버전 확인

이 단계에서는 시스템의 활성 커널을 확인합니다. 시스템 아키텍처와 시스템에서 사용되는 커널 버전을 알아야 합니다.

uname 명령어로 시스템에서 사용하는 활성 커널을 확인합니다.

uname -msr

아래와 같이 커널 버전을 얻을 수 있습니다.

Linux 4.4.0-78-generic x86_64

이것은 우리가 x86_64/64비트 시스템과 함께 Generic Linux 커널 버전 4.4를 사용하고 있음을 의미합니다.

일반 커널은 범용 커널입니다. 편집, 비디오 및 오디오 인코딩과 같은 작업에 상자를 사용하려면 예를 들어 대기 시간이 짧은 커널 중 하나를 사용하는 것이 좋습니다.

3단계 - 새 커널 버전 설치

이제 우리는 현재 커널 4.4를 사용하고 있음을 알고 있습니다. 이 단계에서는 사용된 커널을 최신 메인라인 커널 빌드 버전 4.11.2로 업그레이드합니다. 모든 메인라인 커널 빌드는 이 사이트(http://kernel.ubuntu.com/~kernel-ppa/mainline/)에서 다운로드할 수 있습니다.

메인라인 커널 버전을 위한 새 디렉터리를 만듭니다.

sudo mkdir -p ~/4.11.2
cd ~/4.11.2

wget 명령을 사용하여 일반 커널 버전 패키지를 다운로드합니다(일반 버전을 사용하고 있기 때문).

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11.2/linux-headers-4.11.2-041102_4.11.2-041102.201705201036_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11.2/linux-headers-4.11.2-041102-generic_4.11.2-041102.201705201036_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11.2/linux-image-4.11.2-041102-generic_4.11.2-041102.201705201036_amd64.deb

이제 아래의 dpkg 명령으로 패키지를 설치하십시오.

dpkg -i *.deb

커널 패키지 설치가 완료되면 grub을 업데이트하고 시스템을 재부팅합니다.

sudo update-grub
sudo reboot

서버 재부팅 후 커널 버전을 다시 확인합니다.

uname -msr

시스템에 새 커널이 설치됩니다: 4.11.2.

Linux 4.11.2-041102-generic x86_64

4단계 - 이전 커널 제거

이 단계에서 우리 서버의 커널 버전은 4.11.2로 업데이트됩니다. 이 단계에서는 이전 커널을 제거하고 지금 사용 중인 새 버전을 그대로 둡니다.

이를 위해 byobu라는 명령줄 유틸리티를 사용합니다. 시스템에서 이전 커널을 안전하게 제거하고 제거하는 훌륭한 유틸리티이며 현재 실행 중인 커널은 절대 제거하지 않습니다.

아래의 적절한 명령어로 byobu를 설치하세요.

sudo apt install byobu

완료되면 시스템에 설치된 커널 버전을 확인하십시오.

dpkg -l | grep linux-image

결과는 아래와 같습니다.

서버에 4.4.62 - 4.4.78 - 4.11.2의 세 가지 버전의 Ubuntu 커널을 설치했습니다. 그리고 현재 시스템은 최신 커널 4.11.2를 사용하고 있습니다. 이전 커널 4.4를 제거하고 최신 커널 4.11.2를 그대로 둡니다.

아래 명령어를 실행하여 이전 커널을 삭제하세요.

sudo purge-old-kernels

아래 결과가 표시되는 경우:

No kernels are eligible for removal

그러면 2개의 커널 버전만 설치됩니다. 기본적으로 byobu는 첫 번째 커널이 실패할 때 대체 커널을 사용할 수 있도록 시스템에 최소 2개의 커널 버전을 유지합니다.

유일한(최신) 커널을 유지하려면 아래 명령을 사용하여 하나의 커널을 제외한 모든 커널을 제거할 수 있습니다.

purge-old-kernels --keep 1 -q

이제 grub을 업데이트하면 시스템에 하나의 커널 버전만 설치됩니다.

sudo update-grub

이제 Ubuntu 커널이 메인라인 커널 빌드에서 최신 버전 4.11.2로 업그레이드되었으며 이전 커널 버전은 디스크 공간 확보를 위해 시스템에서 제거되었습니다.

참조

  • https://help.ubuntu.com/community/RemoveOldKernels