我正在尝试将dkms安装到没有make或gcc的机器上。
我计划仅将二进制文件推送到那些目标计算机。
我计划在构建机器上使用dkms来构建启用dkms的模块,然后使用dkms mktarball ... --binaries-only
创建要分发的tarball。
我想将这些tarball推向目标计算机,然后在这些计算机上
想要使用dkms ldtarball
,因此目标计算机确实需要dkms,
但他们不需要gcc(或make)。
构建(主机)和目标计算机运行相同的Ubuntu
目标上的apt-get install dkms
自动引入gcc
下载dkms.deb(apt-get download dkms
)并使用dpkg --install --ignore-depends=gcc ... dkms.deb
安装
确实可以工作,但是无法解决依赖关系,因此将来任何apt-get(例如,安装其他软件包)都会失败。
我可以尝试使用equiv软件包来创建gcc和make的虚拟安装,但是这似乎是我希望避免的可怕技巧。如果我想实际安装也可能会产生问题
未来目标的gcc。
dkms README(第3节)中有关于此的注释,但没有有关如何完成它的指南。
“如果您选择不在系统上加载模块源,或者如果您选择不加载模块源,
编译器... DKMS仍可用于安装模块。”。
(很抱歉,如果标签误导了……dkms没有可用的标签)
最佳答案
创建一个本地虚拟软件包,假装要安装gcc和您要与系统隔离的任何其他dep。 equivs
包可用于此目的,但它也很容易手工完成。