与$(uname-r)不同的目录中安装了“ apt-get install linux-headers-generic”

时间:2019-06-13 18:46:38

标签: linux windows ubuntu linux-kernel windows-subsystem-for-linux

我是Linux内核上的新手。我试图在ubuntu上安装Linux标头。我第一次尝试过

sudo apt-get install linux-headers-$(uname -r)

但是,由于$(uname -r)的输出是4.4.0-18362-Microsoft,因此安装程序给我错误:

E: Unable to locate package linux-headers-4.4.0-18362-Microsoft                                                         
E: Couldn't find any package by glob 'linux-headers-4.4.0-18362-Microsoft'                                              
E: Couldn't find any package by regex 'linux-headers-4.4.0-18362-Microsoft'

通过在Internet上搜索,我发现Linux标头在WSL上不存在。因此,我尝试通过互联网尝试了一些推荐的方法

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install linux-generic
sudo apt-get install linux-headers-generic

然后我在/usr/src/linux-headers-4.15.0-51-generic/usr/src/linux-headers-4.15.0-51下成功安装。但是,我的团队使用了一个makefile,其中Linux头文件的目录使用$(uname -r)进行引用,而该文件仍然是4.4.0-18362-Microsoft。因此,每当我执行make时,它仍然会给我错误

can't read /usr/src/linux-headers-4.4.0-18362-Microsoft/...

无论如何,我是否可以安装标题或更改$(uname -r)以便可以使用$(uname -r)来引用目录?

2 个答案:

答案 0 :(得分:0)

我正在使用Ubuntu 18.04.2 LTS,并且存在类似问题-但它不是Microsoft: E:无法找到软件包linux-headers-4.15.0-51-generic-generic E:找不到glob'linux-headers-4.15.0-51-generic-generic'的任何软件包 E:找不到正则表达式“ linux-headers-4.15.0-51-generic-generic”的任何软件包

对我来说,执行以下操作后效果很好: sudo apt-get更新 sudo apt-get升级 sudo apt-get install linux-generic sudo apt-get install linux-headers-$(uname -r)

答案 1 :(得分:0)

创建从 /usr/src/linux-headers-4.15.0-51-generic 到 /usr/src/linux-headers-4.4.0-18362-Microsoft 的符号链接/

sudo ln -s /usr/src/linux-headers-4.15.0-51-generic /usr/src/linux-headers-4.4.0-18362-Microsoft