Làm thế nào để sử dụng và sử dụng apt apt-get đá thông qua mạng HTTP http-proxy như thế này?


20

Tôi đang cố gắng sử dụng apt-getlệnh trên mạng sử dụng proxy, như thế này:

Chúng tôi sử dụng 10.114.7.7 trên cổng 80 dưới dạng HTTP-proxy và sau đó, một cửa sổ xác thực xuất hiện, hỏi tên người dùng và mật khẩu.

Tên người dùng / Tên miền của chúng tôi là như thế này: username@urmia.ac.ir

Tôi đang tự hỏi, làm thế nào tôi có thể sử dụng http_proxy=http://User:Pass@Proxyserver:Porttrong tình huống này!? Tôi cũng đã thử cả hai, 10.114.7.7 và urmia.ac.ir là máy chủ Proxy nhưng không có kết quả!

Câu trả lời:


35

Để sử dụng apt-get thông qua proxy, hãy tạo một tệp /etc/apt/apt.conf.d/được gọi là proxy hoặc thứ gì đó bạn sẽ nhận ra hoặc tạo (nếu nó không tồn tại) /etc/apt/apt.confvà chèn dòng sau:

Acquire::http::Proxy "http://username:password@proxy.server:port/";

Chỉ cần thay thế tên người dùng và mật khẩu bằng chi tiết đăng nhập của bạn và thay thế proxy.server: port bằng địa chỉ chính xác (trong trường hợp của bạn, 10.114.7.7:80), vì vậy dòng của bạn sẽ kết thúc như thế này:

Acquire::http::Proxy "http://username:password@10.114.7.7:80";

Nếu bạn được yêu cầu sử dụng @biểu tượng trong tên người dùng của mình, bạn sẽ phải thoát biểu tượng đó bằng dấu gạch chéo ngược ( username@urmia.ac.ir)

Trong khi thoát các ký tự bằng cách sử dụng phản ứng ngược không hoạt động (ví dụ: \@trong exportwget), các ký tự đặc biệt có thể được thoát bằng mã hóa URL. Ví dụ, username:my@pass@server.com:porttrở thành username:my%40pass@server.com:port. Xem danh sách các ký tự được mã hóa URL này để biết thêm thông tin.


Giải pháp đề xuất để thêm mục nhập proxy bên trong / etc / apt đã hoạt động với tôi, nhưng tôi lưu ý rằng nếu máy chủ proxy của bạn lưu thông tin xác thực, bạn có thể tránh nhúng thông tin đăng nhập vào tệp cấu hình bằng cách xác thực thông qua máy chủ proxy của mình trong một quy trình khác ( ví dụ: trình duyệt web trong Windows), trước khi chạy các lệnh apt trong bash shell của bạn. Bằng cách này, tôi có thể chỉ định mục nhập proxy bên trong / etc / apt là " server: port " thay vì " username: password @ server: port ".
Peter Sanza

6

Ngoài ra, bạn có thể đặt sau đây trong /etc/apt/apt.conf

Acquire::http::Proxy "http://proxy.server.port:8080";

8080 là số cổng và tôi nghĩ là tiêu chuẩn.

Đừng quên dấu ngoặc kép hoặc dấu chấm phẩy.


4

Điều này sẽ giải quyết vấn đề của bạn:

export http_proxy=http://username:password@10.114.7.7:80/

EXPORT HTTP_proxy=http://username:password@10.114.7.7:80/chạy trong Bash kết quả trong EXPORT: command not found.
David Foerster

Cả xuất và http trong trường hợp thấp hơn. Bash là trường hợp nhạy cảm. Khác nó nên làm việc. Ít nhất nó đã làm việc cho tôi được hai năm.
s3lph

6
hoạt động cho curl, nhưng không cho apt.
FGM
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.