Apt-get mất nhiều thời gian để cập nhật \ nâng cấp


15

Trên mạng công việc của tôi, bất kỳ lệnh apt-get (hoặc aptitude) nào cũng mất một thời gian rất dài, có vẻ như quản trị viên đã chặn một số cổng cho nó (không rõ lý do). Ví dụ

sudo apt-get update

mất 2 ngày và tất cả những gì tôi nhận được - một danh sách rất dài các câu trả lời như

Get: 36 http://security.ubuntu.com precise-security/universe amd64 Packages [11.6 kB]
Get: 37 http://security.ubuntu.com precise-security/universe amd64 Packages [11.6 kB]
Get: 38 http://security.ubuntu.com precise-security/universe amd64 Packages [11.6 kB]
Get: 39 http://security.ubuntu.com precise-security/universe amd64 Packages [11.6 kB]
Get: 40 http://security.ubuntu.com precise-security/universe amd64 Packages [11.6 kB]

Tình hình tương tự sau đó tôi cố gắng tải phần mềm

Get:1 http://archive.ubuntu.com/ubuntu/ precise/main dash i386 0.5.7-2ubuntu2 [85.8 kB]
Get:2 http://archive.ubuntu.com/ubuntu/ precise/main dash i386 0.5.7-2ubuntu2 [85.8 kB]
Get:3 http://archive.ubuntu.com/ubuntu/ precise/main dash i386 0.5.7-2ubuntu2 [85.8 kB]
Get:4 http://archive.ubuntu.com/ubuntu/ precise/main dash i386 0.5.7-2ubuntu2 [85.8 kB]
Get:5 http://archive.ubuntu.com/ubuntu/ precise/main dash i386 0.5.7-2ubuntu2 [85.8 kB]

Tôi có thể làm gì để thay đổi cổng cho apt-get hay thứ gì khác không

Câu trả lời:


11

Các máy chủ Ubuntu của tôi luôn rất nhanh trong việc apt-getcập nhật và nâng cấp. Thông thường, các dòng trên màn hình đã đi quá nhanh để được nhìn thấy. Rồi đột nhiên họ chạy chậm lại để bò qua đêm.

Đó là IPv6 làm điều đó.

Tôi tìm thấy giải pháp sau đây:

sudo nano /etc/gai.conf

Bỏ dòng sau:

precedence ::ffff:0:0/96 100

Đối với tôi, đó là dòng 54 (đảm bảo bạn không bỏ sót dòng nào kết thúc 10).

Lưu và thoát.

sudo nano /etc/apt/apt.conf.d/99force-ipv4 # (this is to make a new file)

Thêm dòng sau vào tệp mới:

Aquire::ForceIPv4 false;

Lưu và thoát.


3
Tôi không phải là người hâm mộ của những phản hồi này vì không có lời giải thích thực tế nào về lý do tại sao đây là một giải pháp.
Gray Adams

