'apt-get' Proxy ile çalışmıyor


52

Komut için

sudo apt-get update

Aşağıdaki hatayı alıyorum:

W: Failed to fetch http://ch.archive.ubuntu.com/ubuntu/dists/maverick-updates/multiverse/binary-i386/Packages.gz  
407  Proxy Authentication Required (The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied. )

VirtualBox kullanarak Windows XP'de yüklü Ubuntu 10.10 kullanıyorum. İnternet bağlantıları için kimlik doğrulaması ile proxy sunucusu kullanıyorum. gnome-network-proxyProxy ayarlarını sistem genelinde ayarlamak için aracı kullanmaya çalıştım .

Bu /etc/environment, http_proxyformat ile değişkene göre güncellendikten sonra, http://my_proxy:port/doğrulama verisi yoktu.

Bunu Firefox ile kontrol ettim. Tarayıcı giriş ve şifremi istedi ve her şey iyi çalışıyordu. Ne yazık ki apt-get için durum böyle değildi. Ayrıca burada açıklandığı gibi yapmaya çalıştım . Maalesef çalışmıyor.

Bir şekilde bir proxy'nin bir Windows etki alanında olması veya herhangi bir fikir olması ile ilgili olabilir mi?

Proxy adım http-proxy . ' - ' burada özel bir karakter mi?


2
Global network proxy'sini system -> tercihler -> network proxy altında kullandınız mı ve global olarak ayarları uyguladınız mı?
DemonWareXT

Kullanımı kolay GUI aracını deneyebilirsiniz GrrProxy
Renae Lider

Yanıtlar:


52

Kurumsal ağım için yöneticim tarafından proxy adı verildi.

http://[username]:[password]@[proxy-webaddress]:[port]

Windows ağımız için kullanıcı adımız:

[domain]\[username]

Örneğin:

http://mywindowsdomain\fossfreedom:password@askubuntu-proxy.com:8080

Bu, aşağıdaki YENİ dosyaya eklenmiştir (varsayılan olarak yoktur):

gksudo gedit /etc/apt/apt.conf.d/01proxy

Aşağıdaki metin eklendi:

Acquire::http::Proxy "http://mywindowsdomain\fossfreedom:password@askubuntu-proxy.com:8080";

Anonim bir proxy kullanıyorsanız giriş kimlik bilgilerinize ihtiyacınız yoktur:

Acquire::http::Proxy "http://askubuntu-proxy.com:8080";

Dosyayı kaydedin ve ardından her şeyin yolunda olup olmadığını kontrol edin:

sudo apt-get update

Bunu daha sonra okuyacak olanlara: Bu, eğitimsiz bir göze hack gibi görünmekle birlikte, kurumsal vekilin uyması için inanılmaz derecede basit bir yol.
macduff

1
Bu mükemmel çalışıyor. UNLESS /etc/apt/apt.conf dosyasını daha önce kötü bir Acquire satırıyla ayarlamıştınız. Sadece bunu yaptım ve tek yapmam gereken geri dönüp o satırı silmek oldu.
Huffman

Ubuntu 12.10'da çalışmadan önce /etc/apt/apt.conf.d/01proxy'de yapılan değişiklikleri /etc/apt/apt.conf dosyasına kopyalamak zorunda kaldım.
Stephen Niedzielski

bu düzenlemelerle bile, bunun benim için 12.04 ile çalışmasını sağlayamadım ... fakat ntlmap'ları kullanarak ve yapılandırarak ve apt.conf dosyasını oradaki ara proxy'ye işaret ederek çalışmasını sağladım.
monkut

The program 'gksudo' is currently not installed. You can install it by typing: sudo apt-get install gksu(tabii ki proxy kurmadan çalışmaz ...) Neyse ki sudogayet iyi çalışıyor.
TED

13

"Network Proxy" uygulamasına girilen USERNAME ve PASSWORD öğelerinin apt.conf dosyasına kaydedilmediğini ve /etc/apt/apt.conf dosyasına kullanıcı adını ve şifreyi elle eklemeniz gerektiğini gördüm.

"Ağ Proxy" uygulaması yalnızca ana bilgisayar adını ve bağlantı noktasını saklar.

Temel sözdizimi

Acquire::http::proxy "http://User:Password@host:port/";

Acquire::ftp::proxy "ftp://User:Password@host:port/";

Acquire::https::proxy "https://User:Password@host:port/";

Windows kullanıcı adlarını ve şifresini kullanıyorsanız, şu önerileri izleyin:

