Як зменшити час очікування оновлень сховища


32

Роблячи aptitude update/ apt-get updateабо використовуючи Менеджер оновлень для оновлення, іноді я потрапляю на посилання на сховище, яке займає занадто довго. Відсотки не закінчуються, і проходить досить багато часу, перш ніж він ігнорує це.

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

введіть тут опис зображення

Він намагається підключитися до archive.ubuntu.com, але оскільки це займає занадто довго, він просто сидить там принаймні 3 - 5 хвилин (не вимірював час), а потім показує як ігнорований і переходить до наступного. Я хочу змінити це на секунди замість хвилин.


Спробуйте скористатися іншим дзеркалом. За замовчуванням вони з кожної причини часто не найшвидші. Наприклад, дзеркало Китаю за замовчуванням завжди могло б чекати 5-15 хвилин, щоб оновити свої сховища. Змінили його на швидший і зараз це займає близько 30 секунд.
adempewolff

1
@adempewolff Чи зможете ви / готові написати відповідь, що містить інформацію у цьому коментарі, а також показавши (включаючи як опис, так і зображення), як змінити дзеркало в джерелах програмного забезпечення?
Елія Каган

Відповіді:


38

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

Дзеркала - це один із варіантів, як пояснив @adempewolff. Дозвольте дати вам пряму відповідь:

Встановлення тайм-аутів підключення для підходу

Ви можете керувати цими тайм-аутами за допомогою наступних apt.confопцій:

  Придбати :: http :: таймаут "10";
  Придбати :: ftp :: таймаут "10";
  

Зауважте, що це стосується лише тайм-аутів підключення, а не таймаутів "закінчення часу", тобто якщо він підключиться протягом 10 секунд, він продовжить завантажувати пакет 100 МБ, навіть якщо він становить 1 КБ / секунду :)

Для реалізації цих параметрів просто створіть файл конф /etc/apt/apt.conf.d; припустимо, ми це називаємо 99timeout.

  • Натисніть Alt+F2, введітьgksudo gedit /etc/apt/apt.conf.d/99timeout
  • Введіть / вставте вищевказані рядки з вибором тайм-ауту в секундах
  • Збережіть і вийдіть.
  • Тепер спробуйте sudo apt-get update

І хак-термінальний наркоман "знайти найкращий сервер"!

Розширення та переміщення як відповідь на це більш відповідне питання


Додаткові параметри конфігурації apt-get, які можна спробувати налаштувати

  • Acquire::Queue-Mode: Режим черги; Режим черги може бути одним hostабо accessвизначає, як APT паралелізує вихідні з'єднання. hostозначає, що одне з'єднання на цільовому хості буде відкрито, accessозначає, що одне з'єднання на тип URI буде відкрито.

  • Acquire::Retries: Кількість повторних спроб. Якщо це не нульове значення, APT повторно намагатиметься відмовити файли задану кількість разів.

  • Acquire::http::Dl-Limit: приймає цілі значення в кілобайтах, щоб зменшити швидкість завантаження та не уповільнити перегляд / електронну пошту / тощо. при оновленні. Значення за замовчуванням дорівнює 0, яке деактивує ліміт і намагається використовувати якомога більше пропускної здатності. Якщо це ввімкнено, він вимкне функцію apt-getпаралельного завантаження.

  • Перекопайтеся, man apt.confякщо ви думаєте, що щось інше може допомогти!


1
Чи є спосіб реалізувати тайм-аут "часу закінчення"? Я знаю, що в моєму випадку (і я здогадуюсь у випадку з ОП, оскільки він згадує про відсоток, який приймає назавжди, маючи на увазі, що він вже підключений), це, як правило, не питання того, що час підключення закінчується, це просто проблема того, що з'єднання ретельно повільне ( як 1 кб / с повільно).
adempewolff

Я б хотів, щоб я міг дати вам +2 за цю другу частину; Мені було цікаво, як тестувати найшвидші сервери з терміналу протягом тривалого часу.
adempewolff

Спасибі @adempewolff, я насправді хочу написати / змінити щось на зразок netselect-aptUbuntu, щоб все було у виконаному файлі. Перегляньте питання про час закінчення, я не думаю, що на рівні підходящого конфлікту є спосіб. Але man apt.conf, і дивіться "Група придбання", зокрема режим черги та повторні спроби, які можуть бути корисними.
Останній

Я прийняв, але за "Найкращий хакер сервера" я дав вам +1 на цю іншу відповідь і на цю. Це дуже розумно.
Луїс Альварадо

5

Часто певні сховища завантажуються болісно повільно - лише симптом використання повільного дзеркала. Дзеркала за замовчуванням для багатьох регіонів не найшвидші (я знаю, це так у Китаї).

Зміна дзеркала реально легко зробити через GUI з джерелами програмного забезпечення, ви можете відкрити це вікно двома способами:

  1. Відкрити Ubuntu Software Centerі натисніть Software Sourcesв Editменю.

або

  1. Відкрийте термінал (або введіть alt-F2) і запустітьsoftware-properties-gtk

Коли з’явиться це вікно, ви помітите випадаюче меню, яке говорить Download From:про вибір дзеркала. Виберіть Otherпараметр у цьому меню.

програмні ресурси

У новому вікні, що з’явиться, натисніть Select Best Serverкнопку, і це перевірить і автоматично вибере найшвидший сервер для вашого місцезнаходження.

вибрати найкращий сервер

Сподіваюся, це допомагає!

Дивись також:


Гммм, я не можу отримати скріншот для захоплення спадного меню в дії. Не знаю, чи хочу я поставити запитання про це чи подати помилку ...
adempewolff

Ще одна можлива помилка, яку я можу подати, - це те, що software-properties-gtkпрограма, Software Sourcesяка
з'являлась

Гарна відповідь adempewolff. Першим кроком було б це. Якщо це не спрацює, тоді прийнята відповідь буде рішенням. +1 Дякую
Луїс Альварадо

2

apt-fast працює як apt-get , але паралельно завантажує оновлення та пакети репозиторію. Дивіться цей підручник, щоб дізнатися, як ним користуватися.

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