#1 Le 13/10/2009, à 21:10
- Lemmy78
apt avec et sans proxy
Salut,
J'ai un portable que j'utilise soit au boulot soit à la maison.
Au boulot il y a un proxy avec authentification et à la maison pas de proxy.
Y'a-t-il un moyen de configurer le proxy suivant l'endroit ou je me trouve. Là je parle pour apt et wget car pour FFox, je passe pas des profils.
J'ai essayé via Systeme>Preferences>Serveur Mandataire en créant 2 emplacements mais celui avec le proxy ne prend pas l'authentification en compte. C'est à dire que le fichier /etc/apt/apt.conf.d/70debconf n'est pas correctement maj. Il manque la partie authentification au niveau Acquire::...
Quelqu'un aurait il la solution svp ?
Merci
PS : j'ai essayé 2 3 idées trouvées sur le net mais aucune ne fonctionne coorectement
Ubuntu 16.04LTS - 64 Bits
If it is too loud then you're too old !!!!
Hors ligne
#2 Le 13/10/2009, à 21:19
- wido
Re : apt avec et sans proxy
Bonjour,
comme celle là?
http://forum.ubuntu-fr.org/viewtopic.ph … 23#p837323
Pour wget:
http://www.generation-libre.com/paramet … -un-proxy/
ou:
http://blog.taragana.com/index.php/arch … ugh-proxy/
aussi:
wget --proxy-user "domain\user" --proxy-passwd "password" URL
je me demande si tu lances cette commande:
export http_proxy="http://proxy.example.com:8080"
puis
apt-get install tonpaquet
si ça fonctionne?
et de manière générale à ajouter dans le fichier bashrc:
http_proxy=http://proxy.example.com:port/
export http_proxy
voilà ce que j'ai pu trouver sur différents sites.
Dernière modification par wido (Le 13/10/2009, à 21:24)
Hors ligne
#3 Le 13/10/2009, à 22:00
- Lemmy78
Re : apt avec et sans proxy
Merci je connais ces solutions mais ce je cherche c'est de pouvoir passer d'une connexion avec proxy à une connexion sans proxy sans avoir à reconfigurer apt ou wget manuellement. La solution du serveur mandataire me paraissait simple mais le problème se pose au niveau de l'authentification.
Si tu veux comme je suis amené au boulot par exemple, à switcher souvent d'une connexion avec à une connexion sans c'est galère d'aller reconfigurer à chaque fois. C'est pourquoi la création d'emplacements dans le serveur mandataire était presque parfaite.
Je continue à chercher...
A++
Ubuntu 16.04LTS - 64 Bits
If it is too loud then you're too old !!!!
Hors ligne
#4 Le 13/10/2009, à 22:02
- wido
Re : apt avec et sans proxy
et l'utilisation de script pour faire ça de manière transparente?
Hors ligne
#5 Le 13/10/2009, à 22:21
- Lemmy78
Re : apt avec et sans proxy
oula peut être mais tu ne t'adresses pas un pro là.
Je ne suis plus totalement un débutant mais de là à aller faire un script ???
Il doit bien exister une solution pratique mais faut la trouver...
Ubuntu 16.04LTS - 64 Bits
If it is too loud then you're too old !!!!
Hors ligne
#6 Le 26/01/2010, à 15:34
- Levi59
Re : apt avec et sans proxy
Désolé de déterrer mais j'aurais besoin d'une solution de ce type pour mon EeePC qui me suis partout (fac, maison, terrasses...).
J'ai configuré apt-conf pour qu'il passe par le proxy de ma fac pour les mises à jour et pour Emesene mais maintenant je suis embêté quand je suis en dehors...
Edit:
J'ai fait une version 2 de mon script mais celui ci bien qu'il ai l'air de fonctionner ne fait pas la modification final ... Les tests pour vérifier si les fichiers ont déjà été modifiés et leurs contenus ne passent pas correctement...
#!/bin/bash
#config proxy et ip
proxy="cacheserv3.univ-lille1.fr"
ip="3128"
#fichiers de conf
export apt="/etc/apt/apt.conf"
export vlc="/home/akira/.config/vlc/vlcrc"
export audacious="/home/akira/.config/audacious/config"
export emesene="/home/akira/.config/emesene1.0/config"
#Verifier ESSID
modeustl=`iwconfig wlan0 | grep 'ESSID:"' | cut -d'"' -f2`
# recupérer ligne de config des fichiers
aptconf=`cat $apt`
vlcrc=`cat $vlc | grep http-proxy\=`
audaciousconf=`cat $audacious | grep use_proxy\=`
emeseneconf=`cat $emesene | grep useProxy\=`
if [ "$modeustl" != "USTL" ]
then
#Pas de proxy - pas sur campus. donc desactiver option proxy
a="Acquire"
b="\#Acquire"
c="http-proxy\="
d="\#http-proxy\="
e="TRUE"
f="FALSE"
g="1"
h="0"
echo sur réseau sans proxy
else
#proxy ustl sur campus donc activer option proxy
a="\#Acquire"
b="Acquire"
c="\#http-proxy\="
d="http-proxy\="
e="FALSE"
f="TRUE"
g="0"
h="1"
echo sur réseau avec proxy
fi
z="::http::Proxy \"http://$proxy:$ip\";"
y="http://$proxy:$ip"
x="use_proxy\="
w="useProxy\="
# test si la modification est deja faite ou non (reduction des ecritures pour SSD)
if [ "$b$z" != "$aptconf" ]
then
sed -i 's/$a/$b/g' $apt
echo "apt fait"
fi
if [ "$d$y" != "$vlcrc" ]
then
sed -i 's/$c/$d/g' $vlc
echo "vlc fait"
fi
if [ "$x$f" != "$audaciousconf" ]
then
sed -i 's/$e/$f/g' $audacious
echo "audacious fait"
fi
if [ "$w$h" != "$emeseneconf" ]
then
sed -i 's/$g/$h/g' $emesene
echo "emesene fait"
fi
echo apt
cat $apt
echo vlc
cat $vlc | grep http-proxy\=
echo audacious
cat $audacious | grep use_proxy\=
echo emesene
cat $emesene | grep useProxy\=
exit
Hors ligne
#7 Le 27/01/2010, à 17:12
- Levi59
Re : apt avec et sans proxy
J'ai identifié la faille... cela viens de sed qui ne fonctionne pas avec les variable alors que l'équivalent avec les valeurs fonctionne.
c="#http-proxy="
d="http-proxy="
vlc="/home/akira/.config/vlc/vlcrc"
sed -i 's/$c/$d/g' $vlc
marche pas tandis que :
sed -i 's/#http-proxy=/http-proxy=/g' /home/akira/.config/vlc/vlcrc
marche très bien...
Hors ligne
#8 Le 27/01/2010, à 17:25
- mixout
Re : apt avec et sans proxy
salut
sinon, il y a la configuration automatique de proxy par les fameux (ahem) fichiers .pac
je pense notamment à la fonction FindProxyForURL
mais ça exige l'utilisation d'un serveur web local
Hors ligne
#9 Le 27/01/2010, à 17:30
- Levi59
Re : apt avec et sans proxy
En fait je préfèrerais faire appel à un script à la connexion pour ne pas surcharger mon EeePC. Si je suis sur mon campus, il modifierais ces quelques configuration et les désactiverais chez moi sans que j'ai à intervenir.
Mon seul problème pour l'instant, c'est ce "sed"
edit
bon j'ai trouvé l'erreur du sed:
sed -i 's/$c/$d/g' $vlc
il faut remplacer par:
sed -i 's/'$c'/'$d'/g' '$vlc'
Mais j'ai repéré un probleme avec ma condition if...
Que le fichier ait été modifié ou non, la condition est validé et je me retrouve après 2 lancements avec 2 '#'. Alors que normalement, il ne devrait pas faire la modification si il y a un diese. (je suis chez moi en ce moment)
Edit2:
trouvé!
if [ "$d" != "${vlcrc:0:${#d}}" ]
then
sed -i 's/'$c'/'$d'/g' $vlc
fi
Dernière modification par Levi59 (Le 27/01/2010, à 18:52)
Hors ligne
#10 Le 27/01/2010, à 18:51
- Levi59
Re : apt avec et sans proxy
Voici la version fonctionnelle:
#!/bin/bash
############################################################################
## Crée par Rodolphe Rombeaut ##
## ##
## Description : Ce script permet d'activer ou de desactiver l'option de ##
## connexion avec proxy selon le réseau auquel vous etes connecté. Idéal ##
## pour votre PC portable entre le bureau ou la Fac et le domicile! ##
## ##
############################################################################
#fichiers de conf
export apt="/etc/apt/apt.conf"
export vlc="/home/akira/.config/vlc/vlcrc"
export audacious="/home/akira/.config/audacious/config"
export emesene="/home/akira/.config/emesene1.0/config"
#Verifier ESSID
modeustl=`iwconfig wlan0 | grep 'ESSID:"' | cut -d'"' -f2`
# recupérer ligne de config des fichiers
aptconf=`cat $apt`
vlcrc=`cat $vlc | grep http-proxy\=`
audaciousconf=`cat $audacious | grep use_proxy\=`
emeseneconf=`cat $emesene | grep useProxy\=`
if [ "$modeustl" != "USTL" ]
then
#Pas de proxy - pas sur campus. donc desactiver option proxy
a="Acquire"
b="#Acquire"
c="http-proxy="
d="#http-proxy="
e="TRUE"
f="FALSE"
g="1"
h="0"
echo sur réseau sans proxy
else
#proxy ustl sur campus donc activer option proxy
a="#Acquire"
b="Acquire"
c="#http-proxy="
d="http-proxy="
e="FALSE"
f="TRUE"
g="0"
h="1"
echo sur réseau avec proxy
fi
x="use_proxy="
w="useProxy="
# test si la modification est deja faite ou non (reduction des ecritures pour SSD)
if [ "$b" != "${aptconf:0:${#b}}" ]
then
sed -i 's/'$a'/'$b'/g' $apt
echo "---------------------"
echo "apt fait"
fi
if [ "$d" != "${vlcrc:0:${#d}}" ]
then
sed -i 's/'$c'/'$d'/g' $vlc
echo "---------------------"
echo "vlc fait"
fi
if [ "$f" != "${audaciousconf:${#x}:${#f}}" ]
then
sed -i 's/'$x''$e'/'$x''$f'/g' $audacious
echo "---------------------"
echo "audacious fait"
fi
if [ "$h" != "${emeseneconf:${#w}:${#h}}" ]
then
sed -i 's/'$w''$g'/'$w''$h'/g' $emesene
echo "---------------------"
echo "emesene fait"
fi
echo "---------------------"
echo apt
cat $apt
echo "---------------------"
echo vlc
cat $vlc | grep http-proxy\=
echo "---------------------"
echo audacious
cat $audacious | grep use_proxy\=
echo "---------------------"
echo emesene
cat $emesene | grep useProxy\=
exit
Il ne me reste plus qu'à savoir comment activer ce programme uniquement à la connexion à un réseau et avec les droits root sans demander le mot de passe...
EDIT
Bug détecté et corrigé!
-------------------------MÉTHODE D'INSTALLATION-------------------------
Dernière modification par Levi59 (Le 14/02/2010, à 18:13)
Hors ligne
#11 Le 28/05/2010, à 21:29
- Furinkazan
Re : apt avec et sans proxy
Il ne me reste plus qu'à savoir comment activer ce programme uniquement à la connexion à un réseau et avec les droits root sans demander le mot de passe...
Salut !
Pour lancer un programme au démarrage en root sans avoir à rentrer le mot de passe voir la démarche ici.
[EDIT]
Arf j'avais pas bien lu! Tu veux le lancer seulement à la connexion à un réseau ?
Je pense tout de même que les 2 premières étapes te seront utiles :
1- Taper dans un terminal : export EDITOR=gedit && sudo visudo
2- Ajouter à la fin du fichier qui s'ouvre (/etc/sudoers) les deux lignes suivantes (user étant votre nom d'utilisateur) :
#Lancer programme sans taper le mot de passe
%user ALL= NOPASSWD: /usr/sbin/programme
Dernière modification par Furinkazan (Le 28/05/2010, à 21:35)
Hors ligne
#12 Le 28/05/2010, à 23:23
- Levi59
Re : apt avec et sans proxy
En fait j'ai trouvé comment faire pour lancer uniquement à la connexion (cf Méthode d'installation).
A savoir que c'est beaucoup plus simple avec wicd qui permet de lancer un script à la connexion et donc de faire des script personnalisés pour chaque réseaux.
Je n'ai pas mis en résolu car j'espérais que d'autres viendraient donner leur vision du script.
Dernière modification par Levi59 (Le 28/05/2010, à 23:26)
Hors ligne
#13 Le 10/06/2010, à 12:01
- YoMo
Re : apt avec et sans proxy
Je suis très intéressé par ton script Levi59 de switch proxy !!!
Mais comme je suis novice, j ai du mal à voir sur quelles applications
le changement dans /etc/apt/apt.conf agit ? synaptic, update-manager ?
Sur ce post forum ubuntu in english,
propose cette solution:
I've written two small scripts for turning the proxy on or off:
~/.bin/proxyOn:
Code:gconftool-2 --set /system/proxy/mode --type string manual gconftool-2 --set /system/http_proxy/use_http_proxy --type bool true
~/.bin/proxyOff:
Code:gconftool-2 --set /system/proxy/mode --type string none gconftool-2 --set /system/http_proxy/use_http_proxy --type bool false
J ai l impression que ça agit comme si on changeait dans Systeme -> Preferences -> Serveur mandataire
C est complémentaire à ton script ou ça se chevauche ?
J'avais aussi un export http_proxy=.... dans mon .bashrc , du coup il faut le virer ?
Par ailleurs, je voudrais profiter de ce script pour modifier le proxy
dans firefox mais je n ai rien trouvé de satisfaisant...
Hors ligne
#14 Le 10/06/2010, à 12:28
- Adejulmar
Re : apt avec et sans proxy
Bonjour, je suis tout nouveau sur le forum , comme sur Linux dailleurs, du coup, je pense que je n'est pas posté ça où il fallait !! Ceci étant dis, j'ai un problème lors d'installation de logiciel, j'ai un message d'erreur qui est le suivant :
E: dpkg a été interrompu, vous devez lancer manuellement 'sudo dpkg --configure -a' pour corriger le problème.
E: _cache->open() failed, please report.
Du coup, je ne peux rien installer !
Si quelqu'un peut m'aider, et encore désolé pour le dérangement!
Bonne journée
Hors ligne
#15 Le 10/06/2010, à 13:59
- wido
Re : apt avec et sans proxy
Bonjour,
sudo dpkg --configure -a
la commande pour résoudre ton problème est bien indiqué
Hors ligne
#16 Le 10/06/2010, à 20:18
- Levi59
Re : apt avec et sans proxy
Je suis très intéressé par ton script Levi59 de switch proxy !!!
Mais comme je suis novice, j ai du mal à voir sur quelles applications
le changement dans /etc/apt/apt.conf agit ? synaptic, update-manager ?Sur ce post forum ubuntu in english,
propose cette solution:I've written two small scripts for turning the proxy on or off:
~/.bin/proxyOn:
Code:gconftool-2 --set /system/proxy/mode --type string manual gconftool-2 --set /system/http_proxy/use_http_proxy --type bool true
~/.bin/proxyOff:
Code:gconftool-2 --set /system/proxy/mode --type string none gconftool-2 --set /system/http_proxy/use_http_proxy --type bool false
J ai l impression que ça agit comme si on changeait dans Systeme -> Preferences -> Serveur mandataire
C est complémentaire à ton script ou ça se chevauche ?J'avais aussi un export http_proxy=.... dans mon .bashrc , du coup il faut le virer ?
Par ailleurs, je voudrais profiter de ce script pour modifier le proxy
dans firefox mais je n ai rien trouvé de satisfaisant...
apt.conf permet d'utiliser des options avec le protocole apt servant notamment aux mises à jour.
Pour http_proxy je ne suis pas sûr de son action...
Hors ligne
#17 Le 17/06/2010, à 13:55
- YoMo
Re : apt avec et sans proxy
Concernant le proxy mis en dur dans synaptic (utilisé par update-manager/notifier),
il semblerait que l'on puisse switcher avec et sans ce proxy via la variable "useProxy"
contenu dans le fichier /root/.synaptic/synaptic.conf.
Pour avoir le proxy, il faut passer cette variable de 0 à 1:
sudo sed -i 's/useProxy\ \"0\"/useProxy\ \"1\"/g' /root/.synaptic/synaptic.conf
Auparavant il faut biensûr avoir rentré le proxy à la main dans synaptic (synaptic -> confi -> préférences -> réseau)
Pour virer le proxy::
sudo sed -i 's/useProxy\ \"1\"/useProxy\ \"0\"/g' /root/.synaptic/synaptic.conf
Hors ligne
#18 Le 17/06/2010, à 21:59
- Levi59
Re : apt avec et sans proxy
apt.conf permet la même chose donc en commentant/dé-commentant la ligne, on désactive/active le proxy.
Hors ligne