User = Domain/Username

(windows kullanıcıları kullanmak /değil \)

Özel karakterlerle Windows güçlü / karmaşık parola kullanıyorsanız, değerler için URL kodlamasını kullanmanız gerekir; örneğin paroladaki bir "@" "% 40" olur.


(Windows kullanıcıları kullanır / kullanmazlar) Öyleyse bu yüzden sıkışıp kaldım :) Teşekkürler!
GaiusSensei

9

Belirlemeyi deneyin http_proxyiçin http: // kullanıcı: parola @ ProxyServer: port /

düzenleme:
Ayar http_proxyişe yaramazsa düzenlemeyi deneyin apt.conf. In
Ubuntu apt.confiçinde parçalanmış olan /etc/apt/apt.conf.d/dizinde.
Bu dizinde düzenle /etc/apt/apt.conf.d/01ubuntu:

APT {
    Acquire {
        http {
            Proxy "http://user:password@server:port";
        };
    };
};

veya Synaptic kullanarak ayarlamayı deneyin: Ayarlar -> Tercihler -> Ağ
ve ardından proxy ayarlarınızı "Manuel proxy yapılandırması" olarak ayarlayın.


3
/ Etc / environment dosyasını mı kastediyorsunuz?
tommyk

Evet, bu değişkeni global olarak ayarlayacaktır.
Günlük Kodlayıcı,

Biri kolonu şifrenin bir parçası olarak nasıl kodlar?
k0pernikus

/ etc / environment apt-get ile çalışmıyor (veya en azından yeniden başlatılması gerekiyor;), apt.conf değiştirmenin hemen etkisi var
Danubian Sailor

Ağ üzerinde apt-get komutuyla "Manuel proxy yapılandırması" ve "Sistem genelinde uygula" ayarını onaylayabilirim.
Sheppard

4

MS ISA proxy'sinin arkasındayım ve Cntlm Authentication Proxy kullanıyorum; içinde apt.confbir 4 hatları; Bir yerde, son satırın boş olması gerektiğini okudum, ama emin değilim. Mükemmel çalışıyor:

Acquire::http::proxy "http://127.0.0.1:3128/";
Acquire::ftp::proxy "ftp://127.0.0.1:3128/";
Acquire::https::proxy "https://127.0.0.1:3128/";

3

cntlm, ağınızın NTLM auth ile çalışmak için doğru yapılandırmayı bulmanıza yardımcı olan bir keşif seçeneğine sahiptir, şunu deneyin:

cntlm -I -M http://test.com

/etc/cntlm.conf içindeki sonuçları kopyalayıp yapıştırın

cntlm'yi yeniden başlat


'cntlm' is currently not installed. You can install it by typing: sudo apt-get install cntlm(eğer proxy doğru ayarlanmadıysa ders işe yaramazsa ...)
TED

2
  1. Terminali açın ve /etc/apt/apt.conf dosyasına şu satırları ekleyin.

    gksu gedit /etc/apt/apt.conf
    
  2. Bu 2 satırı ekle:

    Acquire::http::Proxy "http://user:pass@proxy-host:port/";
    Acquire::ftp::Proxy "http://user:pass@proxy-host:port/";
    
  3. Kaydet ve çık.

    Şimdi apt-get updateve bir proxy arkasında çalışmalısınız, ancak yine de bir şeyin çalışmadığını, add-apt-repositorykomutun bu olduğunu fark edeceksiniz .

    Bir proxy'nin arkasına depo ekleyebilmek için aşağıdaki komutları yazın:

    # export https_proxy="http://192.168.1.5:8080"
    # sed -i 's/"keyserver.ubuntu.com"/"hkp://keyserver.ubuntu.com:80"/' /usr/share`/pyshared/softwareproperties/ppa.py`
    

    Şimdi LANG = C add-apt-repository kullanarak Lucid ve Natty'deki havuzları ekleyebilirsiniz

    Örnek:

    root @ ubuntu: ~ # LANG = C Eklenti Eklenti Havuzu ppa: motumedia / mplayer-daily

Via Unixmen


2

Apt-get update veya Ubuntu'da nasıl kurulur? Proxy sunucusunun arkasındaydım ve Ubuntu'yu kurduktan sonra apt-get komutunu kullanarak herhangi bir şeyi güncellememeli veya yüklememeliyim. Aradıktan sonra apt paketinin değiştirildiğini öğrendim, şimdi / etc / apt dizininde artık apt.conf yok.

