apt-mirror говорит, что загрузит около 4 ГБ, но не загружает дополнительно.

Вопрос или проблема

У меня установлен Ubuntu 20.04, работающий как виртуальная машина на Proxmox. Я настроил apt-mirror, чтобы помочь с нашими проблемами с пропускной способностью на работе (у нас медленный интернет), чтобы обновить все серверы на базе Debian, которые у нас запущены. Репозиторий работает хорошо и без проблем, но я просто хотел узнать, почему он все еще говорит, что необходимо загрузить ~4 ГБ, когда этого не происходит. Это известный баг для apt-mirror? Я искал в Google, DuckDuckGo, Bing, в общем, в любом поисковике, который можете представить, и каждый вопрос/форум, который я нашел, либо обсуждает это всего один день, либо касается чего-то совершенно другого.

Загрузка 375 индексных файлов с использованием 20 потоков...
Время начала: Чт, 20 мая 2021 10:13:09
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
Время окончания: Чт, 20 мая 2021 10:13:13

Обработка индексных переводов: [TTTTTTTTTTTTT]

Загрузка 596 файлов перевода с использованием 20 потоков...
Время начала: Чт, 20 мая 2021 10:13:13
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
Время окончания: Чт, 20 мая 2021 10:13:20

Обработка индексов DEP-11: [DDDDDDDDDDDDD]

Загрузка 100 файлов dep11 с использованием 20 потоков...
Время начала: Чт, 20 мая 2021 10:13:21
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
Время окончания: Чт, 20 мая 2021 10:13:22

Обработка индексов: [PPPPPPPPlPPPPP]

3.1 GiB будет загружено в архив.
Загрузка 110 архивных файлов с использованием 20 потоков...
Время начала: Чт, 20 мая 2021 10:13:35
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
Время окончания: Чт, 20 мая 2021 10:13:35

0 байт в 0 файлах и 0 директориях могут быть освобождены.

Заранее спасибо.

Вы можете использовать контрольные суммы, предоставленные вместе с зеркалом в директории ./var, для идентификации неисправных файлов.

$ cd /var/spool/apt-mirror/mirror
$ md5sum --ignore-missing --quiet -c ../var/MD5
$ sha1sum --ignore-missing --quiet -c ../var/SHA1
$ sha256sum --ignore-missing --quiet -c ../var/SHA256

Затем удалите их и перезапустите apt-mirror.

Похоже, этот скрипт решил мою проблему https://github.com/apt-mirror/apt-mirror/issues/113

Проверьте измененную версию скрипта (прокрутите вниз)

ОБНОВЛЕНИЕ с деталями.

Я использовал скрипт, опубликованный rinnaz. Сохранил его как файл *.sh и запустил.

#!/bin/bash

# объединенные решения для apt mirror из: https://github.com/apt-mirror/apt-mirror/issues/49,https://github.com/apt-mirror/apt-mirror/issues/102
# Мне пришлось создать этот файл, чтобы решить проблему с тем, что DEP-11 @2 файлы не загружаются
# все, что я делаю, это запускаю apt mirror вручную, а затем загружаю остальные файлы иконок каждый раз
# Grep найдет строку, начинающуюся с "set base_path"
# затем мы обрезаем все лишние пробелы
# затем разбиваем строку по разделителю-пробелу и берем третье значение