1
@GrayAdams Nếu bạn có lời giải thích, bạn có thể thêm nó. Tôi không có Ước gì tôi đã làm :( Tôi chỉ biết những gì làm việc cho tôi vì vậy tôi đã đăng nó cho những người khác để khắc phục vấn đề, ít nhất là tạm thời.
Ryan

3
sudo nano /etc/gai.conf

thêm / bỏ ghi chú những dòng này:

reload yes
precedence ::ffff:0:0/96 100
precedence ::/0 10

Khi tôi cập nhật với các dòng trên, /etc/gai.confnó đã được giải quyết và nó được sử dụng ipv4trực tiếp thay vì ipv6và cài đặt nhanh chóng.


ĐÚNG!!!!! Cảm ơn bạn!!! Tôi không biết những gì f đã xảy ra ở đây. Phải đợi 10 phút cho mỗi lần cài đặt apt-get.
Jacko

1

Tôi khuyên bạn nên bắt đầu bằng cách đo thông lượng Internet / mạng thông thường của mình bằng một trong những trang web kiểm tra hiệu suất. Một khả năng là www.speedtest.net . Bạn cũng có thể sử dụng một tìm kiếm Google đơn giản để tìm kiếm các trang web khác mà bạn có thể sử dụng để kiểm tra tốc độ kết nối Internet của mình.

Nếu thử nghiệm cho thấy vấn đề không phải là hạn chế kết nối Internet của bạn, thì bước tiếp theo có thể là xem xét các câu trả lời cho câu hỏi này:
Làm thế nào tôi có thể sử dụng gương gần tôi hoặc chọn gương nhanh hơn ?

Tôi đề nghị bạn bắt đầu bằng cách thử câu trả lời phổ biến nhất cho câu hỏi đó . Nó sôi sùng sục để thêm hai dòng dưới đây lên trên cùng /etc/apt/sources.list. Điều này được cho là để khuyến khích quá trình cập nhật để tự động chọn một máy nhân bản tải xuống với hiệu suất tốt hơn.

deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse
  • Lưu ý: Các dòng trên có nghĩa là được sử dụng với Ubuntu 12.04 (Tê tê chính xác) . Đối với các bản phát hành trước đó thay thế precisetrong hai dòng trên bằng tên mã tương ứng của bản phát hành bạn đang sử dụng.

    Lucid(10.04), Maverick(10.10), Natty(11.04), Oneiric(11.10)

Nếu cách tiếp cận này không giúp ích hoặc đơn giản không phải là điều bạn muốn làm thì bạn cũng có thể xem xét để Trình quản lý cập nhật cố gắng chọn một máy nhân bản " nhanh nhất ". Điều này được mô tả chi tiết hơn trong các câu trả lời khác cho câu hỏi tôi đã cung cấp một liên kết đến ở trên.


Internet của tôi hoạt động tốt. Tôi đã thử rất nhiều gương - nhưng kết quả tương tự, tôi không thể tải xuống bất cứ thứ gì từ các trang web
ShockwaveNN

@ShockwaveNN Nếu Internet của bạn hoạt động tốt thì bạn sẽ không gặp vấn đề gì khi tải xuống từ hầu hết các máy nhân bản. Không có gì khác biệt đáng kể về mặt Internet xảy ra trong quá trình sudo apt-get updatesử dụng firefoxtrình duyệt. Bạn đã thử khởi động từ Live CD / USB và thử sudo apt-get updatexem có sự khác biệt nào không? Nếu có nó sẽ chỉ ra điều gì đó không ổn với cài đặt Ubuntu của bạn. Nếu bạn nhận được kết quả tương tự, thì tôi không có ý tưởng nào khác vào lúc này.
phi lý John

0

Đầu tiên, 2 sự thật:
apt-get sử dụng http (cổng 80) theo mặc định trong các bản phân phối linux tiêu chuẩn.

apt-getthường tải xuống ~ 20 MB dữ liệu để cập nhật danh sách. Nếu bạn vừa chạy apt-get updatevà chạy lại, nó chỉ tải xuống ~ 100KB dữ liệu.
Vì vậy, nếu bạn có thể duyệt web trên toàn thế giới (tức là các trang web sử dụng trình duyệt) và bạn đang sử dụng các bản phân phối tiêu chuẩn (không được tùy chỉnh để sử dụng bất kỳ cổng nào khác), không có gì bị chặn bởi quản trị viên ngăn bạn chạy lệnh này.
Vấn đề có thể là các yêu cầu từ máy của bạn đến các máy chủ hiện tại đang được sử dụng để cập nhật bởi apt-get đang gặp phải một số vấn đề (nghĩa là nó có thể chỉ là sự cố tải xuống).
Để giải quyết vấn đề của bạn, các đề xuất của tôi (như bạn đang sử dụng ubfox):

Mở update-manager-> nhấp vào cài đặt ở dưới cùng bên trái -> nhấp vào tab đầu tiên Phần mềm Ubuntu -> nhấp vào hộp thả xuống bên cạnh Tùy chọn tải xuống -> thay đổi máy chủ thành một nơi gần vị trí của bạn hơn bằng cách chọn vị trí khác trong danh sách. Cũng kiểm tra giao thức đang được sử dụng để cập nhật. Nó phải là http cho người dùng phổ thông. -> Bây giờ hãy chạy sudo apt-get update hoặc sử dụng trình quản lý cập nhật để kiểm tra các bản cập nhật. Bây giờ mọi thứ sẽ làm việc tốt cho bạn. Nếu mọi thứ không hoạt động ngay cả sau khi làm theo điều này, bình luận ở đây.


Vì nó không giúp ích gì cho bạn, nên nó dường như là vấn đề của các tệp bị lỗi thời hoặc một phần được thu thập trong khi cố gắng cập nhật một thời gian trước.
Tôi sẽ đề nghị bạn chạy các lệnh này trong thiết bị đầu cuối:

sudo mv /var/cache/apt/archives/partial{,bakjune9}
sudo mv /var/lib/apt/lists{,bakjune9}

Các lệnh này sẽ đổi tên các thư mục nơi tệp được lưu trữ khi apt-gettải xuống trong khi cập nhật và nâng cấp. (Bạn có thể đổi tên chúng trở lại nếu có sự cố xảy ra. Vì vậy, không có nguy cơ làm cho tình huống tồi tệ hơn hiện tại)
Sau lần chạy đó:

sudo apt-get update 

Nó sẽ tải xuống một cái gì đó như 20MB dữ liệu.
Nếu nó chạy thành công, vấn đề của bạn đã được giải quyết.

Bây giờ bạn sẽ có thể chạy sudo apt-get upgradeđể cài đặt các bản cập nhật.
Nếu không, bình luận ở đây trở lại.


Điều này không giúp được gì, tôi đổi máy chủ sang một quốc gia khác và kiểm tra, giao thức đó là 'http' nhưng tôi gặp vấn đề tương tự. Ngoài ra, tôi có thể duyệt Internet (ngoại trừ một số trang web như youtube.com) và có thể truy cập archive.ubfox.com/ubfox trong trình duyệt của mình và nó hoạt động tốt
ShockwaveNN

Tôi đã thêm các bước tiếp theo mà tôi cảm thấy sẽ giúp bạn. Xem nếu nó hoạt động.
Drainke01

Biến thể thứ hai cũng không hoạt động. Tôi mạnh mẽ nghĩ rằng đây là một số vấn đề với kết nối, có cách nào để chẩn đoán kết nối của tôi cho vấn đề không?
ShockwaveNN

Bạn đã thêm rất nhiều nguồn phần mềm khác ngoài kho chính chưa? Nếu bạn có vài chục ppa bị hỏng hoặc bị bỏ rơi hoặc thực sự chậm, điều đó có thể làm cho bản cập nhật bị chậm. Nó cũng sẽ cung cấp cho bạn một thông báo lỗi mỗi khi nó không thể kết nối với một thông báo.
Marc

0

Chạy

sudo apt-get clean

trước khi chạy

sudo apt-get update
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.