|
|
51CTO旗下网站
|
|
移动端

UKTools:安装最新Linux内核的简便方法

Ubuntu 中有许多实用程序可以将 Linux 内核升级到最新的稳定版本。我们之前已经写过关于这些实用程序的文章,例如 Linux Kernel Utilities (LKU)、 Ubuntu Kernel Upgrade Utility (UKUU) 和 Ubunsys。

作者:Prakash Subramanian来源:Linux中国|2018-08-08 15:20

Ubuntu 中有许多实用程序可以将 Linux 内核升级到最新的稳定版本。我们之前已经写过关于这些实用程序的文章,例如 Linux Kernel Utilities (LKU)、 Ubuntu Kernel Upgrade Utility (UKUU) 和 Ubunsys。

另外还有一些其它实用程序可供使用。我们计划在其它文章中包含这些,例如 ubuntu-mainline-kernel.sh 和从主线内核手动安装的方式。

今天我们还会教你类似的使用工具 —— UKTools。你可以尝试使用这些实用程序中的任何一个来将 Linux 内核升级至最新版本。

最新的内核版本附带了安全漏洞修复和一些改进,因此,最好保持最新的内核版本以获得可靠、安全和更好的硬件性能。

有时候最新的内核版本可能会有一些漏洞,并且会导致系统崩溃,这是你的风险。我建议你不要在生产环境中安装它。

建议阅读:

什么是 UKTools

UKTools 意思是 Ubuntu 内核工具,它包含两个 shell 脚本 ukupgradeukpurge

ukupgrade 意思是 “Ubuntu Kernel Upgrade”,它允许用户将 Linux 内核升级到 Ubuntu/Mint 的最新稳定版本以及基于 kernel.ubuntu.com 的衍生版本。

ukpurge 意思是 “Ubuntu Kernel Purge”,它允许用户在机器中删除旧的 Linux 内核镜像或头文件,用于 Ubuntu/Mint 和其衍生版本。它将只保留三个内核版本。

此实用程序没有 GUI,但它看起来非常简单直接,因此,新手可以在没有任何问题的情况下进行升级。

我正在运行 Ubuntu 17.10,目前的内核版本如下:

  1. $ uname -a
  2. Linux ubuntu 4.13.0-39-generic #44-Ubuntu SMP Thu Apr 5 14:25:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

运行以下命令来获取系统上已安装内核的列表(Ubuntu 及其衍生产品)。目前我持有 7 个内核。

  1. $ dpkg --list | grep linux-image
  2. ii linux-image-4.13.0-16-generic 4.13.0-16.19 amd64 Linux kernel image for version 4.13.0 on 64 bit x86 SMP
  3. ii linux-image-4.13.0-17-generic 4.13.0-17.20 amd64 Linux kernel image for version 4.13.0 on 64 bit x86 SMP
  4. ii linux-image-4.13.0-32-generic 4.13.0-32.35 amd64 Linux kernel image for version 4.13.0 on 64 bit x86 SMP
  5. ii linux-image-4.13.0-36-generic 4.13.0-36.40 amd64 Linux kernel image for version 4.13.0 on 64 bit x86 SMP
  6. ii linux-image-4.13.0-37-generic 4.13.0-37.42 amd64 Linux kernel image for version 4.13.0 on 64 bit x86 SMP
  7. ii linux-image-4.13.0-38-generic 4.13.0-38.43 amd64 Linux kernel image for version 4.13.0 on 64 bit x86 SMP
  8. ii linux-image-4.13.0-39-generic 4.13.0-39.44 amd64 Linux kernel image for version 4.13.0 on 64 bit x86 SMP
  9. ii linux-image-extra-4.13.0-16-generic 4.13.0-16.19 amd64 Linux kernel extra modules for version 4.13.0 on 64 bit x86 SMP
  10. ii linux-image-extra-4.13.0-17-generic 4.13.0-17.20 amd64 Linux kernel extra modules for version 4.13.0 on 64 bit x86 SMP
  11. ii linux-image-extra-4.13.0-32-generic 4.13.0-32.35 amd64 Linux kernel extra modules for version 4.13.0 on 64 bit x86 SMP
  12. ii linux-image-extra-4.13.0-36-generic 4.13.0-36.40 amd64 Linux kernel extra modules for version 4.13.0 on 64 bit x86 SMP
  13. ii linux-image-extra-4.13.0-37-generic 4.13.0-37.42 amd64 Linux kernel extra modules for version 4.13.0 on 64 bit x86 SMP
  14. ii linux-image-extra-4.13.0-38-generic 4.13.0-38.43 amd64 Linux kernel extra modules for version 4.13.0 on 64 bit x86 SMP
  15. ii linux-image-extra-4.13.0-39-generic 4.13.0-39.44 amd64 Linux kernel extra modules for version 4.13.0 on 64 bit x86 SMP
  16. ii linux-image-generic 4.13.0.39.42 amd64 Generic Linux kernel image