dataFolder=$(grep -F "set base_path" /etc/apt/mirror.list | tr -s " " | cut -d' ' -f3)
echo "Путь к базовой папке, установленный в /etc/apt/mirror.list: $dataFolder"
apt-mirror
echo 
echo -n "Хотите проверить контрольную сумму MD5 и загрузить неудачные (авто Y через 5 секунд)? [Y/n]"
echo
read -t 5 answer
exit_status=$?
if [ $exit_status -ne 0 ] || [ "$answer" != "${answer#[Yy]}" ];then
    FAILEDPACKAGES=""
    echo "Чтение и проверка контрольной суммы MD5 с использованием файла: $dataFolder/var/MD5"
    #cd $dataFolder/mirror
    rm -f FAILED_MD5.txt
    echo "Неудачные файлы будут храниться в: $(PWD)/FAILED_MD5.txt"
    while IFS='' read -r line || [[ -n "$line" ]]; do
        #echo "Проверка: $line"
        sum=$(echo $line | cut -d' ' -f1)
        filename=$(echo $line | cut -d' ' -f2)
        echo "$sum $dataFolder/mirror/$filename" | md5sum -c -
        RESULT=$?
        if [ $RESULT -ne 0 ];then
            echo "$dataFolder/mirror/$filename" >> FAILED_MD5.txt
            wget -O $dataFolder/mirror/$filename $filename
            echo "$sum $dataFolder/mirror/$filename" | md5sum -c -
            SUBRESULT=$?
            if [ $SUBRESULT -ne 0 ];then
                echo "Извините, контрольная сумма снова не совпадает для файла: $dataFolder/mirror/$filename"
                $FAILEDPACKAGES+="$dataFolder/mirror/$filename      Неудача снова, извините, не могу помочь"
            fi
        fi
    done 

Ответ или решение

Причины некорректного отображения объёмов загрузки в apt-mirror на Ubuntu 20.04

При работе с apt-mirror на вашей виртуальной машине Ubuntu 20.04 может возникать ситуация, когда система сообщает о необходимости загрузки значительного объёма данных, несмотря на то, что фактически не происходит загрузки. Объём в ~4 ГБ может выглядеть настораживающе, особенно в условиях ограниченной пропускной способности интернет-соединения. Давайте разберёмся в возможных причинах и решениях этой проблемы.

Определение проблемы

Согласно приведённому выводу из выполнения apt-mirror, система сообщает, что будет загружено 3.1 GiB, однако фактически не происходит загрузки данных и выводит сообщение "0 bytes in 0 files and 0 directories can be freed". Это может быть связано с несколькими факторами:

  1. Кеширование и недоступные файлы:
    Если некоторые файлы в репозитории были обновлены, но apt-mirror не может их скачать из-за отсутствия связи или ошибок ресурса, система попытается перезапросить их при следующем запуске, что может приводить к неверным расчетам общего объёма.

  2. Ошибки в индексах:
    Если индексы хранятся некорректно или произошли изменения на сервере репозитория, они могут вызывать несоответствия в ожидаемом и фактическом объёме загружаемых данных.

  3. Использование устаревшей версии:
    Некоторые версии apt-mirror содержат баги, касающиеся обработки обновлений и сумм контрольных файлов. Убедитесь, что у вас установлена последняя версия.

Решение проблемы

Вы можете предпринять несколько шагов для устранения описанной ситуации:

  1. Проверка контрольных сумм:
    Как уже упоминалось, проверьте контрольные суммы загружаемых файлов для выявления повреждённых или недостающих. Откройте терминал и выполните следующие команды:

    cd /var/spool/apt-mirror/mirror
    md5sum --ignore-missing --quiet -c ../var/MD5
    sha1sum --ignore-missing --quiet -c ../var/SHA1
    sha256sum --ignore-missing --quiet -c ../var/SHA256

    Если вы увидите ошибки, удалите повреждённые файлы и запустите apt-mirror снова.

  2. Использование скрипта для автоматизации:
    Возможно, стоит использовать модифицированный скрипт, который вы упомянули, чтобы защитить себя от подобных проблем в будущем. Он проверяет контрольные суммы и автоматически перезапрашивает недостающие файлы. Пример кода уже приведён в ваших материалах, и его реализация решит вашу проблему.

  3. Обновление apt-mirror:
    Убедитесь, что apt-mirror обновлён до последней версии. Это можно сделать с помощью команды:

    sudo apt update
    sudo apt install --only-upgrade apt-mirror

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...