70 votes

Que signifie ce message d'erreur apt ("Download is performed unsandboxed as root...") ?

Je l'obtiens après la mise à jour dans Synaptic Manager

J'ai récemment effectué une installation propre d'Ubuntu 17.04 à partir de 16.10.

message d'erreur:-

W: Download is performed unsandboxed as root as file '/var/cache/apt/archives/partial/samba-libs_2%3a4.5.8+dfsg-0ubuntu0.17.04.1_i386.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)

54voto

Fabiano Soriani Points 543

Habituellement, apt utilise l'utilisateur _apt pour télécharger des paquets. Dans votre cas _apt n'a pas la permission d'écrire sur /var/cache/apt/archives/partial/ ou un fichier existant /var/cache/apt/archives/partial/samba-libs_2%3a4.5.8+dfsg-0ubuntu0.17.04.1_i386.deb Il a donc téléchargé le fichier en tant que root .

Assurez-vous que /var/cache/apt/archives/partial/ et tout ce qui se trouve en dessous sont accessibles en écriture pour _apt par exemple en exécutant

sudo chown -Rv _apt:root /var/cache/apt/archives/partial/
sudo chmod -Rv 700 /var/cache/apt/archives/partial/

17voto

Elliptical view Points 969

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

5voto

J'ai eu ce problème aussi sur une Debian Stretch (installation fraîche d'une VM Xen), il s'est avéré que c'était un problème avec sudo.

Je n'ai pas pu faire de sudo sur la machine.

Plus précisément, la racine / du système était en 700 (drwx------). A chmod 755 / Je l'ai réparé.

1voto

John Mee Points 821

Rendre le fichier lui-même lisible par le _apt utilisateur, par exemple :

chmod 777 ./pdfsam-visual_2.1.4_amd64.deb

Regardez les permissions du fichier lui-même...

$ ls -l ./pdfsam-visual_2.1.4_amd64.deb 
-r-------- 1 john john 105659960 Apr  4 11:57 ./pdfsam-visual_2.1.4_amd64.deb

Maintenant ce message encore...

N: Download is performed unsandboxed as root as file
 'pdfsam-visual_2.1.4_amd64.deb' couldn't be accessed 
by user '_apt'. - pkgAcquire::Run (13: Permission denied)

L'erreur est due au fait que l'utilisateur _apt veut accéder au fichier local. Donc vous devez seulement accorder l'accès à ce fichier. ex :

Maintenant, si vous supprimez et installez, l'erreur disparaîtra.

sudo apt remove pdfsam-visual
sudo apt install ./pdfsam-visual_2.1.4_amd64.deb

-1voto

Markus Bawidamann Points 124

La solution la plus simple ici :

Utilisez simplement l'ancien apt-get :

apt-get --download install xzy

Heureusement, l'ancien apt-get n'a pas ce bug bizarre.

Apt a besoin des privilèges de root pour faire quoi que ce soit, il les supprime ensuite pour quoi ? Le téléchargement ??? Alors que toutes les installations se font avec les privilèges root ? Cela n'a absolument aucun sens.

Note étrange : apt n'a pas d'indicateur de force, NONE, ce qui est très étrange. De plus, il ne peut pas être utilisé pour tous les scripts, ce qui constitue un net recul. Pourquoi ne pouvons-nous pas avoir un meilleur remplacement 100% fonctionnel d'apt-get ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X