如何安装 UKTools

在 Ubuntu 及其衍生产品上,只需运行以下命令来安装 UKTools 即可。

在你的系统上运行以下命令来克隆 UKTools 仓库:

  1. $ git clone https://github.com/usbkey9/uktools

进入 uktools 目录:

  1. $ cd uktools

运行 Makefile 以生成必要的文件。此外,这将自动安装最新的可用内核。只需重新启动系统即可使用最新的内核。

  1. $ sudo make
  2. [sudo] password for daygeek:
  3. Creating the directories if neccessary
  4. Linking profile.d file for reboot message
  5. Linking files to global sbin directory
  6. Ubuntu Kernel Upgrade - by Mustafa Hasturk
  7. ------------------------------------------
  8. This script is based on the work of Mustafa Hasturk and was reworked by
  9. Caio Oliveira and modified and fixed by Christoph Kepler
  10.  
  11. Current Development and Maintenance by Christoph Kepler
  12.  
  13. Do you want the Stable Release (if not sure, press y)? (y/n): y
  14. Do you want the Generic kernel? (y/n): y
  15. Do you want to autoremove old kernel? (y/n): y
  16. no crontab for root
  17. Do you want to update the kernel automatically? (y/n): y
  18. Setup complete. Update the kernel right now? (y/n): y
  19. Reading package lists... Done
  20. Building dependency tree
  21. Reading state information... Done
  22. The following packages were automatically installed and are no longer required:
  23. linux-headers-4.13.0-16 linux-headers-4.13.0-16-generic linux-headers-4.13.0-17 linux-headers-4.13.0-17-generic linux-headers-4.13.0-32 linux-headers-4.13.0-32-generic linux-headers-4.13.0-36
  24. linux-headers-4.13.0-36-generic linux-headers-4.13.0-37 linux-headers-4.13.0-37-generic linux-image-4.13.0-16-generic linux-image-4.13.0-17-generic linux-image-4.13.0-32-generic linux-image-4.13.0-36-generic
  25. linux-image-4.13.0-37-generic linux-image-extra-4.13.0-16-generic linux-image-extra-4.13.0-17-generic linux-image-extra-4.13.0-32-generic linux-image-extra-4.13.0-36-generic
  26. linux-image-extra-4.13.0-37-generic
  27. Use 'sudo apt autoremove' to remove them.
  28. The following additional packages will be installed:
  29. lynx-common
  30. The following NEW packages will be installed:
  31. lynx lynx-common
  32. 0 upgraded, 2 newly installed, 0 to remove and 71 not upgraded.
  33. Need to get 1,498 kB of archives.
  34. After this operation, 5,418 kB of additional disk space will be used.
  35. Get:1 http://in.archive.ubuntu.com/ubuntu artful/universe amd64 lynx-common all 2.8.9dev16-1 [873 kB]
  36. Get:2 http://in.archive.ubuntu.com/ubuntu artful/universe amd64 lynx amd64 2.8.9dev16-1 [625 kB]
  37. Fetched 1,498 kB in 12s (120 kB/s)
  38. Selecting previously unselected package lynx-common.
  39. (Reading database ... 441037 files and directories currently installed.)
  40. Preparing to unpack .../lynx-common_2.8.9dev16-1_all.deb ...
  41. Unpacking lynx-common (2.8.9dev16-1) ...
  42. Selecting previously unselected package lynx.
  43. Preparing to unpack .../lynx_2.8.9dev16-1_amd64.deb ...
  44. Unpacking lynx (2.8.9dev16-1) ...
  45. Processing triggers for mime-support (3.60ubuntu1) ...
  46. Processing triggers for doc-base (0.10.7) ...
  47. Processing 1 added doc-base file...
  48. Processing triggers for man-db (2.7.6.1-2) ...
  49. Setting up lynx-common (2.8.9dev16-1) ...
  50. Setting up lynx (2.8.9dev16-1) ...
  51. update-alternatives: using /usr/bin/lynx to provide /usr/bin/www-browser (www-browser) in auto mode
  52.  
  53. Cleaning old downloads in /tmp
  54.  
  55. Downloading the kernel's components...
  56. Checksum for linux-headers-4.16.7-041607-generic_4.16.7-041607.201805021131_amd64.deb succeed
  57. Checksum for linux-image-unsigned-4.16.7-041607-generic_4.16.7-041607.201805021131_amd64.deb succeed
  58. Checksum for linux-modules-4.16.7-041607-generic_4.16.7-041607.201805021131_amd64.deb succeed
  59.  
  60. Downloading the shared kernel header...
  61. Checksum for linux-headers-4.16.7-041607_4.16.7-041607.201805021131_all.deb succeed
  62.  
  63. Installing Kernel and Headers...
  64. Selecting previously unselected package linux-headers-4.16.7-041607.
  65. (Reading database ... 441141 files and directories currently installed.)
  66. Preparing to unpack .../linux-headers-4.16.7-041607_4.16.7-041607.201805021131_all.deb ...
  67. Unpacking linux-headers-4.16.7-041607 (4.16.7-041607.201805021131) ...
  68. Selecting previously unselected package linux-headers-4.16.7-041607-generic.
  69. Preparing to unpack .../linux-headers-4.16.7-041607-generic_4.16.7-041607.201805021131_amd64.deb ...
  70. Unpacking linux-headers-4.16.7-041607-generic (4.16.7-041607.201805021131) ...
  71. Selecting previously unselected package linux-image-unsigned-4.16.7-041607-generic.
  72. Preparing to unpack .../linux-image-unsigned-4.16.7-041607-generic_4.16.7-041607.201805021131_amd64.deb ...
  73. Unpacking linux-image-unsigned-4.16.7-041607-generic (4.16.7-041607.201805021131) ...
  74. Selecting previously unselected package linux-modules-4.16.7-041607-generic.
  75. Preparing to unpack .../linux-modules-4.16.7-041607-generic_4.16.7-041607.201805021131_amd64.deb ...
  76. Unpacking linux-modules-4.16.7-041607-generic (4.16.7-041607.201805021131) ...
  77. Setting up linux-headers-4.16.7-041607 (4.16.7-041607.201805021131) ...
  78. dpkg: dependency problems prevent configuration of linux-headers-4.16.7-041607-generic:
  79. linux-headers-4.16.7-041607-generic depends on libssl1.1 (>= 1.1.0); however:
  80. Package libssl1.1 is not installed.
  81.  
  82. Setting up linux-modules-4.16.7-041607-generic (4.16.7-041607.201805021131) ...
  83. Setting up linux-image-unsigned-4.16.7-041607-generic (4.16.7-041607.201805021131) ...
  84. I: /vmlinuz.old is now a symlink to boot/vmlinuz-4.13.0-39-generic
  85. I: /initrd.img.old is now a symlink to boot/initrd.img-4.13.0-39-generic
  86. I: /vmlinuz is now a symlink to boot/vmlinuz-4.16.7-041607-generic
  87. I: /initrd.img is now a symlink to boot/initrd.img-4.16.7-041607-generic
  88. Processing triggers for linux-image-unsigned-4.16.7-041607-generic (4.16.7-041607.201805021131) ...
  89. /etc/kernel/postinst.d/initramfs-tools:
  90. update-initramfs: Generating /boot/initrd.img-4.16.7-041607-generic
  91. /etc/kernel/postinst.d/zz-update-grub:
  92. Generating grub configuration file ...
  93. Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
  94. Found linux image: /boot/vmlinuz-4.16.7-041607-generic
  95. Found initrd image: /boot/initrd.img-4.16.7-041607-generic
  96. Found linux image: /boot/vmlinuz-4.13.0-39-generic
  97. Found initrd image: /boot/initrd.img-4.13.0-39-generic
  98. Found linux image: /boot/vmlinuz-4.13.0-38-generic
  99. Found initrd image: /boot/initrd.img-4.13.0-38-generic
  100. Found linux image: /boot/vmlinuz-4.13.0-37-generic
  101. Found initrd image: /boot/initrd.img-4.13.0-37-generic
  102. Found linux image: /boot/vmlinuz-4.13.0-36-generic
  103. Found initrd image: /boot/initrd.img-4.13.0-36-generic
  104. Found linux image: /boot/vmlinuz-4.13.0-32-generic
  105. Found initrd image: /boot/initrd.img-4.13.0-32-generic
  106. Found linux image: /boot/vmlinuz-4.13.0-17-generic
  107. Found initrd image: /boot/initrd.img-4.13.0-17-generic
  108. Found linux image: /boot/vmlinuz-4.13.0-16-generic
  109. Found initrd image: /boot/initrd.img-4.13.0-16-generic
  110. Found memtest86+ image: /boot/memtest86+.elf
  111. Found memtest86+ image: /boot/memtest86+.bin
  112. done
  113.  
  114. Thanks for using this script! Hope it helped.
  115. Give it a star: https://github.com/MarauderXtreme/uktools

