en résumé Ignorez simplement les lignes d'avertissement "W : ... _apt ..." liées à l'apt. Elles ne sont pas fatales, et pour la plupart, vous ne pouvez pas les corriger, et vous obtiendrez les mêmes résultats avec ou sans l'avertissement.
Même lorsque la bonne réponse de Florian Diesch est mise en œuvre, je reçois toujours cet avertissement. Je l'obtiens lorsque j'essaie de télécharger la source, avec apt-get source ...
même si j'essaie de télécharger en tant que root, comme avec sudo
o su
(Debian 10.4 et apt 1.8.2.1).
Le web regorge de questions sur ce message d'avertissement, avec de nombreuses propositions de solutions différentes. Il est clair qu'un grand nombre de personnes ont eu des problèmes avec les outils apt depuis qu'ils ont été remplacés par l'utilisation de la fonction _apt
pour ses opérations sécurisées dans le sable.
Il semble qu'après ça _apt
Le changement a été fait, un tas de choses ont été cassées qui n'ont pas encore été complètement corrigées.
Décomposons à nouveau ce problème :
Tout d'abord, les lignes de résultat apt avec un W:
préfixe ne sont que avertissements . Un avertissement étant quelque chose d'anormal, mais qui n'empêche pas le programme de continuer à fonctionner. ( ref : Kusalananda )
Comme l'a souligné Florian, "apt utilise l'utilisateur _apt
pour télécharger les paquets". Il semble qu'il s'agisse d'un cas où l'utilisateur nommé root
ne peut simplement pas faire ce que l'utilisateur a nommé _apt
peut faire.
Une solution partielle, (que vous ne voulez vraiment pas utiliser) :
Vous devez vous assurer que le dossier dans lequel vous vous trouvez (c'est-à-dire où la source sera placée) appartient à _apt:root
. Donc si vous $ mkdir temp; sudo chown _apt:root temp; sudo -s
y # cd temp; apt-get source ...
l'avertissement n'apparaîtra pas.
Bien sûr, vous devrez ensuite mettre un propriétaire plus raisonnable sur ce dossier de base une fois que vous aurez terminé, car il est étrange d'être possédé par _apt:root.
Les résultats sont-ils les mêmes avec ou sans le message d'avertissement ?
# -- TEST 1: get source into folder owned by user ------------
$ mkdir temp1;
$ cd temp1; sudo apt-get source gnupg2 # gives warning message:
...
W: Download is performed unsandboxed as root as file 'gnupg2_2.2.12-1+deb10u1.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
# -- TEST 2: get source into folder owned by root ------------
$ cd ..; sudo -s
# mkdir temp2;
# cd temp2; apt-get source gnupg2 # gives warning message:
...
W: Download is performed unsandboxed as root as file 'gnupg2_2.2.12-1+deb10u1.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
# -- TEST 3: get source into folder owned by _apt:root -------
# cd ..
# mkdir temp3; chown _apt:root temp3
# cd temp3; apt-get source gnupg2 # no warning message now!
# == COMPARE the results ======================================
$ cd ..
$ sudo diff -r temp1 temp2 # no differences
$ sudo diff -r temp1 temp3 # no differences
Les résultats sont donc les mêmes avec ou sans l'avertissement !
_Je ne peux m'empêcher d'ajouter, pince-sans-rire, que la APT discuté ici, ne no se référer à la plus terrible des choses : Menaces persistantes avancées ._
Ma réponse précédente ici (était)
...qui jusqu'à présent, avait réglé ce problème pour moi, mais que je vois maintenant, est insuffisante :
Réparez-le avec ça :
sudo chown -R _apt:root /var/lib/apt/lists
Voir .
-
El listes Le répertoire lui-même, et pas seulement son contenu, doit avoir un propriétaire. _apt . (Par exemple, voici une branche de fichier importante où la propriété de la racine par défaut échoue).
-
J'ai peut-être développé ce problème en retirant listes et le refaire ensuite avec sudo mkdir lists; apt update
comme cela est conseillé ailleurs.
-
Cette solution peut également s'ajouter à d'autres solutions, car j'avais d'abord essayé un tas d'autres choses.
Debian 10.2 Stretch.
# apt-get --version
apt 1.8.2 (amd64)
Supported modules:
*Ver: Standard .deb
*Pkg: Debian dpkg interface (Priority 30)
Pkg: Debian APT solver interface (Priority -1000)
Pkg: Debian APT planner interface (Priority -1000)
S.L: 'deb' Debian binary tree
S.L: 'deb-src' Debian source tree
Idx: Debian Source Index
Idx: Debian Package Index
Idx: Debian Translation Index
Idx: Debian dpkg status file
Idx: Debian deb file
Idx: Debian dsc file
Idx: Debian control file
Idx: EDSP scenario file
Idx: EIPP scenario file