web-dev-qa-db-ja.com

許可が拒否されました: '/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 <module>
    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'

sudoを使用する代わりにrootとして実行しようとすると同じことが起こります。

~$ 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の所有者は、u:rwアクセス権を持つルートです。

~$ 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は正常に機能しています。

ここで何が起こっているのですか?
(追記:回避策は不要です。debを手動で追加できることはわかっています。)

6
pLumo

Zannaからのヒントのおかげで、私は問題を見つけました:

lsattr出力は、google-earth.listが不変に設定されていることを示しました。

~$ lsattr /etc/apt/sources.list.d/google-earth.list
----i--------e-- /etc/apt/sources.list.d/google-earth.list

この属性を設定すると、rootでさえもファイルを書き込めません。
修正するには、chattr -iを使用して、ファイルの不変属性を削除しました。

~$ Sudo chattr -i /etc/apt/sources.list.d/google-earth.list

Google Earthを更新するたびに、[Arch=AMD64]がソースファイルから削除されるため(Googleを非難するため)、このファイルを不変にしました。私はもともと webupd8 で「不変の修正」を見つけました。

3
pLumo