apt-get đằng sau proxy trên VirtualBox Ubuntu


Câu trả lời:


8
http_proxy="http://host:port" apt-get something

nên làm việc.

Nếu bạn yêu cầu xác thực, hãy thử

http_proxy="http://user:pass@host:port" apt-get something

Và nếu bạn muốn điều này là vĩnh viễn, có lẽ bạn nên đặt các biến http_proxy (và ftp_proxy?) Trong ~/.bashrctất cả các ứng dụng có khả năng proxy của bạn sẽ hoạt động trong tương lai, ví dụ: 'wget'.


2
một điều nữa cần lưu ý là nếu mật khẩu chứa '@' thì hãy thay thế nó bằng '% 40' (không có dấu ngoặc kép), nếu không nó sẽ không hoạt động
dotlash

8

trong /etc/apt/apt.conf, thêm dòng:

Acquire::http::Proxy "http://MYDOMAIN\MYNAME:MYPASS@MY.PROXY.COM:MYPORT"

Từ: http://ubuntuforums.org/showthread.php?t=96802

(Lưu ý: hoàn toàn bị đánh cắp từ câu trả lời này cho câu hỏi tương tự của tôi trên SF. Tín dụng cho Grizzly )


Dòng cần kết thúc với một;
Verma

Tên tệp của tôi là khác nhau nhưng đây là những gì làm việc cho tôi/etc/apt/apt.conf.d/01proxy
Jackie

4

Một proxy được quy định bằng cách thiết lập http_proxy, ftp_proxyall_proxymôi trường biến, hoặc ở địa phương (ví dụ trong ~/.bashrc) hoặc trên toàn cầu (ví dụ trong /etc/bash.bashrc). Các cài đặt này được vinh danh bởi hầu như tất cả các gói phần mềm mạng (như apt-get, wget, curl, v.v.):

# HTTP proxy without authentification
export http_proxy="http://host:port"
# HTTP proxy with authentification
export http_proxy="http://user:pass@host:port"

Tuy nhiên, đặt chúng theo cách này không giúp ích gì khi chạy sudo apt-get ...- và đó là do dòng này trong /etc/sudoers:

Defaults env_reset

Dòng này đặt lại tất cả các biến môi trường khi sử dụng sudo, vì lý do bảo mật. Để giữ các giá trị của http_proxyvv trong một lệnh sudogọi, bạn có thể chỉ định các ngoại lệ env_resetthông qua env_keep:

# Exception specific to the command apt-get
Defaults!/usr/bin/apt-get env_keep="http_proxy https_proxy ftp_proxy"
# Exception specific to the user joe
Defaults:joe env_keep="http_proxy https_proxy ftp_proxy"

Bằng cách này, bạn sẽ có được apt-gettôn vinh toàn cầu thiết lập cho http_proxy, thay vì sao chép các thiết lập cho apt-getmột số tập tin cấu hình apt-cụ thể phức tạp.


Đây là câu trả lời thực sự theo ý kiến ​​của tôi, bởi vì bạn sẽ luôn luôn sử dụng sudo apt-get ...cho bất cứ điều gì. Vì vậy, không có mục này /etc/sudoers, nó sẽ không hoạt động.
mliebelt

Đây env_resetdòng là /etc/sudoersthực sự quan trọng!
Ari

1
@Ari: Vâng đúng vậy; đó là lý do tại sao tôi đã giới thiệu làm thế nào để vô hiệu hóa nó đặc biệt cho apt-getđặc biệt cho các biến cần thiết, thay vì nói "chỉ cần loại bỏ dòng".
DevSolar

@DevSolar: có, và cộng 1 cho điều đó!
Ari
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.