当谈到任何 Linux 操作系统时,包括 Ubuntu,人们倾向于区分术语kernel和operating system。这对于 Windows 和 OS X 系列来说是正确的,但为什么在 Linux 社区中如此普遍?有没有办法在不更新操作系统本身的情况下更新操作系统内核?或相反亦然?如果是这样,那怎么会有用呢?
Mel*_*ius 12
整个 GNU/Linux 系统是使用模块化方法构建的。您可以在不接触其他模块的情况下升级(一般替换)单个模块。有问题的模块可以是引导加载程序、内核、shell、命令、桌面环境、GUI 应用程序,等等……
当然,只要你能够正确地管理依赖关系就可以了。在围绕 Ubuntu 的一组发行版中,APT用于自动解决依赖关系。
您可以使用以下命令安装另一个内核版本:
sudo apt install linux-image-<version>
Run Code Online (Sandbox Code Playgroud)
只要 APT 允许,您应该能够重新启动并使用选定版本的内核,无论是通用的、低延迟的等。或者您自己构建内核版本,例如Real-Time Linux,并在您当前的系统中使用它.
众所周知,内核是操作系统的重要组成部分,在 GNU/Linux 发行版中,您可以轻松更新内核,而无需触及操作系统的其他部分。然而,我们只是更新了我们操作系统的一部分。
操作系统由内核空间和用户空间两部分组成。
所以是的,如果只有新版本与您当前的用户空间兼容,您就可以在不触及用户空间的情况下更新内核空间。
关于更新用户空间工具,这是另一个肯定的。
当你运行时:
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
如果有可用的内核更新,您将获得:
The following packages have been kept back:
linux-generic linux-headers-generic linux-image-generic
Run Code Online (Sandbox Code Playgroud)
所以你只是在更新你的用户空间,当你运行类似的东西时
sudo apt-get dist-upgrade
Run Code Online (Sandbox Code Playgroud)
您正在更新包括内核在内的所有内容。
要将内核仅升级到较新版本,请使用以下内容:
$ apt-cache search "linux-image-[0-9]+.*-generic" | awk '{print $1}' | head -4
linux-image-4.4.0-21-generic
linux-image-4.10.0-14-generic
linux-image-4.10.0-19-generic
linux-image-4.10.0-20-generic
Run Code Online (Sandbox Code Playgroud)
查找较新内核的列表,然后将其安装为新软件包,例如:
sudo apt install linux-image-4.10.0-14-generic
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4718 次 |
最近记录: |