ubuntu编译内核报错-couldn't be accessed by user '_apt'. – pkgAcquire::Run (13: Permission denied)

  • ubuntu编译内核报错-couldn't be accessed by user '_apt'. – pkgAcquire::Run (13: Permission denied)已关闭评论
  • 287 次浏览
  • A+
所属分类:linux技术
摘要

在ubuntu上编译内核时,apt-get source时出现如下warning:W: Download is performed unsandboxed as root as file ‘/var/cache/apt/archives/partial/samba-libs_2%3a4.5.8+dfsg-0ubuntu0.17.04.1_i386.deb’ couldn’t be accessed by user ‘_apt’. – pkgAcquire::Run (13: Permission denied)


现象

在ubuntu上编译内核时,apt-get source时出现如下warning:

W: Download is performed unsandboxed as root as file '/var/cache/apt/archives/partial/samba-libs_2%3a4.5.8+dfsg-0ubuntu0.17.04.1_i386.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)

解决方案

谷歌了下,ctrl c + ctrl v的文章太多了。。最终亲测了askubuntu上的解决方案成功了。本文记录下,做个备份用。

通常apt使用用户_apt来下载软件包。在你的例子中,_apt没有对/var/cache/apt/archives/partial/或现有文件/var/cache/apt/archives/partial/samba-libs_2%3a4.5.8+dfsg-0ubuntu0.17.04.1_i386.deb的写权限,所以它以root身份下载了该文件。

确保 /var/cache/apt/archives/partial/ 以及它下面的所有内容都可用于 _apt,例如通过运行

点击查看代码
sudo chown -Rv _apt:root /var/cache/apt/archives/partial/ sudo chmod -Rv 700 /var/cache/apt/archives/partial/ 

修改完成后效果如下:
ubuntu编译内核报错-couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)

root case

从askubuntu社区的讨论看,该bug 1522675官方宣称已经修复了,实际上该问题一直存在。不过忽略与apt相关的 "W:..._apt ... "警告也行。这些warning是非致命的,而且在大多数情况下,你无法解决这个问题,不管有没有警告,你都会得到同样的结果。

apt 使用用户 _apt 下载软件包。似乎这是root 的用户根本无法完成名为 _apt 的用户所能做的事情。

显然,自从apt工具被改成使用_apt的沙盒式安全操作以来,大量的人在使用apt工具时遇到了麻烦。似乎在这个_apt的变化之后,一大堆东西都有问题,至今还没有完全修复。