关注小程序 找一找教程网-随时随地学编程

软件工程

Ubuntu下Linux配置内核各种常见错误和解决办法

这篇把Ubuntu下Linux配置内核各种常见错误和解决办法给大家讲解一下,希望可以帮助到大家。

一、Ubuntu系统中缺少各种依赖包导致的问题

1.配置内核时,遇到错误
fatal error:cures.h:No such file or directory

解决办法:执行命令:

sudo apt-get install libcurses5-dev

2.fatal error:gelf.h:No such file or directory

解决办法:

sudo apt-get install libelf-dev 

二、无法获得锁

执行sudo apt-get install libcurses5-dev 时遇到错误

could not get lock /var/lib/dpkg/lock -open 无法获得锁

错误分析:在Ubuntu系统终端下,用sudo apt-get install 命令安装包时被强制终止,此时apt-get进程还在运行,当再此执行apt-get 命令时就会出现这个错误。有另一个程序正在占用apt-get 进程,在此使用apt-get 时就会造成阻塞,此时资源被锁。

解决办法:

1.杀死apt-get 进程

执行命令:

ps -aux

查看进程,找到正在占用的apt-get 的进程

可以执行以下命令杀死该进程

sudo kill PID

PID 为占用apt-get进程的进程号

2.强制解锁

执行命令:

sudo rm /var/cache/apt/archives/lock

sudo rm /var/lib/dpkg/lock

同理:执行sudo apt-get install XXX 命令后出现此错误也可以用这种方法解决。

三、No rule to make target ‘debian/canonical-certs.pem, needebycerts/x509_certificate_list’. Stop.

解决办法:

  sudo -s
  gedit .config

修改CONFIG_SYSTEM_TRUSTED_KEYS
和CONFIG_MODULE_SIG_KEY,将其置空。(Ctrl+F可以查找)

file

CONFIG_SYSTEM_TRUSTED_KEYS=""

重新编译内核,问题解决。

四、FAILED:load BTF from vmlinux:No such file or directory(编译Linux内核时报错)

解决办法:

sudo -s
gedit .config

修改CONFIG_DEBUG_INFO_BTF的值,将y改为n。(Ctrl+F可以查找)

五、BTF: .tmp_vmlinux.btf: pahole (pahole) is not available

解决办法:

sudo apt install dwarves

六、虚拟机网络图标消失,不能上网

file

解决办法:

cd /var/lib/NetworkManager
sudo service network-manager stop
sudo gedit NetworkManager.state

把里面的 false 全部改为 ture

file

sudo service network-manager start