Làm cách nào để cài đặt các gói với apt-get trên hệ thống được kết nối qua proxy?


48

Tôi đã có một hệ thống Ubuntu 11.10 được kết nối qua proxy với internet và tôi muốn cài đặt các gói thông qua apt-get. Khi tôi cố gắng làm điều đó tôi nhận được thông báo lỗi này:

sudo apt-get install libboost-program-options-dev
[...]
Err http://gb.archive.ubuntu.com/ubuntu/ oneiric/main libboost1.46-dev i386 1.46.1-5ubuntu2
407  Proxy Authentication Required

Có ý kiến ​​gì không?


là bất kỳ chi tiết proxy miễn phí nào của họ có sẵn để tôi có thể kết nối và tải xuống một số gói @ văn phòng của tôi.
Jaison Justus

Câu trả lời:


74

Phương pháp này hiệu quả với tôi ..... chỉ cần thử ...

kiểm tra tập tin /etc/apt/apt.conf

Nội dung là,

Acquire::http::proxy "http://<proxy>:<port>/";
Acquire::ftp::proxy "ftp://<proxy>:<port>/";
Acquire::https::proxy "https://<proxy>:<port>/";

Đây là lý do tại sao bạn có thể truy cập proxy nhưng không thể vượt qua vì không có thông tin mật khẩu tên người dùng. Vì vậy, chỉ cần đặt thông tin đó vào nó ..

Acquire::http::proxy "http://<username>:<password>@<proxy>:<port>/";
Acquire::ftp::proxy "ftp://<username>:<password>@<proxy>:<port>/";
Acquire::https::proxy "https://<username>:<password>@<proxy>:<port>/";

lưu tập tin và bạn đã hoàn tất ...


BROTIP: Tốt hơn nữa thêm các dòng này trong một tệp khác , /etc/apt/apt.conf.d/80proxy. Điều này sẽ đảm bảo rằng sau khi thay đổi phiên bản nâng cấp sẽ không bị mất.


1
<br> Điều gì xảy ra nếu trong tên người dùng có ký tự "@". <br> Ví dụ nếu tên người dùng là một địa chỉ email đầy đủ?

1
@Hunger, giới thiệu cyberciti.biz/faq/ này .
Vineet Menon

2
nếu bạn làm điều này vào buổi sáng, đừng quên xóa chevrons
ldgorman

Mua lại :: vớ :: proxy "vớ5: // máy chủ: cổng";
Kris Roofe

45

Để cấu hình proxy tạm thời, đặt http_proxybiến môi trường. Nếu proxy proxy.example.comở trên cổng 8080và bạn cần xác thực bằng tên người dùng uservà mật khẩu pass, hãy chạy:

sudo http_proxy='http://user:pass@proxy.example.com:8080/' apt-get install package-name

Để đặt proxy vĩnh viễn như vậy, hãy tạo /etc/apt/apt.conf.d/30proxychứa:

Acquire::http::Proxy "http://user:pass@proxy.example.com:8080/";

Những thay đổi sẽ được hiển thị ngay khi bạn chạy apt.


2
Nó vẫn không hoạt động, cùng một lỗi. Tôi nên đề cập rằng tôi đã thiết lập proxy của mình trên toàn cầu vào ngàyApplications -> System Tools -> System Settings -> Network Proxy -> Apply system Wide
719016

Kết nối proxy hoạt động với tôi (được thử nghiệm với netcat cũng như Squid). Máy chủ proxy nào đang được sử dụng? Một số proxy có thể cần các phương thức xác thực khác.
Lekensteyn

Cách giải quyết tạm thời +1 là một câu trả lời phù hợp hơn với tôi!
wim

1
@Lekensteyn: tại sao bạn chọn tiền tố '30'? Bây giờ tôi xác định thứ tự phân tích cú pháp, nhưng: có một quy ước khoảng 30 cho proxy không?
jgomo3

1
@ jgomo3 Có lẽ tôi đã xem các tệp khác (hoặc README trong thư mục đó nếu nó tồn tại?) và sau đó chọn một giá trị ngẫu nhiên. Các tập tin được đọc theo thứ tự bảng chữ cái.
Lekensteyn

2

Một cách khác là sử dụng Trình quản lý gói Synaptics, đặt trong Tùy chọn proxy mà bạn muốn kết nối. Bạn có thể tìm thấy cấu hình bằng đường dẫn này: Cài đặt -> Tùy chọn -> Mạng

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.