权限被拒绝:’/ etc / apt / sources.list.d / google-earth.list’
我正在尝试添加一个ppa
但得到错误: Permission denied: '/etc/apt/sources.list.d/google-earth.list'
ppa
Permission denied: '/etc/apt/sources.list.d/google-earth.list'
:
~$ sudo add-apt-repository ppa:otto-kesselgulasch/gimp-edge [...] Press [ENTER] to continue or ctrl-c to cancel adding it Traceback (most recent call last): File "/usr/bin/add-apt-repository", line 168, in if not sp.add_source_from_shortcut(shortcut, options.enable_source): File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 768, in add_source_from_shortcut self.set_modified_sourceslist() File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 492, in set_modified_sourceslist self.save_sourceslist() File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 658, in save_sourceslist self.sourceslist.save() File "/usr/lib/python3/dist-packages/aptsources/sourceslist.py", line 413, in save files[source.file] = open(source.file, "w") PermissionError: [Errno 13] Permission denied: '/etc/apt/sources.list.d/google-earth.list'
尝试以root身份运行而不是使用sudo时会发生同样的情况:
~$ sudo su - ~# add-apt-repository ppa:otto-kesselgulasch/gimp-edge
ppa的源文件已创建,但为空:
~$ ll /etc/apt/sources.list.d/otto-kesselgulasch-ubuntu-gimp-edge-xenial.list* -rw-r--r-- 1 root root 0 Apr 3 10:26 /etc/apt/sources.list.d/otto-kesselgulasch-ubuntu-gimp-edge-xenial.list -rw-r--r-- 1 root root 0 Mai 3 15:03 /etc/apt/sources.list.d/otto-kesselgulasch-ubuntu-gimp-edge-xenial.list.save
google-earth.list
是root u:rw
access。
~$ ll /etc/apt/sources.list.d/google-earth.list -rw-r--r-- 1 root root 188 Apr 3 10:27 /etc/apt/sources.list.d/google-earth.list ~$ getfacl /etc/apt/sources.list.d/google-earth.list getfacl: Removing leading '/' from absolute path names # file: etc/apt/sources.list.d/google-earth.list # owner: root # group: root user::rw- group::r-- other::r--
还有足够的自由空间:
~$ df -h /etc/apt/sources.list.d/ Filesystem Size Used Avail Use% Mounted on /dev/sda1 902G 252G 604G 30% /
apt update
/ apt upgrade
工作正常。
这里发生了什么 ?
(PS:我不需要解决方法,我知道我可以手动添加deb。)
感谢Zanna的暗示,我发现了这个问题:
lsattr
输出显示google-earth.list
设置为immutable。
~$ lsattr /etc/apt/sources.list.d/google-earth.list ----i--------e-- /etc/apt/sources.list.d/google-earth.list
设置此属性后,甚至root
都无法写入文件。
为了解决这个问题,我只使用chattr -i
来删除文件中的immutable属性:
~$ sudo chattr -i /etc/apt/sources.list.d/google-earth.list
我自己创建了该文件不可变,因为在每次Google地球更新后, [arch=amd64]
都会从源文件中删除(怪怪Google!)。 我最初在webupd8上发现了“不可变修复”。