编译内核时遇fakeroot权限拒绝,求解决方案(谷歌未找到相关信息)
解决内核编译时的
fakeroot permission denied错误 Hey,我来帮你排查这个少见的fakeroot permission denied问题——咱们一步步来定位和解决:
检查fakeroot二进制文件的基础权限
先确认fakeroot本身的权限配置是否正常,运行以下命令查看:ls -l $(which fakeroot)正常输出应该是类似
-rwxr-xr-x 1 root root ...的格式,如果权限是-rwx------或者其他异常值,用下面的命令修正:sudo chmod 755 $(which fakeroot) sudo chown root:root $(which fakeroot)避免在root身份下运行fakeroot
fakeroot的设计是给普通用户模拟root环境,如果你当前已经通过sudo su或sudo -i切换到了root用户,再运行fakeroot就会触发权限拒绝。先执行exit回到普通用户身份,再重新执行带fakeroot的编译命令(比如fakeroot make deb-pkg这类)。清理fakeroot缓存并检查依赖
有时候用户目录下的fakeroot缓存会出问题,先清理缓存:rm -rf ~/.fakeroot另外,确认系统安装了fakeroot的依赖库,以Debian/Ubuntu为例:
dpkg -l libfakeroot*如果没有安装,执行
sudo apt install libfakeroot补充依赖。检查内核源码目录的权限
即使你在源码根目录,如果目录的所有者是root,普通用户的fakeroot进程可能无法正常读写文件。检查目录权限:ls -ld ./如果所有者是root,修改为你的普通用户:
sudo chown -R $USER:$USER ./之后回到普通用户身份重新尝试编译流程。
内容的提问来源于stack exchange,提问作者Poperton
相关产品推荐
相关产品推荐

