J'essaie d'ajouter un ppa
mais obtenir l'erreur: 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'
la même chose se produit lorsque vous essayez d’exécuter en tant que root au lieu d’utiliser Sudo:
~$ Sudo su -
~# add-apt-repository ppa:otto-kesselgulasch/gimp-Edge
Le fichier source du ppa est créé, mais est vide:
~$ 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
Le propriétaire de ce google-earth.list
est root avec un accès 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--
Il y a aussi assez d'espace libre:
~$ df -h /etc/apt/sources.list.d/
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 902G 252G 604G 30% /
apt update
/apt upgrade
fonctionnent bien.
Qu'est-ce qui se passe ici?
(PS: Je n'ai pas besoin d'une solution de contournement, je sais que je peux ajouter le deb manuellement.)
Grâce à l'allusion de Zanna, j'ai trouvé le problème:
lsattr
indique que google-earth.list
a été défini comme étant immuable.
~$ lsattr /etc/apt/sources.list.d/google-earth.list
----i--------e-- /etc/apt/sources.list.d/google-earth.list
Avec cet attribut, même root
ne peut écrire le fichier.
Pour résoudre ce problème, je viens d'utiliser chattr -i
pour supprimer l'attribut immuable du fichier:
~$ Sudo chattr -i /etc/apt/sources.list.d/google-earth.list
J'ai rendu ce fichier immuable moi-même, car après chaque mise à jour de Google Earth, [Arch=AMD64]
est supprimé du fichier source (blâme Google!). J'ai initialement trouvé ce "correctif immuable" sur webupd8 .