現象 在ubuntu上編譯內核時,apt-get source時出現如下warning: W: Download is performed unsandboxed as root as file '/var/cache/apt/archives/partial/samba-libs_2%3a4.5. ...
現象
在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/
修改完成後效果如下:
root case
從askubuntu社區的討論看,該bug 1522675官方宣稱已經修複了,實際上該問題一直存在。不過忽略與apt相關的 "W:..._apt ... "警告也行。這些warning是非致命的,而且在大多數情況下,你無法解決這個問題,不管有沒有警告,你都會得到同樣的結果。
apt 使用用戶 _apt 下載軟體包。似乎這是root 的用戶根本無法完成名為 _apt 的用戶所能做的事情。
顯然,自從apt工具被改成使用_apt的沙盒式安全操作以來,大量的人在使用apt工具時遇到了麻煩。似乎在這個_apt的變化之後,一大堆東西都有問題,至今還沒有完全修複。