重新启动系统以激活最新的内核。

  1. $ sudo shutdown -r now

一旦系统重新启动,重新检查内核版本。

  1. $ uname -a
  2. Linux ubuntu 4.16.7-041607-generic #201805021131 SMP Wed May 2 15:34:55 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

此 make 命令会将下面的文件放到 /usr/local/bin 目录中。

  1. do-kernel-upgrade
  2. do-kernel-purge

要移除旧内核,运行以下命令:

  1. $ do-kernel-purge
  2.  
  3. Ubuntu Kernel Purge - by Caio Oliveira
  4.  
  5. This script will only keep three versions: the first and the last two, others will be purge
  6.  
  7. ---Current version:
  8. Linux Kernel 4.16.7-041607 Generic (linux-image-4.16.7-041607-generic)
  9.  
  10. ---Versions to remove:
  11. 4.13.0-16
  12. 4.13.0-17
  13. 4.13.0-32
  14. 4.13.0-36
  15. 4.13.0-37
  16.  
  17. ---Do you want to remove the old kernels/headers versions? (Y/n): y
  18. Reading package lists... Done
  19. Building dependency tree
  20. Reading state information... Done
  21. The following packages were automatically installed and are no longer required:
  22. linux-headers-4.13.0-17 linux-headers-4.13.0-17-generic linux-headers-4.13.0-32 linux-headers-4.13.0-32-generic linux-headers-4.13.0-36 linux-headers-4.13.0-36-generic linux-headers-4.13.0-37
  23. linux-headers-4.13.0-37-generic linux-image-4.13.0-17-generic linux-image-4.13.0-32-generic linux-image-4.13.0-36-generic linux-image-4.13.0-37-generic linux-image-extra-4.13.0-17-generic
  24. linux-image-extra-4.13.0-32-generic linux-image-extra-4.13.0-36-generic linux-image-extra-4.13.0-37-generic
  25. Use 'sudo apt autoremove' to remove them.
  26. The following packages will be REMOVED:
  27. linux-headers-4.13.0-16* linux-headers-4.13.0-16-generic* linux-image-4.13.0-16-generic* linux-image-extra-4.13.0-16-generic*
  28. 0 upgraded, 0 newly installed, 4 to remove and 71 not upgraded.
  29. After this operation, 318 MB disk space will be freed.
  30. (Reading database ... 465582 files and directories currently installed.)
  31. Removing linux-headers-4.13.0-16-generic (4.13.0-16.19) ...
  32. Removing linux-headers-4.13.0-16 (4.13.0-16.19) ...
  33. Removing linux-image-extra-4.13.0-16-generic (4.13.0-16.19) ...
  34. run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.13.0-16-generic /boot/vmlinuz-4.13.0-16-generic
  35. run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.13.0-16-generic /boot/vmlinuz-4.13.0-16-generic
  36. update-initramfs: Generating /boot/initrd.img-4.13.0-16-generic
  37. run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.13.0-16-generic /boot/vmlinuz-4.13.0-16-generic
  38. run-parts: executing /etc/kernel/postinst.d/update-notifier 4.13.0-16-generic /boot/vmlinuz-4.13.0-16-generic
  39. run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.13.0-16-generic /boot/vmlinuz-4.13.0-16-generic
  40. Generating grub configuration file ...
  41. Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
  42. Found linux image: /boot/vmlinuz-4.16.7-041607-generic
  43. Found initrd image: /boot/initrd.img-4.16.7-041607-generic
  44. Found linux image: /boot/vmlinuz-4.13.0-39-generic
  45. Found initrd image: /boot/initrd.img-4.13.0-39-generic
  46. Found linux image: /boot/vmlinuz-4.13.0-38-generic
  47. Found initrd image: /boot/initrd.img-4.13.0-38-generic
  48. Found linux image: /boot/vmlinuz-4.13.0-37-generic
  49. Found initrd image: /boot/initrd.img-4.13.0-37-generic
  50. Found linux image: /boot/vmlinuz-4.13.0-36-generic
  51. Found initrd image: /boot/initrd.img-4.13.0-36-generic
  52. Found linux image: /boot/vmlinuz-4.13.0-32-generic
  53. Found initrd image: /boot/initrd.img-4.13.0-32-generic
  54. Found linux image: /boot/vmlinuz-4.13.0-17-generic
  55. Found initrd image: /boot/initrd.img-4.13.0-17-generic
  56. Found linux image: /boot/vmlinuz-4.13.0-16-generic
  57. Found initrd image: /boot/initrd.img-4.13.0-16-generic
  58. Found memtest86+ image: /boot/memtest86+.elf
  59. Found memtest86+ image: /boot/memtest86+.bin
  60. done
  61. Removing linux-image-4.13.0-16-generic (4.13.0-16.19) ...
  62. Examining /etc/kernel/postrm.d .
  63. run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.13.0-16-generic /boot/vmlinuz-4.13.0-16-generic
  64. update-initramfs: Deleting /boot/initrd.img-4.13.0-16-generic
  65. run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.13.0-16-generic /boot/vmlinuz-4.13.0-16-generic
  66. Generating grub configuration file ...
  67. Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
  68. Found linux image: /boot/vmlinuz-4.16.7-041607-generic
  69. Found initrd image: /boot/initrd.img-4.16.7-041607-generic
  70. Found linux image: /boot/vmlinuz-4.13.0-39-generic
  71. Found initrd image: /boot/initrd.img-4.13.0-39-generic
  72. Found linux image: /boot/vmlinuz-4.13.0-38-generic
  73. Found initrd image: /boot/initrd.img-4.13.0-38-generic
  74. Found linux image: /boot/vmlinuz-4.13.0-37-generic
  75. Found initrd image: /boot/initrd.img-4.13.0-37-generic
  76. Found linux image: /boot/vmlinuz-4.13.0-36-generic
  77. Found initrd image: /boot/initrd.img-4.13.0-36-generic
  78. Found linux image: /boot/vmlinuz-4.13.0-32-generic
  79. Found initrd image: /boot/initrd.img-4.13.0-32-generic
  80. Found linux image: /boot/vmlinuz-4.13.0-17-generic
  81. Found initrd image: /boot/initrd.img-4.13.0-17-generic
  82. Found memtest86+ image: /boot/memtest86+.elf
  83. Found memtest86+ image: /boot/memtest86+.bin
  84. done
  85. (Reading database ... 430635 files and directories currently installed.)
  86. Purging configuration files for linux-image-extra-4.13.0-16-generic (4.13.0-16.19) ...
  87. Purging configuration files for linux-image-4.13.0-16-generic (4.13.0-16.19) ...
  88. Examining /etc/kernel/postrm.d .
  89. run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.13.0-16-generic /boot/vmlinuz-4.13.0-16-generic
  90. run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.13.0-16-generic /boot/vmlinuz-4.13.0-16-generic
  91. Reading package lists... Done
  92. Building dependency tree
  93. Reading state information... Done
  94. .
  95. .
  96. .
  97. .
  98. Reading package lists... Done
  99. Building dependency tree
  100. Reading state information... Done
  101. The following packages will be REMOVED:
  102. linux-headers-4.13.0-37* linux-headers-4.13.0-37-generic* linux-image-4.13.0-37-generic* linux-image-extra-4.13.0-37-generic*
  103. 0 upgraded, 0 newly installed, 4 to remove and 71 not upgraded.
  104. After this operation, 321 MB disk space will be freed.
  105. (Reading database ... 325772 files and directories currently installed.)
  106. Removing linux-headers-4.13.0-37-generic (4.13.0-37.42) ...
  107. Removing linux-headers-4.13.0-37 (4.13.0-37.42) ...
  108. Removing linux-image-extra-4.13.0-37-generic (4.13.0-37.42) ...
  109. run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.13.0-37-generic /boot/vmlinuz-4.13.0-37-generic
  110. run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.13.0-37-generic /boot/vmlinuz-4.13.0-37-generic
  111. update-initramfs: Generating /boot/initrd.img-4.13.0-37-generic
  112. run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.13.0-37-generic /boot/vmlinuz-4.13.0-37-generic
  113. run-parts: executing /etc/kernel/postinst.d/update-notifier 4.13.0-37-generic /boot/vmlinuz-4.13.0-37-generic
  114. run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.13.0-37-generic /boot/vmlinuz-4.13.0-37-generic
  115. Generating grub configuration file ...
  116. Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
  117. Found linux image: /boot/vmlinuz-4.16.7-041607-generic
  118. Found initrd image: /boot/initrd.img-4.16.7-041607-generic
  119. Found linux image: /boot/vmlinuz-4.13.0-39-generic
  120. Found initrd image: /boot/initrd.img-4.13.0-39-generic
  121. Found linux image: /boot/vmlinuz-4.13.0-38-generic
  122. Found initrd image: /boot/initrd.img-4.13.0-38-generic
  123. Found linux image: /boot/vmlinuz-4.13.0-37-generic
  124. Found initrd image: /boot/initrd.img-4.13.0-37-generic
  125. Found memtest86+ image: /boot/memtest86+.elf
  126. Found memtest86+ image: /boot/memtest86+.bin
  127. done
  128. Removing linux-image-4.13.0-37-generic (4.13.0-37.42) ...
  129. Examining /etc/kernel/postrm.d .
  130. run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.13.0-37-generic /boot/vmlinuz-4.13.0-37-generic
  131. update-initramfs: Deleting /boot/initrd.img-4.13.0-37-generic
  132. run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.13.0-37-generic /boot/vmlinuz-4.13.0-37-generic
  133. Generating grub configuration file ...
  134. Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
  135. Found linux image: /boot/vmlinuz-4.16.7-041607-generic
  136. Found initrd image: /boot/initrd.img-4.16.7-041607-generic
  137. Found linux image: /boot/vmlinuz-4.13.0-39-generic
  138. Found initrd image: /boot/initrd.img-4.13.0-39-generic
  139. Found linux image: /boot/vmlinuz-4.13.0-38-generic
  140. Found initrd image: /boot/initrd.img-4.13.0-38-generic
  141. Found memtest86+ image: /boot/memtest86+.elf
  142. Found memtest86+ image: /boot/memtest86+.bin
  143. done
  144. (Reading database ... 290810 files and directories currently installed.)
  145. Purging configuration files for linux-image-extra-4.13.0-37-generic (4.13.0-37.42) ...
  146. Purging configuration files for linux-image-4.13.0-37-generic (4.13.0-37.42) ...
  147. Examining /etc/kernel/postrm.d .
  148. run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.13.0-37-generic /boot/vmlinuz-4.13.0-37-generic
  149. run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.13.0-37-generic /boot/vmlinuz-4.13.0-37-generic
  150.  
  151. Thanks for using this script!!!

