我是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)
来引用目录?
答案 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