web-dev-qa-db-fra.com

Différence entre 'Sudo apt-get' et 'Sudo -E apt-get'

J'utilise l'invité Ubuntu 15.10 sur VMWare Player (7.1.3 build-3206955), avec Windows 10 en tant que système d'exploitation hôte. Je peux utiliser Firefox pour naviguer sur le Web à l'intérieur de l'invité, mais je ne parviens pas à utiliser apt sur le terminal. Chaque fois que j'appelle la commande Sudo apt-get update, il reste bloqué à 0% [connecting to in.archive.ubuntu.com], mais échoue enfin. De plus, en utilisant Sudo apt-get install <package>, le paquet est toujours introuvable. D'autre part, l'utilisation des mêmes commandes avec le drapeau -E sur Sudo les fait fonctionner. Quelqu'un peut-il expliquer ce qui se passe ici?

EDIT: J'ai oublié d'ajouter que j'utilise plusieurs connexions Internet; une avec proxy et une sans. Sudo standard fonctionne sur celui sans proxy mais pas sur celui qui le contient.

2

Le mot magique ici est proxy. Dans votre environnement, vous aurez un ensemble d’informations proxy vous permettant d’accéder à Internet.

La variable d'environnement http_proxy contient vos paramètres de proxy.
Exécutez echo $http_proxy pour les voir (peut-être $HTTP_PROXY).

Si vous exécutez Sudo <command>, la commande sera exécutée dans son propre environnement en tant que root. Si vous ajoutez l'option -E à Sudo, la commande sera exécutée sous la forme root, mais la majeure partie de votre environnement sera copiée.

Vous pouvez vérifier cela en exécutant les trois commandes suivantes:

  • env
  • Sudo env
  • Sudo -E env
5
NZD