V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
masker
V2EX  ›  Linux

Linux 使用不支持的内核会有什么影响?

  •  
  •   masker · 2019-06-16 00:48:24 +08:00 via Android · 4715 次点击
    这是一个创建于 2017 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今晚我的 Ubuntu 1804 的 live path 停止工作,根据错误提示搜索得知是因为安装了 Android studio (还是 Android SDK )导致出现了非常多的内核漏洞(CVE*****)。

    原来的是 kernel 4.15.0,想着这些漏洞可以通过升级内核来消除,于是一口气升级到了 kernel 5.1.0。

    升级完毕重启出问题了,出现了“ vmlinuz 5.1.0 has invalid signature"的错误,导致无法正常进入系统。于是搜索得知,关闭主板的" Secure Boot"可以解决。确实是可以,也正常进入系统并内核已成功升级到 5.1.0。

    但是问题出现了,使用 `sudo canonical-livepatch status --verbose`出现了 kernel unsupported (下图所示),因此想问下大佬们,如果长期使用该内核版本,会有什么影响吗?
    第 1 条附言  ·  2019-06-16 02:01:18 +08:00
    出现漏洞确实不是 Android-studio 的锅,也不是 SDK 的锅, 有可能是 `qemu-kvm`的锅, 因为创建 Android Virutal Device 需要启用硬件加速时则需要安装 qume-kvm , 而我装了.
    30 条回复    2019-06-16 14:48:20 +08:00
    masker
        1
    masker  
    OP
       2019-06-16 00:50:11 +08:00
    masker
        2
    masker  
    OP
       2019-06-16 00:52:34 +08:00
    使用的 sm.ms 的图床 如看不到图 请告知
    mason961125
        3
    mason961125  
       2019-06-16 00:53:02 +08:00   ❤️ 1
    影响就是不能用 Livepatch 了,因为它写了 Kernel Unsupported。
    ziseyinzi
        4
    ziseyinzi  
       2019-06-16 00:55:21 +08:00 via Android   ❤️ 1
    以后不会收到关于内核的更新了
    iwtbauh
        5
    iwtbauh  
       2019-06-16 00:59:19 +08:00 via Android   ❤️ 1
    “根据错误提示搜索得知是因为安装了 Android studio (还是 Android SDK )导致出现了非常多的内核漏洞(CVE*****)。”

    安装应用程序不可能增加内核漏洞。要么内核漏洞一直有,要么没有。

    “如果长期使用该内核版本,会有什么影响吗?”

    没有太大的影响。但 5.10.x 系列可能会 eol。到时候再往上升级即可。

    我这种懒人,现在用的是最新的长期支持内核 4.19.x。求新,喜欢搞的,可以上 mainline 内核(现在是 5.2-rc )

    “ Linux 使用不支持的内核会有什么影响?”

    5.1.x 目前是受支持的内核啊,5.0.x 确实 eol 了。而且你的帖子内容是“ Ubuntu 使用不支持的内核”而不是“ Linux 使用不支持的内核”。对于前者,你的内核得不到 c 社的支持,仅此而已。
    masker
        6
    masker  
    OP
       2019-06-16 01:05:33 +08:00
    @mason961125 貌似目前 Ubuntu1804LTS 搭配的内核版本是 4.15,就是说非 4.15 的内核都无法使用 live patch 了?


    @ziseyinzi 疑问同上. 多问一句, 有两全其美的办法吗 ? 既可使用 live patch 又升级内核


    @iwtbauh
    1. 那几个 CVE 都是和 Android 有关的. 具体没截图,故不纠结它了. 在安装 Android 相关环境之前,live patch 是可正常工作的.
    2. 没有什么影响就好, 但看楼下的回复说会影响 live patch 的使用,不知道如何解决
    3. 嗯,这个确实是我的表达有问题.
    masker
        7
    masker  
    OP
       2019-06-16 01:40:42 +08:00
    @mason961125 @ziseyinzi @iwtbauh 了解了下,好像 live patch 对个人桌面的重要性不是特别大,所以上面的疑问也可以无需解答啦. 感谢各位的解惑.
    ochatokori
        8
    ochatokori  
       2019-06-16 01:45:00 +08:00 via Android
    live path 是什么…
    同 ubuntu1804 安装 Android studio 没发现有什么问题
    masker
        9
    masker  
    OP
       2019-06-16 01:48:50 +08:00 via Android
    @ochatokori 系统打补丁不用重启系统。https://ubuntu.com/livepatch
    yanqiyu
        10
    yanqiyu  
       2019-06-16 01:48:52 +08:00
    @ochatokori 在线应用内核补丁的工具,在内核更改不大的时候可以省掉重启应用更新
    msg7086
        11
    msg7086  
       2019-06-16 01:58:33 +08:00   ❤️ 1
    你的 4.15.0 和 5.1.0 一样新,装 5.1.0 在漏洞上并不见得是「升级」。
    linux-image-4.15.0-51-generic

    linux-signed (4.15.0-51.55)
    Wed, 15 May 2019 16:11:29 +0200

    你 5.1 是什么版本?

    只有当前版本才会得到最好的支持,其他版本都不行。建议你老老实实换回来,当前版本才是漏洞最少的。
    masker
        12
    masker  
    OP
       2019-06-16 01:59:42 +08:00
    @msg7086 5.1.0-050100-generic
    msg7086
        13
    msg7086  
       2019-06-16 02:01:38 +08:00
    @masker linux-image-unsigned-5.1.0-050100-generic_5.1.0-050100.201905052130_amd64.deb

    2019.05.05 的,比现在 Ubuntu 的 4.15.0 要旧呢。
    masker
        14
    masker  
    OP
       2019-06-16 02:04:31 +08:00
    @msg7086 我是在 Ubuntu 的 kernel mainline 找的, v4.15 是 2018.02.01,而 5.1.0 是 2019.05.06 呀

    https://kernel.ubuntu.com/~kernel-ppa/mainline/
    msg7086
        15
    msg7086  
       2019-06-16 02:08:08 +08:00   ❤️ 1
    @masker 系统自带的又不是 mainline,是他们内核团队自己维护的 LTS 啊,你去比 mainline 干什么。
    mainline 本来就不是给普通人用的,一般是给开发者测试新内核用的。

    By default, Ubuntu systems run with the Ubuntu kernels provided by the Ubuntu repositories. However it is handy to be able to test with unmodified upstream kernels to help locate problems in Ubuntu kernel patches, or to confirm that upstream has fixed a specific issue. To this end we now offer select upstream kernel builds. These kernels are made from unmodified kernel source but using the Ubuntu kernel configuration files. These are then packaged as Ubuntu .deb files for simple installation, saving you the time of compiling kernels, and debugging build issues.
    你如果不是测试内核补丁,或者不是来定位内核 Bug 的话,那就不应该去用 mainline 版。

    你看看这里:
    http://changelogs.ubuntu.com/changelogs/pool/main/l/linux-signed/linux-signed_4.15.0-51.55/changelog
    masker
        16
    masker  
    OP
       2019-06-16 02:15:58 +08:00 via Android
    @msg7086 这么说的,只能去手动修复 qemu-kvm 的漏洞了
    msg7086
        17
    msg7086  
       2019-06-16 02:17:43 +08:00
    @masker 一般跟着 Ubuntu 升级就足够了,重要的不重要的漏洞官方都会补掉的。
    msg7086
        18
    msg7086  
       2019-06-16 02:19:44 +08:00
    另外我还是不太清楚你是怎么得到有很多 CVE 的结论的。我只知道以前很多测漏洞的脚本只看主版本而不看漏洞补丁版本,以前一个客户就和我们说 Apache 2.4.x 是有很多 CVE 的,我们说你这些 CVE 全都补掉了,这是 Ubuntu 维护的补丁版,不是原版。
    masker
        19
    masker  
    OP
       2019-06-16 02:19:51 +08:00 via Android
    @msg7086 像 qemu-kvm 这种自己安装的包导致的漏洞,官方也会补?自从安装了那个 kvm 之后,live patch 都因为漏洞停止工作了,状态为 off
    masker
        20
    masker  
    OP
       2019-06-16 02:22:05 +08:00 via Android
    @msg7086 是用的 sudo canonical-livepatch status --verbose 这个命令
    然后 need fixs 就出现了好几个 cve

    https://i.loli.net/2019/06/16/5d05372d2113425547.jpg
    msg7086
        21
    msg7086  
       2019-06-16 02:30:26 +08:00
    qemu 的漏洞我不太清楚,但是这个包还是一直在收到安全更新的,你可以看看这里。
    http://changelogs.ubuntu.com/changelogs/pool/main/q/qemu/qemu_2.11+dfsg-1ubuntu7.14/changelog

    然后如果 livepatch 不能用的话,手动更新 kernel 包然后重启也是可以的,livepatch 只是让你不重启也能享受到小规模的内核安全更新(更新比较大的话还是要重启的)。

    总之 livepatch 的底线就是你使用 Ubuntu 自己的内核( 4.15 ),至于为什么 apply-failed,需要你去查日志,看到底是为什么 failed 的,然后再做决定。
    masker
        22
    masker  
    OP
       2019-06-16 02:34:56 +08:00 via Android
    @msg7086 嗯嗯 ,live patch 的日志我用 grep livepatch /var/log/syslogs 查看后返回的是空,才决定直接升级内核到 5.1.0
    msg7086
        23
    msg7086  
       2019-06-16 02:40:28 +08:00
    @masker 另外我看了一下,livepatch 只更新重要的安全补丁,普通的补丁还是要你自己安装新版内核然后重启生效的。所以如果不是纠结这个的话,还是老老实实安装新的 4.15 然后重启吧。
    iwtbauh
        24
    iwtbauh  
       2019-06-16 11:50:30 +08:00 via Android
    @msg7086 #15

    普通用户使用使用上游的长期支持内核我认为比发行版的内核要好,目前是 4.19.x。当然不建议用 mainland 内核。

    长期支持内核经过了足够测试,足够稳定。

    发行版的内核版本很旧,可能有一些 bug,本来这些 bug 已经在上游修复了,但并非所有的 bug 都能反向移植修复。使用长期支持内核可以修正很多 bug。

    比如 Ubuntu 的稳定内核,amdgpu 内核模块在 tlp 启用下插拔电源后 panic 的 bug 还没修,上游不知道修好都多长时间了。

    //另一个是目前旧内核因为版本很旧,虽然反向移植了 Intel 漏洞补丁,但没法禁用全部 Intel 漏洞修复。但是上游的那些内核可以禁用大部分以救回一些性能。
    iwtbauh
        25
    iwtbauh  
       2019-06-16 11:53:18 +08:00 via Android
    @masker #19

    你的 qemu-kvm 是 Ubuntu 提供的吗,是的话会补(只要你的系统版本还受支持)
    iwtbauh
        26
    iwtbauh  
       2019-06-16 11:54:40 +08:00 via Android
    @iwtbauh #25

    此外还有 KVM 内核模块。那个是跟着内核的。内核升级即可。
    qemu-kvm 只是 qemu 的 kvm 后端,不是 kvm。
    masker
        27
    masker  
    OP
       2019-06-16 11:58:12 +08:00
    @iwtbauh #24 你的意思,升级为 4.19 的内核会比 5.1 的更好点,而且还能得到 live patch 的支持?
    #25 `sudo apt-get install qemu-kvm` 安装的
    msg7086
        28
    msg7086  
       2019-06-16 12:26:32 +08:00
    @iwtbauh 要用官方 LTS 而不是 Ubuntu LTS 的话,那还不如用 Debian 了。
    我觉得既然选择了 Ubuntu 那就应该全套使用 Ubuntu,要么就索性都不用。
    按理说重要的 Bug 都会移植的,如果没有移植的话可以找他们问问看。
    (所以我选择 Debian→_→)
    iwtbauh
        29
    iwtbauh  
       2019-06-16 13:01:39 +08:00 via Android
    @masker #27

    不能。要用 livepatch 必须使用 Ubuntu 团队维护的内核。

    4.19.x 是内核官方(上游)维护的长期支持内核。

    Ubuntu 的维护者从上游拿到源码,进行自己的修改,然后打包发给用户。

    你可以理解是,源码从 linus 维护的主线分支出来,倒了好几次手,最终到你手上。因此旧是正常的,好处是受 Ubuntu 团队支持。

    开源世界里,“开发者”和“打包者”可能并不是一个人 /团队。

    ======

    那么你的 qemu-kvm 会得到 Ubuntu 团队的漏洞修复。
    masker
        30
    masker  
    OP
       2019-06-16 14:48:20 +08:00
    @iwtbauh 明白了. 总体的影响不是很大. live patch 只是接收 Ubuntu 官方推送的补丁进行修复,但是这些补丁,我们自己手动修复也可以. 4.15 的内核我还留着,当时候看看. 谢谢你的解答
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1267 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 23:59 · PVG 07:59 · LAX 15:59 · JFK 18:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.