【问题标题】:How to install linux-modules-extra?如何安装 linux-modules-extra?
【发布时间】:2021-08-21 14:37:39
【问题描述】:

当我在运行Ubuntu 18.04 的单板计算机上基于Ubuntu 20.04 在Docker 容器中运行sudo apt install linux-modules-extra-$(uname -r) 时,我收到以下错误:

E: Unable to locate package linux-modules-extra-4.15.0-143-generic
E: Couldn't find any package by glob 'linux-modules-extra-4.15.0-143-generic'
E: Couldn't find any package by regex 'linux-modules-extra-4.15.0-143-generic'

对我来说,这让我想知道是否可以在Ubuntu 20.04 中安装linux-modules-extra-4.15.0-143-generic?也许它只与Ubuntu 18.04兼容?

谁能帮我澄清一下?

【问题讨论】:

    标签: docker linux-device-driver ubuntu-18.04 ubuntu-20.04 usbserial


    【解决方案1】:

    一般来说,如果您正在构建一个内核模块,它必须与在主机系统上运行的内核完全匹配。如果您使用的是原生 Debian 或 Ubuntu 系统(没有 Docker),则有一个系统可以在更新主机内核时重建或重新安装内核模块。参见例如Debian wiki KernelDKMS page

    相比之下,Docker 映像通常应该可以跨主机移植。如果您升级主机的内核,或者如果您在 Ubuntu 20.04 主机上运行 FROM ubuntu:18.04 映像,则该映像实际上不应该意识到这一点。

    在您的特定情况下,您无法获得所需的内核头文件,因为它们不是 Ubuntu 18.04 发行版的一部分。对于这种特殊情况,可能可以从更高版本的 Ubuntu 中获取标头,但在一般情况下可能无法获得;可能是因为系统实际上运行的是普通的 Debian 或 RHEL 并且内核构建不同,也可能是因为运营商构建了自己的内核。

    由于 Linux 内核模块是如此特定于它所运行的主机,并且由于它可以绕过任何和所有安全问题,因此尝试在容器中安装一个是不合适的。而是直接在主机上执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      • 2019-12-02
      • 1970-01-01
      • 1970-01-01
      • 2019-05-07
      • 2017-05-30
      • 2014-12-04
      相关资源
      最近更新 更多