Metalinks
Эта статья или секция предлагается к объединению со статьёй или секцией SDB:Metalink ! Вы можете помочь в редактировании данной статьи, но, пожалуйста, сначала обратитесь к странице обсуждения, чтобы завершить слияние как можно скорее. |
Содержание
Что такое Metalink
Metalink — открытый формат файлов на основе XML, предназначенный для описания ссылок на файлы для загрузки по различным протоколам (HTTP, FTP, BitTorrent и др.)
Таким образом программы для закачки файлов, поддерживающие metalink могут вести закачку файла одновременно с нескольких серверов, посредством сегментирования файла.
Metalink так же позволяет включать одну или несколько проверок файлов (хеши, pgp-ключи).
Менеджеры закачек с поддержкой Metalink
- aria2c (доступна в OSS репозитарии, а так же http://download.opensuse.org/repositories/network:/utilities/)
- DownThemAll!, Расширение Firefox, поддерживающее закачку посредством metalink.
- Retriever - менеджер закачек на java.
- KGet, Orbit Downloader, а так же множество других.
openSUSE и Metalink
Проект OpenSUSE позволяет закачку образов дистрибутивов, а так же отдельных пакетов посредством Metalink. Metalink файлы формируются динамически основным зеркалом download.opensuse.org
Пример закачки релиза openSUSE 15.4 посредством metalink
На странице http://software.opensuse.org/ ссылка на metalink файл помечена изображением . Скачаем DVD версию openSUSE 15.4 для x86 систем:
$ aria2c -c http://download.opensuse.org/distribution/15.4/iso/openSUSE-15.4-DVD-i586.iso.metalink
Ключ -c позволяет продолжить загрузку файла при обрыве соединения. Без этого ключа закачка начнется заново. aria2c сразу создаст файл нужного размера, во избежания фрагментации. Поэтому наблюдать прогресс закачки по размеру файла не получится - ориентироваться стоит только на показания aria2c.
Пакеты и Metalink
На основном зеркале download.opensuse.org каждому пакету соответствует metalink файл, что позволяет использовать metalink в пакетном менеджере zypper. Это является экспериментальной возможностью zypper. Для этого должны быть выполнены следующие требования:
- Установлен пакет aria2
- Переменная окружения ZYPP_ARIA2C установлена равной 1.
На самом деле сейчас проверяется только наличие переменной окружения ZYPP_ARIA2C. Bug 450245.
Пример использования:
# ZYPP_ARIA2C=1 zypper in some_package