LMDE4: Ошибки при обновлении
-
- Сообщения: 1278
- Зарегистрирован: 24 фев 2020, 19:13
- Решено: 14
- Откуда: Алчевск
- Благодарил (а): 892 раза
- Поблагодарили: 467 раз
- Контактная информация:
LMDE4: Ошибки при обновлении
Greey, Любое зеркало где бы не находилось, имеет одинаковые пакеты, странно что Вы это не понимаете, разница в обновлении между зеркалами может быть, но пакеты всегда одни и те же и соответствую контрольной сумме исходных пакетов, если бы это было не так было бы смешно.
-
- Сообщения: 10015
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 215
- Откуда: НН
- Благодарил (а): 815 раз
- Поблагодарили: 3008 раз
- Контактная информация:
LMDE4: Ошибки при обновлении
На первом скрине указаны репозитории https://deb.debian.org/ которые самые что ни на есть официальные, плюс эта запись смотрит на cdn
Т.е. при обращении на https://deb.debian.org/ днс srv записью прокидывают на сервисы fastly/cloudfront у которых геораспределенное хранилище группы серверов в разных местах на глобусе чтоб при обращении отдать ближайший к клиенту не гоняя трафик через полмира.
В теории некоторое отставание от эталонного контента при синхронизации возможно, но на практике это обычно крайне нечастая ситуация сопряженная с какими нибудь глобальными проблемами.
Здесь же фактически сами репы и не причем, просто апт в лмде споткнулся на смене ветки buster'a на oldstable и ходил по своим старым спискам пакетов которые в репо уже были заменены свежими версиями и ожидаемо поймал 404.
Затем же при смене зеркала выкачались уже актуальные записи.
Т.е. при обращении на https://deb.debian.org/ днс srv записью прокидывают на сервисы fastly/cloudfront у которых геораспределенное хранилище группы серверов в разных местах на глобусе чтоб при обращении отдать ближайший к клиенту не гоняя трафик через полмира.
В теории некоторое отставание от эталонного контента при синхронизации возможно, но на практике это обычно крайне нечастая ситуация сопряженная с какими нибудь глобальными проблемами.
Здесь же фактически сами репы и не причем, просто апт в лмде споткнулся на смене ветки buster'a на oldstable и ходил по своим старым спискам пакетов которые в репо уже были заменены свежими версиями и ожидаемо поймал 404.
Затем же при смене зеркала выкачались уже актуальные записи.
-
- Сообщения: 34
- Зарегистрирован: 13 окт 2017, 11:21
- Решено: 1
- Благодарил (а): 9 раз
- Контактная информация:
-
- Сообщения: 1278
- Зарегистрирован: 24 фев 2020, 19:13
- Решено: 14
- Откуда: Алчевск
- Благодарил (а): 892 раза
- Поблагодарили: 467 раз
- Контактная информация:
LMDE4: Ошибки при обновлении
Разница в версии пакетов может быть между ветками (stabel, testing,unstable), как пример Gentoo, Manjaro. В рамках одной из веток, дублирующие её зеркала всегда имеют одинаковые пакеты и это константа, просто имеет некоторую задержку по времени при обновлении.
-
- Сообщения: 147
- Зарегистрирован: 15 июл 2020, 16:12
- Решено: 1
- Откуда: Russia
- Благодарил (а): 16 раз
- Поблагодарили: 7 раз
LMDE4: Ошибки при обновлении
Хотите сказать, что контрольная сумма при этом останется той же? Тогда кому верить, вам или руководству по сборке пакетов, которое гласит, что: "... при удалении или измении хотя бы одного символа из любого файла внутри пакета, контрольная сумма будет иметь новое значение." Как понимаю, это касается и случая изменения его версии, которая включена в файл с метаданными.
-
- Сообщения: 10015
- Зарегистрирован: 27 июн 2017, 13:36
- Решено: 128
- Откуда: Нижний Тагил
- Благодарил (а): 776 раз
- Поблагодарили: 1950 раз
- Контактная информация:
LMDE4: Ошибки при обновлении
Естественно меняется.
Меняется все в совокупности.
Фишка в том что если пакет пересобирается по какой бы то ни было причине у него меняют версию, чтоб пакетный менеджер понял что необходимо обновить пакет. А то что у него поменяется контрольная сумма - это и ежу понятно
-
- Сообщения: 4469
- Зарегистрирован: 21 июн 2017, 18:09
- Решено: 95
- Благодарил (а): 51 раз
- Поблагодарили: 1965 раз
- Контактная информация:
LMDE4: Ошибки при обновлении
Уточняеем:
1. Версия пакета - это данные в его "ксиве" (метаданных). Поменялось - менеджер считает что это другой пакет (новее/старее).
2. Контрольная сумма - это "морда лица" в паспорте. Если не совпадает - "это вообще не ваш паспорт, идите нахрен отсюда".
Разница в том, что по контрольной сумме можно лишь понять, что пакет был изменен/искажен. Но никак не его версию и содержимое - и соответственно необходимость установки обновления.
1. Версия пакета - это данные в его "ксиве" (метаданных). Поменялось - менеджер считает что это другой пакет (новее/старее).
2. Контрольная сумма - это "морда лица" в паспорте. Если не совпадает - "это вообще не ваш паспорт, идите нахрен отсюда".
Разница в том, что по контрольной сумме можно лишь понять, что пакет был изменен/искажен. Но никак не его версию и содержимое - и соответственно необходимость установки обновления.
-
- Сообщения: 10015
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 215
- Откуда: НН
- Благодарил (а): 815 раз
- Поблагодарили: 3008 раз
- Контактная информация:
LMDE4: Ошибки при обновлении
Все так. Если по порядку со стороны клиента, то при вызове
По путям веб-репозоториев перечисленных в источниках обновлений берутся файлы
Получаенный с сервера InRelease сравнивается с имеющимся в
Если полученный файл отличается, то апт понимает, что надо узначть что именно там нового, и заглядывая внутрь выкачивает изменившиеся чексуммами файлы
А вот уже по актуальному списку пакетов, он может сверить, что у тебя в системе из данного репозитория попадает под обновление исходя из версий в
Дальше апт может качать дебку и раскатывать ее на систему.
Со стороны же ментейнера репо происходит следующим образом в случае публикации обновления деб-пакета.
если у нас появился новый пакет, который мы публикуем в репозитории
Мы укладываем его в необходимую ветку директорий, где он должен находиться, как правило он лежит рядом с обновляемой версией и возможно еще несколькими предыдущими, т.к. нейминг позволяет им сосуществовать рядом без конфликтов. Исключения - если какая-то лютая регрессия до неработоспособности, ну или критическая проблема безопасности что прежний пакет отзывается полностью.
когда пакет на месте - необходимо обновить файл
Редко когда это точечно вносится руками, чаще пересчитывается скриптами и утилитами
Когда сформированы новые данные в
По итогу этих действий новый файл списков попадет к клиенту в апт и начнется тот процесс что в первом абзаце)
apt update
:По путям веб-репозоториев перечисленных в источниках обновлений берутся файлы
InRelease
. в которых указан ключ подписи репозитория и список контрольных сумм его содержимого. Не самих пакетов, а именно служебных компонентов из которых формируется апт-репозиторий. Получаенный с сервера InRelease сравнивается с имеющимся в
/var/lib/apt/lists
, если они идентичны - то менеджеру пакетов делать нечего, со спокойной душой пропускает репозиторий. Если полученный файл отличается, то апт понимает, что надо узначть что именно там нового, и заглядывая внутрь выкачивает изменившиеся чексуммами файлы
Packages
/Source
/Translation
и т.п. по мере их различий с кэшированными данными.А вот уже по актуальному списку пакетов, он может сверить, что у тебя в системе из данного репозитория попадает под обновление исходя из версий в
dpkg
, и чексуммы пакета здесь уже играют роль дополнительной гарантии что пакет валидный и не скомпрометирован, т.к. его хеш указан доверенным владельцем репозитория.Дальше апт может качать дебку и раскатывать ее на систему.
Со стороны же ментейнера репо происходит следующим образом в случае публикации обновления деб-пакета.
если у нас появился новый пакет, который мы публикуем в репозитории
Мы укладываем его в необходимую ветку директорий, где он должен находиться, как правило он лежит рядом с обновляемой версией и возможно еще несколькими предыдущими, т.к. нейминг позволяет им сосуществовать рядом без конфликтов. Исключения - если какая-то лютая регрессия до неработоспособности, ну или критическая проблема безопасности что прежний пакет отзывается полностью.
когда пакет на месте - необходимо обновить файл
packages
чтоб добавить в него данные о текущей актуальной версии пакета, его текущие хеши и путь к непосредственно файлу откуда его будут качать клиенты.Редко когда это точечно вносится руками, чаще пересчитывается скриптами и утилитами
apt-repo
по всей ветке к которой относится модификация содержимого.Когда сформированы новые данные в
packages
он перестает соответствовать указаным в InRelease
, вследствие чего пересобирается и этот файл. По итогу этих действий новый файл списков попадет к клиенту в апт и начнется тот процесс что в первом абзаце)
-
- Сообщения: 147
- Зарегистрирован: 15 июл 2020, 16:12
- Решено: 1
- Откуда: Russia
- Благодарил (а): 16 раз
- Поблагодарили: 7 раз
LMDE4: Ошибки при обновлении
Какой-то пустой разговор получается. Я вам про Фому, вы мне про Ерёму. Конечно, весь этот трёп, как говориться, вообщем-то выеденного яйца не стоит, но факт остаётся фактом - принято сейчас валить всё в общую кучу. Смешивают и котлеты, и мух, получают эдакий винигрет, а потом не могут понять, куда подевалась главная мысль разговора. Ежу же было понятно, что мои сообщения касаются только контрольной суммы и ничего более. Про версии пакетов. Не только южик, но и дошкольник знает, что они для того и изменяются, чтобы можно было по этим циферкам их быстро отличать.rogoznik писал(а): ↑06 дек 2021, 18:03Естественно меняется. Меняется все в совокупности.
Фишка в том что если пакет пересобирается по какой бы то ни было причине у него меняют версию, чтоб пакетный менеджер понял что необходимо обновить пакет. А то что у него поменяется контрольная сумма - это и ежу понятно
LMDE4: Ошибки при обновлении
Можно спросить? У меня (LMDE 4) указаны всего два репозитория: основной (debbie) packages.linuxmint.com и базовый (buster) deb.debian.org/debian , а в /var/lib/apt/lists целый список, около 80-ти: провторяющиеся для upstream; import; backport; non-free; main; contrib .
Когда запускаю Менеджер программ он просит подождать, создавая кэш, запускается, а потом происходит странное - начинается скачивание, как понимаю, просмотр и сравнивание с имеющимися данными в репозиториях, как было описано у вас. Но беда в том, что на это расходуется по 200-300 мб трафика. И это без установки каких-либо обновлений. Особенно много уходит (по 35 мб на каждый) на просмотр Contents-i386 и Contents-amd64, который повторяется по 6 раз для каждой ветки. Можно хоть как-то минимизировать потери трафика за счёт совмещения или просто удалить соответствующие записи из lists ?
Сам же менеджер программ работает из рук вон плохо. Через него установку программы можно ждать по полчаса, в то время как через Synaptic эта же программа устанавливается буквально за минуту. Может, менеджер программ, перенесённый из Ubuntu плохо адаптирован для Debian?
-
- Сообщения: 10015
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 215
- Откуда: НН
- Благодарил (а): 815 раз
- Поблагодарили: 3008 раз
- Контактная информация:
LMDE4: Ошибки при обновлении
Иван123, чем высчитал такие расходы трафика?
он не должен перекачивать все списки каждый раз, только к измененным с прошлого раза. Например:
Тут статусы
Если прогнать апдейт повторно, то все будут
он не должен перекачивать все списки каждый раз, только к измененным с прошлого раза. Например:
Код: Выделить всё
▶ sudo apt update
Сущ:1 http://mirror.corbina.net/debian bullseye InRelease
Пол:2 http://mirror.corbina.net/debian bullseye-updates InRelease [39,4 kB]
Сущ:3 https://repo.steampowered.com/steam stable InRelease
Пол:4 http://dl.google.com/linux/chrome/deb stable InRelease [1 811 B]
Пол:5 http://security.debian.org/debian-security bullseye-security InRelease [44,1 kB]
Пол:6 https://dl.winehq.org/wine-builds/debian bullseye InRelease [8 045 B]
Пол:7 https://repo.skype.com/deb stable InRelease [4 501 B]
Пол:8 http://dl.google.com/linux/chrome/deb stable/main amd64 Packages [1 090 B]
Пол:9 http://security.debian.org/debian-security bullseye-security/main amd64 Packages [99,5 kB]
Пол:10 https://dl.winehq.org/wine-builds/debian bullseye/main amd64 Packages [468 kB]
Пол:11 http://security.debian.org/debian-security bullseye-security/main i386 Packages [99,5 kB]
Пол:13 http://security.debian.org/debian-security bullseye-security/main Translation-en [62,2 kB]
Пол:14 https://repo.skype.com/deb stable/main amd64 Packages [2 256 B]
Пол:15 https://dl.winehq.org/wine-builds/debian bullseye/main i386 Packages [477 kB]
Пол:12 https://packagecloud.io/slacktechnologies/slack/debian jessie InRelease [24,7 kB]
Пол:16 https://packagecloud.io/slacktechnologies/slack/debian jessie/main amd64 Packages [15,4 kB]
Получено 1 347 kB за 4с (359 kB/s)
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Может быть обновлён 21 пакет. Запустите «apt list --upgradable» для показа.
Пол
- Получено, то что скачал, Сущ
- уже существующие, не требующие обновления. Суммарно притащил 1,3Мб из сети. Если прогнать апдейт повторно, то все будут
Сущ
и качать ничего не станет.LMDE4: Ошибки при обновлении
Так и увидел, по размеру пакета. Напротив каждого i386 (35 mb) и amd64 (35 mb) так было плюс визуальный контроль расхода трафика по Modem Manager Gui. Сейчас подумал, что проверял обновления на только что установленной системе. Может за это время накопилось столько изменений?
Сейчас отработал командой sudo apt update Ничего подобного, как при работе менеджера программ не произошло. Команда отработала за 30 сек. Нужно обновить 450 пакетов. Расход трафика - мизерный. Дело, видимо, в менеджере программ.
Хотел разместить скриншот, но не понял как его сюда закачать. Только с сайтов. Не подскажете ещё, как здесь можно вставить изображение с ПК?
Сейчас отработал командой sudo apt update Ничего подобного, как при работе менеджера программ не произошло. Команда отработала за 30 сек. Нужно обновить 450 пакетов. Расход трафика - мизерный. Дело, видимо, в менеджере программ.
Хотел разместить скриншот, но не понял как его сюда закачать. Только с сайтов. Не подскажете ещё, как здесь можно вставить изображение с ПК?
-
- Сообщения: 10015
- Зарегистрирован: 27 июн 2017, 13:36
- Решено: 128
- Откуда: Нижний Тагил
- Благодарил (а): 776 раз
- Поблагодарили: 1950 раз
- Контактная информация:
LMDE4: Ошибки при обновлении
Чуть ниже окна ввода сообщения есть кнопка "Добавить файлы".
Нажимаешь, добавляешь файл(можно сразу несколько).
А еще работает перетаскивание в окошко ввода сообщения.
Потом можно в само сообщение вставить нажав кнопку "Вставить в текст сообщения" рядом с файлом.
Больше ничего делать не нужно, сообщение отобразиться в том месте сообщения куда вставилось после нажатия кнопки.
LMDE4: Ошибки при обновлении
Извиняюсь за такую невнимательность, даже самому стало смешно У меня экран увеличен, ищу пиктограмму в верхней части редактора, а нижняя его часть с такой большой кнопкой "убежала" за низ экрана. Всё понял, спасибо!
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя