Apt-get потребує багато часу, щоб оновити \ оновити


15

У моїй робочій мережі будь-які команди apt-get (або здатність) займають дуже багато часу, схоже, адміністратори заблокували якийсь порт для цього (з невідомих причин). Наприклад

sudo apt-get update

зайняти 2 дні, і все, що я отримаю - дуже довгий список відповідей, як

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]

Така ж ситуація, що я намагаюся завантажити програмне забезпечення

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]

Чи є щось, що я можу зробити, щоб змінити порт для apt-get або щось інше

Відповіді:


11

Мої сервери ubuntu завжди були дуже швидкими в apt-getоновленні та оновленнях. Зазвичай лінії на екрані йшли занадто швидко, щоб їх побачити. Потім раптом вони сповільнилися до повзання протягом ночі.

Це робив IPv6.

Я знайшов таке рішення:

sudo nano /etc/gai.conf

Відмініть наступний рядок:

precedence ::ffff:0:0/96 100

Для мене це був рядок 54 (переконайтеся, що ви не коментуєте той, що закінчується 10).

Збережіть і вийдіть.

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

Додайте наступний рядок до нового файлу:

Aquire::ForceIPv4 false;

Збережіть і вийдіть.


3
Я не прихильник цих відповідей, оскільки немає фактичного пояснення того, чому це рішення.
Сірий Адамс

1
@GrayAdams Якщо у вас є пояснення, ви можете додати його. У мене немає жодного. Побажання я це зробив: (я просто знав, що на мене працює, тому я розмістив його для інших, щоб усунути проблему, принаймні тимчасово.
Райан

3
sudo nano /etc/gai.conf

додати / коментувати ці рядки:

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

коли я оновив вищевказані рядки, /etc/gai.confце вирішив, і він використовувався ipv4безпосередньо замість цього ipv6та швидко встановлювався.


ТАК!!!!! Дякую!!! Я не мав уявлення про те, що відбувається тут. Довелося зачекати 10 хвилин для кожної влучної установки.
Jacko

1

Я пропоную почати з вимірювання типової пропускної здатності для Інтернету / мережі, використовуючи один із сайтів, що перевіряють продуктивність. Одна з можливостей - www.speedtest.net . Ви також можете скористатися простим пошуком Google для пошуку інших сайтів, які можна використати для перевірки швидкості підключення до Інтернету.

Якщо тестування показує, що проблема не є обмеженням вашого Інтернет-з'єднання, наступним кроком може стати перегляд відповідей на це запитання:
як я можу отримати вміння користуватися дзеркалом поруч із мною або вибрати швидше дзеркало ?

Я пропоную вам спробувати найпопулярнішу відповідь на це питання . Він зводиться до додавання двох рядків нижче до верху /etc/apt/sources.list. Це має сприяти процесу оновлення до автоматичного вибору дзеркала для завантаження з кращою продуктивністю.

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
  • Примітка. Попередні рядки призначені для використання з Ubuntu 12.04 (Precision Pangolin) . Для попередніх випусків замініть preciseу двох рядках вище відповідну кодову назву випуску, який ви використовуєте.

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

Якщо такий підхід не допомагає або просто не є чимось, що ви хочете зробити, ви можете також розглянути можливість дозволити Менеджеру оновлень спробувати вибрати " найшвидше " дзеркало. Це більш детально описано в інших відповідях на питання, на яке я подав посилання вище.


Мій Інтернет працює чудово. Я спробував багато дзеркал - але результат такий же, я не можу завантажити щось із сайтів
ShockwaveNN

@ShockwaveNN Якщо ваш Інтернет працює нормально, у вас не повинно виникнути проблем із завантаженням з більшості дзеркал. Немає нічого суттєво відмінного в Інтернеті, що відбувається під час, скажімо, sudo apt-get updateі використання firefoxбраузера. Ви спробували завантажуватись з живого CD / USB та намагаєтесь sudo apt-get updateпобачити, чи є різниця? Якщо є, це вказувало б на те, що з установкою Ubuntu щось не так. Якщо ви отримаєте такий самий результат, то я не маю інших ідей на даний момент.
нераціональний Джон

0

По-перше, два факти:
apt-get за замовчуванням використовує http (порт 80) у стандартних дистрибутивах Linux.

apt-getяк правило, завантажується ~ 20 Мб даних для оновлення списків. Якщо ви тільки що запустили apt-get updateта запустили його знову, він завантажує близько 100 КБ даних.
Отже, якщо ви можете переглядати всесвітню павутину (тобто веб-сайти, що використовують браузер), і ви використовуєте стандартні дистрибутиви (не налаштовані для використання будь-якого іншого порту), адміністратор нічого не заблокував, що не заважає виконувати цю команду.
Проблема може полягати в тому, що запити з вашої машини на поточні сервери, які використовуються для оновлень apt-get, стикаються з деякими проблемами (тобто це може бути лише проблема завантаження).
Щоб вирішити вашу проблему, мої пропозиції (як ви використовуєте ubuntu):

Відкрийте update-manager-> натисніть на налаштування внизу ліворуч -> натисніть на першу вкладку програмного забезпечення ubuntu -> натисніть спадне поле поруч із пунктом Завантажити з опції -> змініть сервер на місце, яке ближче до вашого місця розташування, вибравши інше в список. Перевірте також протокол, який використовується для оновлень. Це повинен бути http для загальних користувачів. -> Тепер запустіть sudo apt-get update або скористайтеся менеджером оновлень, щоб перевірити наявність оновлень. Тепер у вас все повинно працювати нормально. Якщо все не виходить навіть після цього, коментуйте тут.


Оскільки це не допоможе вам, схоже, це проблема застарілих або часткових файлів, зібраних під час спроби оновити деякий час назад.
Я б запропонував вам запустити ці команди в терміналі:

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

Ці команди будуть перейменовувати каталоги, в яких зберігаються файли при apt-getїх завантаженні під час оновлення та оновлення. (Ви можете перейменувати їх назад, якщо щось піде не так. Тому не ризикуйте погіршити ситуацію, ніж наявна)
Після цього запустіть:

sudo apt-get update 

Він завантажить щось на зразок 20 Мб даних.
Якщо вона працює успішно, ваша проблема вирішена.

Тепер ви повинні мати можливість запуску, sudo apt-get upgradeщоб встановити оновлення.
Якщо це не так, прокоментуйте тут назад.


Це не допомогло. Я поміняю сервер на іншу країну і перевіряю, чи був цей протокол "http", але у мене така ж проблема. Також я можу переглядати Інтернет (за винятком деяких сайтів, як youtube.com), і можу перейти на archive.ubuntu.com/ubuntu у своєму браузері, і це справно працює
ShockwaveNN

Я додав наступні кроки, які, на мою думку, повинні вам допомогти. Подивіться, чи працює.
drake01

Другий варіант також не працював. Я сильно думаю, що це якась проблема з підключенням, якісь способи діагностувати моє з'єднання за проблемами?
ShockwaveNN

Ви додали багато джерел програмного забезпечення, крім основних сховищ? Якщо у вас є кілька десятків Ppa, які вниз або занедбані або дуже повільні, це може зробити оновлення повільним. Він також повинен повідомляти про помилку кожного разу, коли він не може підключитися до одного.
Марк

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.