使用以下命令重新检查已安装内核的列表。它将只保留三个旧的内核。

  1. $ dpkg --list | grep linux-image
  2. ii linux-image-4.13.0-38-generic 4.13.0-38.43 amd64 Linux kernel image for version 4.13.0 on 64 bit x86 SMP
  3. ii linux-image-4.13.0-39-generic 4.13.0-39.44 amd64 Linux kernel image for version 4.13.0 on 64 bit x86 SMP
  4. ii linux-image-extra-4.13.0-38-generic 4.13.0-38.43 amd64 Linux kernel extra modules for version 4.13.0 on 64 bit x86 SMP
  5. ii linux-image-extra-4.13.0-39-generic 4.13.0-39.44 amd64 Linux kernel extra modules for version 4.13.0 on 64 bit x86 SMP
  6. ii linux-image-generic 4.13.0.39.42 amd64 Generic Linux kernel image
  7. ii linux-image-unsigned-4.16.7-041607-generic 4.16.7-041607.201805021131 amd64 Linux kernel image for version 4.16.7 on 64 bit x86 SMP

下次你可以调用 do-kernel-upgrade 实用程序来安装新的内核。如果有任何新内核可用,那么它将安装。如果没有,它将报告当前没有可用的内核更新。

  1. $ do-kernel-upgrade
  2. Kernel up to date. Finishing

再次运行 do-kernel-purge 命令以确认。如果发现超过三个内核,那么它将移除。如果不是,它将报告没有删除消息。

  1. $ do-kernel-purge
  2.  
  3. Ubuntu Kernel Purge - by Caio Oliveira
  4.  
  5. This script will only keep three versions: the first and the last two, others will be purge
  6.  
  7. ---Current version:
  8. Linux Kernel 4.16.7-041607 Generic (linux-image-4.16.7-041607-generic)
  9. Nothing to remove!
  10.  
  11. Thanks for using this script!!!

【编辑推荐】

  1. 作为程序员必会的Linux命令
  2. Linux应用程序加载机制-你真的清楚吗?
  3. 如何使用命令行检查Linux上的磁盘空间
  4. 提高UNIX/Linux工作效率的十个小贴士
  5. Linux 命令行厉害 其实Windows 的也很强:深入 Windows 控制台
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

黑客入侵的主动防御

本书是一本非常全面地讲述黑客入侵主动防御技术的网络安全工具书。本书的重点是介绍黑客的攻击手段和提供相应的主动防御保护措施,在组织结...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