Ubuntu 커널 업그레이드
Paragon Insights(이전의 HealthBot) 설치 가이드에 대한 이 부록은 Paragon Insights 설치 요구 사항을 충족하기 위해 Ubuntu 16.04 서버의 커널 버전을 4.4.19 이상으로 업그레이드해야 하는 사용자를 위한 것입니다. 커널 업그레이드는 단일 및 다중 노드 설치 모두에 필요합니다. 이 문서는 당신이 Ubuntu의 소프트웨어 패키징 시스템인 apt에 익숙하다고 가정합니다.
명령이 실행되는 것을 보고 싶은 분들을 위해:
커널 업그레이드 프로세스는 다음 단계를 포함합니다.
현재 커널 버전 확인
서버에서 apt 리포지토리를 업데이트합니다.
기존 소프트웨어 패키지를 최신 버전으로 업그레이드합니다.
최신 커널 찾기 및 설치
재부팅하여 새 커널 로드
시스템이 새 커널에서 실행되고 있는지 확인합니다
커널 업그레이드를 수행하려면 루트 사용자로 서버에 로그인하거나 명령을 사용하여 sudo -s
루트 권한을 얻을 수 있어야 합니다. 절차의 나머지 부분에 있는 명령은 사용자가 루트로 로그인했거나 명령을 실행 sudo -s
했다고 가정합니다.
기존 커널 버전apt 리포지토리를 확인하려면:
root@server# uname -msr Linux 4.4.0-178-generic x86_64
기존 커널이 필요한 버전보다 낮기 때문에 이 서버에서 커널을 업그레이드해야 합니다.
apt 리포지토리를 업데이트하여 커널 업그레이드 절차를 시작합니다.
apt 리포지토리를 업데이트하려면:
-
root@server# apt update root@pete:/home/probbins# apt update Get:1 http://repo.juniper.net/Ubuntu/stable/JNPR/xenial jnpr InRelease [3,166 B] Hit:2 http://us.archive.ubuntu.com/ubuntu xenial InRelease Get:3 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB] Get:5 http://us.archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB] Hit:4 https://packages.cloud.google.com/apt kubernetes-xenial InRelease Get:6 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [863 kB] Get:7 http://us.archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB] Hit:8 https://download.docker.com/linux/ubuntu xenial InRelease Get:9 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [1,140 kB] Get:10 http://security.ubuntu.com/ubuntu xenial-security/main i386 Packages [659 kB] Get:11 http://us.archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages [918 kB] Get:12 http://security.ubuntu.com/ubuntu xenial-security/main Translation-en [324 kB] Get:13 http://us.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [797 kB] Get:14 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [491 kB] Get:15 http://us.archive.ubuntu.com/ubuntu xenial-updates/universe i386 Packages [721 kB] Get:16 http://security.ubuntu.com/ubuntu xenial-security/universe i386 Packages [422 kB] Get:17 http://security.ubuntu.com/ubuntu xenial-security/universe Translation-en [201 kB] Get:18 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [6,092 B] Get:19 http://security.ubuntu.com/ubuntu xenial-security/multiverse i386 Packages [6,248 B] Fetched 6,878 kB in 15s (437 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 48 packages can be upgraded. Run 'apt list --upgradable' to see them. W: Target Packages (stable/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:55 and /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:1 W: Target Packages (stable/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:55 and /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:1 W: Target Translations (stable/i18n/Translation-en_US) is configured multiple times in /etc/apt/sources.list:55 and /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:1 W: Target Translations (stable/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:55 and /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:1 N: Skipping acquire of configured file 'stable/binary-i386/Packages' as repository 'https://download.docker.com/linux/ubuntu xenial InRelease' doesn't support architecture 'i386' W: Target Packages (stable/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:55 and /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:1 W: Target Packages (stable/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:55 and /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:1 W: Target Translations (stable/i18n/Translation-en_US) is configured multiple times in /etc/apt/sources.list:55 and /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:1 W: Target Translations (stable/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:55 and /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:1
위의 출력을 살펴보면 48개의 패키지가 업그레이드에 적합하다는 것을 알 수 있습니다.
커널 업그레이드를 포함한 기존 소프트웨어 패키지 업그레이드:
-
root@server# apt upgrade -y Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: linux-headers-4.4.0-174 linux-headers-4.4.0-174-generic linux-image-4.4.0-174-generic linux-modules-4.4.0-174-generic linux-modules-extra-4.4.0-174-generic Use 'sudo apt autoremove' to remove them. The following NEW packages will be installed: linux-headers-4.4.0-178 linux-headers-4.4.0-178-generic linux-image-4.4.0-178-generic linux-modules-4.4.0-178-generic linux-modules-extra-4.4.0-178-generic The following packages will be upgraded: apport distro-info-data git git-man kubeadm kubectl kubelet libcups2 libgd3 libglib2.0-0 libglib2.0-data libicu55 libldap-2.4-2 libpam-systemd libprocps4 libpulse0 libpython2.7-minimal libpython2.7-stdlib libpython3.5 libpython3.5-dev libpython3.5-minimal libpython3.5-stdlib libsystemd0 libudev1 linux-base linux-firmware linux-generic linux-headers-generic linux-image-generic linux-libc-dev procps python2.7 python2.7-minimal python3-apport python3-distupgrade python3-problem-report python3.5 python3.5-dev python3.5-minimal sosreport systemd systemd-sysv ubuntu-release-upgrader-core udev vim vim-common vim-runtime vim-tiny 48 upgraded, 5 newly installed, 0 to remove and 0 not upgraded. Need to get 228 MB of archives. After this operation, 311 MB of additional disk space will be used. Get:1 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 systemd-sysv amd64 229-4ubuntu21.28 [12.3 kB] Get:2 http://security.ubuntu.com/ubuntu xenial-security/main amd64 libpulse0 amd64 1:8.0-0ubuntu3.12 [253 kB] Get:3 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpam-systemd amd64 229-4ubuntu21.28 [115 kB] Get:7 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libsystemd0 amd64 229-4ubuntu21.28 [206 kB] Get:4 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 kubelet amd64 1.18.2-00 [19.5 MB] Get:8 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 systemd amd64 229-4ubuntu21.28 [3,639 kB] Get:5 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 kubectl amd64 1.18.2-00 [8,825 kB] Get:6 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 kubeadm amd64 1.18.2-00 [8,162 kB] Get:9 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 udev amd64 229-4ubuntu21.28 [993 kB] Get:10 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libudev1 amd64 229-4ubuntu21.28 [54.8 kB] Get:11 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libprocps4 amd64 2:3.3.10-4ubuntu2.5 [32.9 kB] Get:12 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 procps amd64 2:3.3.10-4ubuntu2.5 [222 kB] Get:13 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3.5-dev amd64 3.5.2-2ubuntu0~16.04.10 [413 kB] Get:14 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5-dev amd64 3.5.2-2ubuntu0~16.04.10 [37.3 MB] Get:15 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5 amd64 3.5.2-2ubuntu0~16.04.10 [1,360 kB] Get:16 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3.5 amd64 3.5.2-2ubuntu0~16.04.10 [165 kB] Get:17 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5-stdlib amd64 3.5.2-2ubuntu0~16.04.10 [2,135 kB] Get:18 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3.5-minimal amd64 3.5.2-2ubuntu0~16.04.10 [1,597 kB] Get:19 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5-minimal amd64 3.5.2-2ubuntu0~16.04.10 [525 kB] Get:20 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libglib2.0-0 amd64 2.48.2-0ubuntu4.6 [1,120 kB] Get:21 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python2.7 amd64 2.7.12-1ubuntu0~16.04.11 [224 kB] Get:22 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython2.7-stdlib amd64 2.7.12-1ubuntu0~16.04.11 [1,884 kB] Get:23 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python2.7-minimal amd64 2.7.12-1ubuntu0~16.04.11 [1,261 kB] Get:24 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython2.7-minimal amd64 2.7.12-1ubuntu0~16.04.11 [338 kB] Get:25 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 distro-info-data all 0.28ubuntu0.14 [4,674 B] Get:26 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-base all 4.5ubuntu1.1~16.04.1 [18.1 kB] Get:27 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 vim amd64 2:7.4.1689-3ubuntu1.4 [1,036 kB] Get:28 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 vim-tiny amd64 2:7.4.1689-3ubuntu1.4 [446 kB] Get:29 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 vim-runtime all 2:7.4.1689-3ubuntu1.4 [5,169 kB] Get:30 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 vim-common amd64 2:7.4.1689-3ubuntu1.4 [103 kB] Get:31 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libglib2.0-data all 2.48.2-0ubuntu4.6 [131 kB] Get:32 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libicu55 amd64 55.1-7ubuntu0.5 [7,650 kB] Get:33 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libldap-2.4-2 amd64 2.4.42+dfsg-2ubuntu3.8 [159 kB] Get:34 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 ubuntu-release-upgrader-core all 1:16.04.30 [30.5 kB] Get:35 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3-distupgrade all 1:16.04.30 [104 kB] Get:36 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3-problem-report all 2.20.1-0ubuntu2.23 [10.5 kB] Get:37 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3-apport all 2.20.1-0ubuntu2.23 [80.1 kB] Get:38 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 apport all 2.20.1-0ubuntu2.23 [121 kB] Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst Searching for splash image ... none found, skipping ... done
user@server# apt install --install-recommends linux-generic-hwe-16.04 Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: linux-headers-4.4.0-174 linux-headers-4.4.0-174-generic linux-image-4.4.0-174-generic linux-modules-4.4.0-174-generic linux-modules-extra-4.4.0-174-generic Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: linux-headers-4.15.0-99 linux-headers-4.15.0-99-generic linux-headers-generic-hwe-16.04 linux-image-4.15.0-99-generic linux-image-generic-hwe-16.04 linux-modules-4.15.0-99-generic linux-modules-extra-4.15.0-99-generic thermald Suggested packages: fdutils linux-hwe-tools The following NEW packages will be installed: linux-generic-hwe-16.04 linux-headers-4.15.0-99 linux-headers-4.15.0-99-generic linux-headers-generic-hwe-16.04 Found kernel: /vmlinuz-4.13.0-26-generic Found kernel: /vmlinuz-4.4.19-040419-generic Found kernel: /vmlinuz-4.4.0-178-generic Found kernel: /vmlinuz-4.4.0-174-generic Replacing config file /run/grub/menu.lst with new version Updating /boot/grub/menu.lst ... done /etc/kernel/postinst.d/zz-update-grub: Generating grub configuration file ... Found linux image: /boot/vmlinuz-4.15.0-99-generic Found initrd image: /boot/initrd.img-4.15.0-99-generic Found initrd image: /boot/initrd.img-4.4.19-040419-generic Found linux image: /boot/vmlinuz-4.4.0-178-generic Found initrd image: /boot/initrd.img-4.4.0-178-generic Found linux image: /boot/vmlinuz-4.4.0-174-generic Found initrd image: /boot/initrd.img-4.4.0-174-generic done Processing triggers for dbus (1.10.6-1ubuntu3.5) ... Processing triggers for systemd (229-4ubuntu21.28) ... Processing triggers for ureadahead (0.100.0-19.1) ...
위의 출력에서 볼 수 있듯이 이 서버에서는 여러 커널을 사용할 수 있습니다.
apt install
플래그가–install-recommends
있는 명령은 사용 가능한 커널을 찾고 부팅 시 부팅할 커널을 선택할 수 있도록 grub 메뉴를 준비했습니다.
이제 새 커널을 사용할 수 있지만 실행되지는 않습니다. 새 커널을 로드하려면 서버를 재부팅해야 합니다.
-
user@server# reboot
재부팅 후 실행 중인 커널을 확인합니다.
-
user@server# uname -msr Linux 4.15.0-99-generic x86_64