Разработчики дистрибутива openSUSE реализовали в пакетном менеджере Zypper возможность распараллеливания загрузки пакетов и метаданных. Дополнительно предложен новый бэкенд, более оптимально повторно использующий уже установленные соединения и повышающий эффективность обработки метаданных. При обновления 250 пакетов, суммарным размером 100 МБ, время загрузки после включения нового бэкенда и параллельного режима сократилось с 68.7 секунд до 13.1 секунд, а при обновлении 407 пакетов размером 1 ГБ - с 281.1 cекунды до 119.6 секунд...Подробнее: https://www.opennet.me/opennews/art.shtml?num=62978
Nextgen по корпорастски!
А то! Когда при качании в терминале у них проблемы и обрывается связь вот как полезно иметь много потоков чтобы сразу все они глючили и прерывали работу!
Паралельность хорошо. Если она не ломает работу на медленных и нестабильных соединениях. Как там с этим?
> Паралельность хорошо. Если она не ломает работу на медленных и нестабильных соединениях.
> Как там с этим?Не пользоваться медленными и нестабильными соединениями?)
Или использовать другой пакетник.В самом крайнем случае попросить разработчиков сделать эту фичу опциональной... а погоди-ка "Для включения параллельной загрузки и нового бэкенда можно использовать переменные окружения"
Они это уже сделали!
Так к чему тогда нытье?
100500 переменных, неужели нельзя сделать автоматическое переключение при низкой скорости скачивания или превышении 3 обрывов при загрузки пакетов? linux продолжает тонуть в переменных и файлах настройки.
> неужели нельзя сделатьнет, нельзя
потому что сделаешь что-то автоматическое, и прибежит в комменты такой же, как и ты, и начнет ныть, что "у меня непонятна вообще работает эта автоматическая штука плохо тупо, неужели нельзя было сделать так, чтобы можно было явно указать?"
сделали с явным указанием, потому что смогли/захотели/у разраба пригорело/тысяча причин
не сделали как хочешь ты, потому то ты (да-да, конкретно ты) не пошел и не сделал
Для такого делают Enable, Disable и Auto.
Ещё делают Вкл/Выкл/Авто.
Максимум на 1С
Локализацию сделаешь
> linux продолжает тонуть в переменныхСамое очевидное - увидеть флажок параллельной загрузки в окне самой загрузки. Но нет, мы его спрячем где-то в текст-портянках непонятного синтаксиса.
> Самое очевидное - увидеть флажок параллельной загрузки в окне самой загрузки.В каком окошке загрузки?
"Zypper is a command line package manager"
> флажок параллельной загрузки в окне самой загрузкиЛовите вантузятника!
> 100500 переменных, неужели нельзя сделать автоматическое переключение при низкой скорости скачивания или превышении 3 обрывов при загрузки пакетов?Да вот думаю такое было еще во времена Windows 95, на Netscape.
>linux продолжает тонуть в переменных и файлах настройкиХотели бы бинарный реестр, один на всё? Поттеринг услышит вас.
Да, с API для CRUD и контролем доступа. Но понимаю, что этого не будет, так как это шаг от дистрибутива к операционной системе, а такое позволять нельзя.
> неужели нельзя сделать автоматическое переключение при низкой скорости скачивания или превышении 3 обрывов при загрузки пакетов?Придумаешь непротиворечивый алгоритм — сразу шли патч разработчикам.
> на медленных и нестабильных соединенияхДля таких примитивных задач у ядра «мозгов» хватит разобраться и с нестабильностью, и с низкой скоростью, если только там не x25 по HF радиолинку или ещё какая-то подобная хтонь. Но вообще, если это регулярно возникающая проблема, то скачивайте на быстром и стабильном и носите на флешках. Я на одном проекте решал подобную задачу, только там ещё в условии был «немотивированный исполнитель, возможно с низким интеллектом» (перевод мой). «Немотивированному исполнителю» выдавалось два цинка — №1 и №2 — с инструкцией выключить сервер, вынуть левый верхний диск и положить его в цинк №1. Из цинка №2 взять любой диск, всунуть на место вынутого, включить сервер. Оба цинка потом привозились в центральную локацию, где другой немотивированный нашпиговывал ими полку, скрипт накатывал апдейты, всё это потом перемещалось в цинк №1 и цикл повторялся. Немотивированные запороли только один раз, когда уронили оба цинка и рассыпали все диски. Пришлось покрасить морды корзинам для дисков в два цвета и класть в цинки цветные картонки.
Если у тебя медленное и нестабильное соединение, то какая разница один синхронный поток идёт или три параллельно?
> Если у тебя медленное и нестабильное соединение, то какая разница один синхронный
> поток идёт или три параллельно?Разница в том, что поделеный на 3 этот поток становится ещё медленнее и нестабильней, а значит шансы разрыва повысятся в дофига раз.
Это замечательно! Но продолжу холить и лелеять свой pacman.
Уже года 2 как в пакмане есть параллельная загрузка, с подключением!
Целые 2 года. Но я просто напомню, рачик окончательно издох 15 лет назад (туда и дорога, впрочем). Так что скажи спасибо, что вообще сделали.
"время загрузки". А время установки потом всего этого - конечно же скромно показывать не будем, а то пипл может неправильно понять.
Пипл даже 2 часа установки в Розалинукс хавал и просил добавки.
Ждал джвенадцать лет, сколько использовал openSUSE. Только вот уже с него свалить успел в прошлом году (очевидно, вовсе не из-за однопоточной загрузки пакетов). Но всё равно приятно, что добавили!
и куда спрыгнул? и почему?
На windows 11, потому что нужна стабильная работа ос.
Да, недавно вон печать починили, чтобы принтеры служебную IPP информацию не распечатывали. Отличная ось, стабильная как лист на ветру.
А в твоем Линуксе печать вообще не работает, ибо нет драйверов.
Да линукс вообще не работает, это миф.
тех "драйверов" по 300 Мб, которые нужно выкачивать с сайта производителя твоего стационарного ПК и устанавливать мышкой, - да, нет. но как-то всё без них работает. и даже обновляться во время печати не нужно
> А в твоем Линуксе печать вообще не работает, ибо нет драйверов.я смог найти даже GDI драйвер, старый уже, но работает принтер
ну да пришлось скачать и подсунуть в CUPS руками, пришлось гуглить под конкретный принтер, но сработало и пашет отлично
> служебную IPP информацию не распечатывалиКакую такую служебную информацию?
Например знаю что в 2003 принтеры домашние не печатали деньги, ибо распозновали.
Это только сейчас появилось?
пфф, еще как печатали
> На windows 11, потому что нужна стабильная работа ос.Но ведь говорят Windows, плохая.
А Linux, весь такой стабильный.
Прослеживается тренд. Вот и думайте, господа, туда или не туда линукс свернул. Я сам хоть и олд, но тоже чаще стал задумываться о переходе на винду.Если в нулевых линукс подавал большие надежды, сейчас это вообще не так. Тогда можно было смириться со многим, потому что над несовершенсвом системы преобладал дух свободы и новизны. Сейчас хотя технически стало лучше, весь этот цирк с конями не стоит всей этой "свободы". Да и о какой свободе можно говорить, если корпорасты в ядре прописалить, в ядро пихают языки с сомнительной социальной репутацией, из ядра же выкидывают неугодных разработчиков. Давайте просто признаем, что линукс скатмлся.
> преобладал дух свободы и новизныВообщем когда их не спонсировали, они делали для людей.
> Вообщем когда их не спонсировали, они делали для людей.Это в самом начале девяностых, до 1993 года что ли? Так линукс в те годы почти ни на каком оборудовании не работал, и в целом мало что умел. Пакетных менеджеров и уж тем более с загрузкой по сети не было вообще никаких. В 1993 RedHat что-то начал для людей делать только.
Переходи, там сейчас повершелл с командами из линукса, и winget install - весь софт там.
Это не Линукс не туда свернул, это ты повзрослел и начинаешь понимать, что единственная абсолютная ценность в этой жизни — время. Всё остальное можно купить за деньги.
>единственная абсолютная ценность в этой жизни — времяНет конечно. Всё время мира не спасёт тебя, если ты некомпетентен и ничего не умеешь.
Поэтому ценностей как минимум две: время и скилл.
> Я сам хоть и олд, но тоже чаще стал задумываться о переходе на винду.Добро пожаловать во взрослую жизнь) Ты начал ценить свое время и не можешь позволить "прдолить неделю генту, чтобы... просто потому что было скучно".
> Если в нулевых линукс подавал большие надежды, сейчас это вообще не так.
В начале нулевых это было убогое поделие, для которого приходилось подбирать железо.
Я помню как искать по форумам "установится ли линукс на это ноутбук?.. нет, а на этот?"> Тогда можно было смириться со многим, потому что над несовершенсвом системы преобладал дух свободы и новизны.
Это просто ты был молодым с горящими глазами)
> ... весь этот цирк с конями не стоит всей этой "свободы". Да и о какой свободе можно говорить, если корпорасты в ядре прописалить, в ядро пихают языки с сомнительной социальной репутацией, из ядра же выкидывают неугодных разработчиков.
Давай смотреть правде в глаза, корпорамты не прописывались в ядре, они и есть разработчики ядра. В последних релизах это почти 90% написанного кода.
Просто Сообщество обленилось и перестало само писать код.
А кто код пишет - тот и решает.> Давайте просто признаем, что линукс скатмлся.
Или ты просто постарел) Иллюзии "свободы-равенства-братства" развеялись.
Осталось горькое разочарование.
Оказалось что большая часть заботится "о своей рубашке", им важна семья и их благосостояние.
> почему?В прошлом году openSUSE меня разочаровала внезапными проблемами. Внезапными, потому что много лет спокойно пользовался без таких сюрпризов, и тут прорвало в разных местах сразу, причём и Leap, и Tumbleweed.
– На Tumbleweed система оказалась сломана при обновлении с переходом на KDE Plasma 6 (если правильно помню, это было весной – можете поправить если ошибаюсь, а я могу ошибаться). Система оказалась в нерабочем состоянии. Честно признаюсь, что мне было просто лень пытаться понять что там сломалось, и в итоге поставил с нуля Leap на это устройство (откатиться конечно можно было, но это же rolling-release, мне бы пришлось обновляться когда я захотел бы установить/обновить какой-нибудь пакет зависящий, скажем, от библиотек KDE). Таким образом отказался от Tumbleweed на одном из компов.
– Но уже (кажется) летом возникла новая напасть. Там уже целый детектив распутал. Могу откопать ссылки, если будет интересно. Суть в следующем: в одной из обнов прилетела новая версия dracut. Проблема крылась в нём, но это "чеховское ружьё" выстрелило позднее. А именно когда позже прилетела обнова ядра, то запустился тот самый dracut с регрессией, из-за чего он производил нежизнеспособный initrd. И система не грузилась. Да, я мог загрузиться в предыдущие состояние системы (спасибо snapper'у и BTRFS, это замечательная фишка openSUSE), зафиксировал в YaST версии dracut и ядра… Но это же морока на ровном месте. А регрессия dracut заключалась в том, что при определённом стечении обстоятельств, а именно особенностей разметки диска, при загрузке не мог расшифроваться раздел с LUKS. Мог напутать детали, но думаю что общий смысл я передал. Опять же, если будет интерес, то могу попробовать откопать ссылки с баг-репортами, насколько помню, я находил информацию именно про этот баг.
– Ну и в конце концов произошла классика – осенью очередное обновление снова привело к нерабочей системе, на этот раз из-за драйверов nvidia. Опять же, откатился, зафиксировал версии… Но…Вот в этот момент уже надоело. Ладно бы какая-то одна проблема. А тут за год сразу три раза поймал нерабочую систему после обновления. Извините, но «раньше было лучше», как говориться. Такого безобразия не было. Да, тут вина вероятно не в самом дистрибутиве (баг в самом dracut; баг драйвере nvidia, скорее всего, тоже был именно багом самого драйвера; переезд же на новую KDE Plasma звучит как что-то такое, что может пройти не очень гладко), понимаю что вроде бы и не точно бы именно в дистрибутиве дело… И понимаю, что есть же в нём средства, которые как-то помогают в подобных ситуациях – YaST, snapper. Загрузился в предыдущий снапшот, и всё работает. Да, работает. До следующего обновления…
> и куда спрыгнул?
Знаете, как-то вот хотелось без подобных приключений (спойлер — в итоге одни приключения сменились на другие приключения). Уже не буду вдаваться в подробности, почему не стал рассматривать тот или иной дистрибутив. И в поисках чего-то предсказуемого и явно декларируемого я наткнулся на NixOS. Полгода сижу на ней. И сразу скажу – вряд ли могу кому-то это рекомендовать. Но меня заинтересовало. Моё мнение примерно такое – идея прям хорошая, но реализация (лично для меня) такая себе, слишком запутанная что-ли (есть какое-то ощущение, будто бы можно было достичь того же, но меньше ломая мозг). Тут я тоже могу загрузиться в предыдущие поколения системы, могу развернуть максимально одинаковое окружение на более чем одном компьютере (для меня это важный плюс), и всё это декларативно. Меня зацепило после многих лет более "классических" дистрибутивов. Но надеюсь, что в будущем это всё станет куда менее нapкoманcк^W странным (уж простите). Пока плюсы для меня перевешивают что минусы (и таки серьёзные минусы, хочу сказать! но это уже другая история).
А я примерно из-за этого переехал на рач в 18 году.
До сих пор живёт эта установка, хотя уже сменила 2 SSD с корнем и хомяком - тупой клонзиллой с правкой fstab
>> А я примерно из-за этого переехал на рач в 18 году.До сих пор живёт эта установка, хотя уже сменила 2 SSD с корнем и хомяком - тупой клонзиллой с правкой fstab
Ну это уровень школьника пользоваться целой утилитой программой для такой ерунды которую можно сделать с помощью gparted с той же правкой fstab.
Это уровень школьника, использовать gparted вместо dd и редактирования fstab
Ребят, вы тут совсем казуалы. Клонировать диски надо при помощи мотыльков предков и только потом уже редактировать fstab
Я обошелся dd-хой. Без правки fstab. Это для корня.
Хомяк на новый накопитель переезжал rsync-ом.
Ну, а я как раз тестировал клонзиллу.
И оно просто работает
ХР без антивирусов очевидно надежнее.
Аноним любитель теребонькать энтер когда есть и будут обновления?Сам на TW, и я не теребонькал энтер чтоб побыстрее посмотреть на новые кеды, а подождал и обновился без всяких проблем как и с другими обновами,
пониимаю, были проблемы с нвидия и LibreOffice, ну так это ошибки в самих пакетах, подождал неделю, и они выкатили новые, а я пока добавил невидию в locks, а либру в флэтпакачерез неделю вернул все обратно, rollback там делается максимально быстро и просто
у меня всего два subvolume на всю систему с хомяком и на мои личные данные, я в хомяке ничего не храню кроме конфигов, все остальное на отдельном сабволуме, он не трекается snapperом поэтому я восстанавливаю полный срез системы, 1 перезагрузка и ты в старой версии
косяки имеются, но TW мне сильно больше нравится чем Fedora
Есть и такой параметр:
/etc/zypp/zypp.confdownload.max_concurrent_connections = 5
Default: 5----------
openSUSE Leap 15.6https://news.opensuse.org/2025/03/27/zypper-adds-experimenta.../
А чего тут реализовывать-то?Это же
declare -A pid_list
for url in "${my_url_lis5[@]} ; do
wget "$url" &
pid_list["url"]=$!
doneНу, и второй цикл, чтобы всех джобов дождаться.
где ж ты раньше был, столько лет мучились качая в один поток!
Ну а что ты хотел? Вон, бедолаги из Blue Hat уже 15 лет как не могут доделать несчастный рисовальщик окошек. Это особый путь всех окололинуксоидных корпов - казаться, а не быть.
Последние 15 лет в мире линукса перерисовывали иконки и красили окна в тёмный цвет. Другими делами некогда заниматься было. Ах, да, ещё формат архивов меняли.
Так и он - в один поток качает :)
wget не умеет переиспользовать открытое подключение другого wget-a ...
То что он своим скриптом показать пытался - все пакетники и так делают.
Нет, большинство пакетников ТАКОЙ фигни не делают - 400 вгетов не запускают.
Кстати, wget умеет в reuse существующего соединения, что наш баш-манкикодер тоже ниасилил.
Зачем переиспользовать открытое подключение другого wget'a?Это какая-то экономия на мышах, да и сервер должен поддерживать, что редкость.
> где ж ты раньше был, столько лет мучились качая в один поток!aria2c
И третий - чтоб разобраться с теми что завершились неудачно (впрочем, проверять ошибки не для нынешних баш-писателей)А теперь самая мякотка - в образчике 407 пакетов, поэтому твоя поделка запустит 407 вгетов.
В общем, типичный разработчик пожаловал в чат.
Это же демка, сниппет.Добавить лимит на количество одновременных скачиваний очень легко.
Так надо не ограничить количество сверху, а задать (то есть что бы качалось не меньше требуемого, пока возможно).
и обработку ошибок очень легко
И еще дофига всего, что всплывет походу, очень легко, и вот тут и наступает понимание что "это всего лишь..." дальше борода башевого лапшекода на десяток экранов мелким шрифтиком. Впрочем, на си тоже не так мало.Ну вот поэтому в zypper никто такой фигней маяться и не стал, пока проект не сдох окончательно и не превратился в имитацию бурной деятельности за остатки хороших в прошлом зарплат.
Все равно основная потеря времени при zypper up - это установка скачанных rpm'ов, а она не может быть одновременной в принципе.
> сократилось с ... секунд до ...Это всё хорошо, но в тесте был 1 (один) пользователь. Что станет с сервером, когда на него тысячи таких юзеров пойдут во время очередного обновления, и каждый в несколько потоков?
У вас на сервере 1000 пользователей имеют root права?
Тем более zypper можно запустить только 1 экземпляр, второй не даст.
Нет, у нас тысячи машин теперь будут в 10 000 потоков качать с нашего зеркала.
У вас на сервере 1000 пользователей имеют root права?
Тем более zypper можно запустить только 1 экземпляр, второй не даст.
Парни, это взлетит на моём 3-мегабитном канале?
В openSUSE Можно установить dnf5, у которого уже давно есть параллельная загрузка.
> В openSUSE Можно установить dnf5, у которого уже давно есть параллельная загрузка.плохая идея, проходили, лучше юзать родной zypper хоть мне dnf привычнее
А конкретнее, что плохого?