Bu sorunu çözmek için yaptığım şey:

Terminali ve dosyayı aç

sudo -H gedit /etc/bash.bashrc

ve dosyanın altına bu 2 satırı ekleyin:

#proxy 
export http_proxy=http://user:password@host:port/
export ftp_proxy=http://user:pass@host:port/

Şimdi kaydedin ve çıkın, Şimdi Ubuntu’daki paketleri güncelleyebilecek, yükseltebilecek ya da yükleyebileceksiniz.


Önerdiğiniz gibi ihracat ekledim. Hala çalışmıyor. Şimdi "extras.ubuntu.com:80 (91.189.88.33) 'e bağlanamadı. - connect (110: Bağlantı zaman aşımına uğradı)" farklı bir hata mesajı aldım. <br> Garip olan, Firefox tercihlerinde aynı proxy ayarlarını girdiğimde bir web'e göz atabileceğim.
tommyk

@tommyk, /etc/apt/sources.list'inizi burada yayınlayıp sorunuzu burada güncelleyebilir veya extet.ubuntu.com adresini /etc/apt/sources.listinizden silmeyi ve apt-get güncellemesini silmeyi deneyebilir misiniz
hhlp

Resources.list'imi ubuntu web sayfasındaki bir varsayılanla değiştirdim. Bu dosyada listelenen her depo için hala aynı hatayı alıyorum.
tommyk

2

Bu benim için çalışıyor!

(GUI'den sistem ayarları-> ağ vb. yoluyla manuel olarak proxy ekleme çalışmalıdır) Ancak çalışmazsa ve env değişkenini terminalden dışa aktarırsanız:

export http_proxy=http://<your proxy url>:<proxy port>

ve tekrar https için:

export https_proxy= <usually the same as the http>

-E eklemek için en önemli: Çalıştırmak sudo apt-get installveya sudo apt-get updatekoşmak zorundasınız:

sudo -E <command>

"-E" kullanıcı ortam değişkenlerinizi root (sudo) için kullanır, bunun için sadece dışa aktardığınız http_proxy / https_proxy.

Umarım yardımcı olur :)


1

Bir BlueCoat proxy ile benim için apt.confdosyanın formatının şöyle olması gerekiyordu:

Acquire::http::proxy "http://Domain%5cUserID:Password@proxy.name.whatever:80/";
Acquire::ftp::proxy "ftp://Domain%5cUserID:Password@proxy.name.whatever:80/";
Acquire::https::proxy "https://Domain%5cUserID:Password@proxy.name.whatever:80/";

^ ^ ^ ^ 3. proxy satırından sonraki boş satır, bu satıra girmeyin. ^ ^ ^ ^


1

Ubuntu 18.04'ü yükledikten sonra da aynı sorunu yaşadım. Benim için çalışan şey şuydu:

  1. Ağ ayarlarında Ağ Proxy ekranını açın
  2. El İle'yi seçin ve hem http hem de https proxy bilgilerini ekleyin
  3. Ek olarak, Yok Sayma Alanları alanını şu şekilde ayarlayın:
    https://extensions.gnome.org*, *.extensions.gnome.org*
  4. Yeniden başlatılmış Ubuntu

3. maddeye gelince, yukarıdaki girişin eklenip eklenmeyeceğinden emin değilim, ancak bu adım benim için işe yarıyor


0
  1. Synaptic'i başlatın ( Gnome 2'de Sistem -> Yönetim -> Synaptic'e gidin veya Unity in Dash içindeki "synaptic" yazın ).
  2. Menü çubuğunda, Ayarlar ve ardından Tercihler öğesini tıklayın .
  3. Tercihler penceresi göründüğünde, sekmesine tıklayın.
  4. Seç El ile proxy yapılandırması radyo düğmesini ve proxy bilgileri girin.
  5. Doğrulama bilgilerini uygulamak için, Doğrulama düğmesine tıklayın ve kullanıcı adınızı ve şifrenizi girin.
  6. HTTP Kimlik Doğrulama penceresini kapatmak için Tamam'ı tıklayın.
  7. Tercihler penceresini kapatmak için Tamam'ı tıklayın.
  8. Paket listelerini güncellemek için Yeniden Yükle düğmesine tıklayın.

Bu ayar değişikliğinin Güncelleme Yöneticisini de etkileyeceğini unutmayın .


0

Bu bir liner çözümü benim için çalıştı:

sudo env http_proxy=http://<ip>:<port> apt-get update
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.