我将服务器从 14.04 更新到 16.04。现在apt-get update
无法正常工作。我收到以下错误:
0% [2 InRelease gpgv 11.5 kB] [Connecting to archive.ubuntu.com (91.189.91.26)]
dpkg: warning: failed to open configuration file '/root/.dpkg.cfg' for reading: Permission denied
/usr/bin/apt-key: 316: /usr/bin/apt-key: cannot create /dev/null: Permission denied
gpgv: Signature made Thu Apr 28 20:16:42 2016 CEST using DSA key ID 437D05B5
gpgv: Can't check signature: public key not found
我可以看到的一些子进程apt-get
正在以用户身份运行_apt
,但我不知道如何检查apt-key
和dpkg
。
scp
来自远程主机也不再起作用,并显示类似的错误消息:
Couldn't open /dev/null: Permission denied
目前ls -alh /dev/null
提供
crw------- 1 root root 1, 3 Apr 26 12:51 /dev/null
我该如何修复权限?也许有人安装了全新的 16.04 可以进行比较。
答案1
/dev/null
应该具有0666
权限,这就是所说/etc/udev/rules.d/device-permissions.rules
的:
KERNEL=="null|zero|full|random|urandom", MODE="0666"
但不幸的是,这是一个虚拟服务器。因此内核尚未更新:
# uname -a
Linux memocamp 2.6.32-042stab063.2 #1 SMP Tue Oct 23 16:24:09 MSK 2012 x86_64 x86_64 x86_64 GNU/Linux
临时解决方法是手动设置权限:
chmod go+rw /dev/null