Есть ли менеджер пакетов, который во время установки / обновления уже начнет устанавливать первые извлеченные пакеты, пока другие пакеты еще загружаются?
Пример составленного сценария:
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
На самом деле, если вы выполняете обычную процедуру «установите мне несколько пакетов» с помощью portage, она выполняет все следующее:
Вычисляет зависимости пакета и всех зависимостей зависимостей для корень глиба;
Как только список зависимостей найден, он проверяет, какие пакеты еще не установлены;
Определяет правильный порядок их установки
Пока это почти соответствует всем менеджерам пакетов. Затем происходит нечто иное:
(это происходит в фоновом режиме, остальное происходит по порядку при загрузке пакетов)
В случае с Clementine требуется большое количество модулей gstreamer, которых у вас может не быть. Это также требует QT. Давайте представим, что у вас нет QT.
Модулям gstreamer не требуется qt; они будут загружаться до QT. Они намного меньше. Они будут компилироваться и, как часть процесса компиляции, полностью устанавливать себя, прежде чем qt даже загрузит, если у вас достаточно медленное соединение.
Пожалуйста, поймите, что это поведение весьма полезно, и в моем дистрибутиве Debian, Ubuntu, RPM или других дистрибутивах нет ничего похожего по моему опыту - что составляет около 15 лет среди 10 дистрибутивов и FreeBSD.
Таким образом, вопрос, на который пока нет окончательного ответа, таков: «Существует ли такой параллельный выбор / установка менеджера пакетов», и я думаю, что ответ «еще нет». или, возможно, «патчи приветствуются».
Мои 0,02 доллара с учетом инфляции и обмена валюты на вашу местную денежную единицу.
Краткий ответ: Нет.
Длинный ответ: почему?
APT очень эффективен в том, что он делает, и это хорошо. Это непродуктивная загрузка, распаковка и установка всех одновременно. Если процесс прерывается по какому-либо мотиву, apt не прекратил ни одно из своих действий. Или каждое из его действий занимает слишком много времени для завершения. Помните, что одним из преимуществ UNIX является модульность с самого начала. Если что-то не работает, вы можете определить и исправить это.
Давайте приведем этот пример:
(это то, как вы планируете)
Во время загрузки Chrome на диске не осталось места, но подождите, libwebkit устанавливается на тоже в тот же момент, тогда оба терпят неудачу, ничего не делая.
(Вот что происходит)
Окей, у меня больше нет свободного места, эй человек освободил здесь немного места, или я не могу ничего скачать. * освободить место * Окей, у меня есть свободное место для загрузки, но у меня нет свободного места для установки, посмотрите, что удалить из файловой системы. * удаляет вещи * Смотри, установка завершена.
Как вы можете видеть на простом примере, последний использует линейный процесс для выполнения своей работы. Кажется, это занимает больше времени, но при этом более безопасно и легко решает любую проблему, которая может произойти.