Возобновление apt-mirror не удается из-за поврежденных файлов индекса

У меня проблемы с получением apt-mirror возобновить после того, как это было прервано внезапно (мое VPN-соединение было разорвано).

Я получаю ошибку, которая указывает на то, что некоторые apt-mirror файлы повреждены. Может быть, индексные файлы? Я пытался удалить все загруженные файлы, но это не работает.

Вывод ошибки выглядит так:

$ sudo apt-mirror
Downloading 24 index files using 5 threads...
Begin time: Fri Sep  5 09:36:09 2014
[5]... [4]... [3]... [2]... [1]... [0]... 
End time: Fri Sep  5 09:36:09 2014

Proceed indexes: [P
gzip: stdin: not in gzip format
P
gzip: stdin: not in gzip format
P
gzip: stdin: not in gzip format
P
gzip: stdin: not in gzip format
]

0.0 bytes will be downloaded into archive.
Downloading 0 archive files using 0 threads...

Я нашел несколько ответов в сети, но ни один из них не помогает. Я хотел бы знать, где хранятся эти файлы GZIP. Тогда должно быть возможно удалить их и перезапустить материал apt-mirror.

3 ответа

Решение

Решение было довольно простым, но мне понадобилось время, чтобы понять его. Я должен был удалить apt-mirror и все его файлы конфигурации и т. д.

Решение:

$ sudo apt-get --purge remove apt-mirror

Сообщалось о некоторых ошибках, когда оставались не пустые каталоги, т.е. dkpg сообщили о некоторых ошибках.

Затем я удалил каталоги так:

$ sudo rm -rf /var/spool/apt-mirror

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

Решение для "...gzip: stdin: не в формате gzip...":

Я использую Ubuntu 16.04 LTS 64bit. Вам нужно удалить ТОЛЬКО папку skel, затем снова запустить apt-mirror!

$ sudo rm -rf /var/spool/apt-mirror/skel/
$ apt-mirror

Я не знаю почему, но это работает для меня.

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

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

ОБНОВЛЕНИЕ с подробностями.

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

#!/бин/баш

# комбинированные решения для зеркала apt из: 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"
подходящее зеркало
эхо
echo -n "Вы хотите проверить сумму MD5 и ошибку загрузки (авто Y через 5 секунд)? [Y/n]"
эхо
прочитать -t 5 ответ
выход_статус=$?
если [ $exit_status -ne 0 ] || [ "$answer" != "${answer#[Yy]}" ];тогда
    НЕУДАЧНЫЕ ПАКЕТЫ=""
    echo "Чтение и проверка контрольной суммы MD5 с использованием файла: $dataFolder/var/MD5"
    #cd $dataFolder/зеркало
    rm -f FAILED_MD5.txt
    echo "Файл с ошибкой будет сохранен в: $(PWD)/FAILED_MD5.txt"
    в то время как IFS='' читать строку -r || [[ -n "$line" ]]; делать
        #echo "Проверка: $line"
        сумма = $ (эхо $ строка | вырезать -d' ' -f1)
        имя_файла=$(echo $line | cut -d' ' -f2)
        echo "$sum $dataFolder/mirror/$filename" | md5sum -c -
        РЕЗУЛЬТАТ=$?
        если [ $RESULT -ne 0 ];тогда
            echo "$dataFolder/mirror/$filename" >> FAILED_MD5.txt
            wget -O $dataFolder/зеркало/$filename $filename
            echo "$sum $dataFolder/mirror/$filename" | md5sum -c -
            ПОДРЕЗУЛЬТАТ=$?
            если [ $SUBRESULT -ne 0 ];тогда
                echo "Извините, ошибка контрольной суммы снова для файла: $dataFolder/mirror/$filename"
                $FAILEDPACKAGES+="$dataFolder/mirror/$filename Опять ошибка, извините, не могу помочь"
            фи
        фи
    Выполнено
Другие вопросы по тегам