Начните установку пакетов, а затем загрузите обновление

Есть ли менеджер пакетов, который во время установки / обновления уже начнет устанавливать первые извлеченные пакеты, пока другие пакеты еще загружаются?

Пример составленного сценария:

Chromium зависит от libwebkit.

Обычно, когда пользователь запускает apt-get install chromium, apt извлекает библиотеку libwebkit.deb небольшого размера, а затем все еще ждет выборки chromium.deb. Это просто пустая трата времени, особенно во время больших системных обновлений.

Вместо этого этот сценарий гораздо более разумен:

apt-get install

Apt-get загружает libwebkit.deb и, как только libwebkit.deb загружается, он приступает к его установке, не дожидаясь chromium.deb для полного извлечения, chromium.deb одновременно для извлечения в фоновом режиме. Как только chromium.deb завершит загрузку, apt-get может немедленно приступить к его установке, не дожидаясь установки libwebkit, так как libwebkit уже был установлен во время загрузки chromium.deb

-1
задан 26 December 2013 в 23:22

2 ответа

На самом деле, если вы выполняете обычную процедуру «установите мне несколько пакетов» с помощью portage, она выполняет все следующее:

  • Вычисляет зависимости пакета и всех зависимостей зависимостей для корень глиба;

  • Как только список зависимостей найден, он проверяет, какие пакеты еще не установлены;

  • Определяет правильный порядок их установки

Пока это почти соответствует всем менеджерам пакетов. Затем происходит нечто иное:

  • При наличии достаточного свободного места (да, инструмент хранит размер исходного пакета), затем он начинает загрузку каждого исходного пакета в порядке установки.

(это происходит в фоновом режиме, остальное происходит по порядку при загрузке пакетов)

  • Если ваша ссылка достаточно медленная, когда исходный пакет объемом 100 МБ занимает 20 минут , хотя предыдущий файл готов, Portage немедленно начнет настройку и сборку предыдущего файла, если для него не требуется никаких дополнительных зависимостей.

В случае с Clementine требуется большое количество модулей gstreamer, которых у вас может не быть. Это также требует QT. Давайте представим, что у вас нет QT.

Модулям gstreamer не требуется qt; они будут загружаться до QT. Они намного меньше. Они будут компилироваться и, как часть процесса компиляции, полностью устанавливать себя, прежде чем qt даже загрузит, если у вас достаточно медленное соединение.

Пожалуйста, поймите, что это поведение весьма полезно, и в моем дистрибутиве Debian, Ubuntu, RPM или других дистрибутивах нет ничего похожего по моему опыту - что составляет около 15 лет среди 10 дистрибутивов и FreeBSD.

Таким образом, вопрос, на который пока нет окончательного ответа, таков: «Существует ли такой параллельный выбор / установка менеджера пакетов», и я думаю, что ответ «еще нет». или, возможно, «патчи приветствуются».

Мои 0,02 доллара с учетом инфляции и обмена валюты на вашу местную денежную единицу.

0
ответ дан 26 December 2013 в 23:22

Краткий ответ: Нет.

Длинный ответ: почему?

APT очень эффективен в том, что он делает, и это хорошо. Это непродуктивная загрузка, распаковка и установка всех одновременно. Если процесс прерывается по какому-либо мотиву, apt не прекратил ни одно из своих действий. Или каждое из его действий занимает слишком много времени для завершения. Помните, что одним из преимуществ UNIX является модульность с самого начала. Если что-то не работает, вы можете определить и исправить это.

Давайте приведем этот пример:

(это то, как вы планируете)

Во время загрузки Chrome на диске не осталось места, но подождите, libwebkit устанавливается на тоже в тот же момент, тогда оба терпят неудачу, ничего не делая.


(Вот что происходит)

Окей, у меня больше нет свободного места, эй человек освободил здесь немного места, или я не могу ничего скачать. * освободить место * Окей, у меня есть свободное место для загрузки, но у меня нет свободного места для установки, посмотрите, что удалить из файловой системы. * удаляет вещи * Смотри, установка завершена.

Как вы можете видеть на простом примере, последний использует линейный процесс для выполнения своей работы. Кажется, это занимает больше времени, но при этом более безопасно и легко решает любую проблему, которая может произойти.

0
ответ дан 26 December 2013 в 23:22

Другие вопросы по тегам:

Похожие вопросы: