Zsync - утилита для загрузки только новых частей ISO-файлов Linux

Тарифы на интернет становятся дороже с каждым днем и вы не должны тратить свою пропускную способность на скачивание одних и тех же данных снова и снова. Хорошим примером может служить загрузка ISO-образов разработчиков Ubuntu

Разработчики Ubuntu каждые несколько месяцев выпускают ежедневные сборки, альфа- и бета-версии ISO-образов для тестирования. Раньше я загружал эти образы, как только они появлялись, чтобы протестировать и просмотреть каждую версию. Но теперь это не так! Благодаря программе передачи файлов Zsync появилась возможность загружать только новые части ISO-образа. Это значительно экономит время и пропускную способность Интернета, а также ресурсы на стороне сервера и клиента.

Что такое Zsync?

Zsync – это программа передачи файлов, которая используется для эффективной загрузки и обновления файлов, особенно больших, таких как ISO-образы операционных систем.

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

Zsync использует тот же алгоритм, что и Rsync, но загружает только те новые части файла, копия которого уже есть на вашем компьютере. Rsync предназначен для синхронизации данных между компьютерами, а Zsync – для их распространения.

Проще говоря, Zsync можно использовать для распространения одного файла из центрального узла среди тысяч пользователей.

Zsync широко используется в сообществе Linux для загрузки ISO-образов дистрибутивов, таких как Ubuntu Это удобный инструмент для поддержания больших файлов в актуальном состоянии без необходимости загружать их целиком при каждом обновлении.

Zsync полностью бесплатен и имеет открытый исходный код, выпускается под лицензией Artistic License V2.

Как работает Zsync?

Zsync эффективно загружает и обновляет файлы, получая только те части файла, которые изменились или отсутствуют, а не загружая весь файл с нуля. Вот более подробное объяснение работы Zsync:

  1. Оригинальный файл: Zsync начинает работу с исходного файла, который необходимо загрузить или обновить. Этот исходный файл обычно размещается на сервере.
  2. Файл Zsync: Вместе с исходным файлом предоставляется управляющий файл Zsync. Этот файл имеет то же имя, что и исходный файл, но с расширением «.zsync« (например, originalfile.iso.zsync). Контрольный файл Zsync содержит метаданные и информацию о контрольной сумме.
  3. Локальная копия: На вашем компьютере также имеется локальная копия исходного файла. Эта локальная копия может быть более старой версией файла, который требуется обновить.
  4. Алгоритм Zsync: Zsync использует специализированный алгоритм для сравнения локальной копии файла с оригинальным файлом. Для этого сравниваются контрольные суммы и метаданные в управляющем файле Zsync.
  5. Определение различий: Zsync определяет части оригинального файла, которые отсутствуют или изменились с момента последнего обновления локальной копии. Это делается без загрузки всего файла.
  6. Частичная загрузка: Zsync загружает только те части оригинального файла, которые отсутствуют или изменены. Эти части называются «кусками».
  7. Комбинирование кусков: Zsync объединяет загруженные фрагменты с локальной копией для создания обновленной версии исходного файла.
  8. Проверка контрольных сумм: Zsync использует контрольные суммы и хэш-функции для проверки целостности загруженных фрагментов, гарантируя, что они соответствуют ожидаемым данным.
  9. Окончательное обновление файла: После того как все необходимые фрагменты загружены и интегрированы в локальную копию, вы получаете полностью обновленную и корректную версию исходного файла.

Преимущества Zsync

Преимущества использования Zsync перечислены ниже:

  • Уменьшение использования полосы пропускания: Вы экономите на пропускной способности, поскольку загружаете только те части файла, которые изменились, а это гораздо меньше, чем весь файл.
  • Быстрее загрузка: Поскольку загружается меньшее количество данных, процесс загрузки происходит быстрее, особенно при обновлении больших файлов.
  • Эффективность: Zsync особенно удобен при загрузке больших файлов, например ISO-дистрибутивов Linux или обновлений программного обеспечения, поскольку минимизирует затраты времени и ресурсов.
  • Проверка контрольных сумм: Zsync использует контрольные суммы для обеспечения целостности загружаемых частей, предоставляя уровень проверки целостности данных.

Установка Zsync

Zsync доступен в стандартных репозиториях большинства дистрибутивов Linux.

На Arch Linux и производных, таких как EndeavourOS и Manjaro Linux, вы можете установить его с помощью команды:

sudo pacman -S zsync

На Fedora:

Включить репозиторий Zsync:

sudo dnf copr enable ngompa/zsync

И установить его с помощью команды:

sudo dnf install zsync

На Debian Ubuntu Linux Mint:

sudo apt-get install zsync

В openSUSE:

sudo zypper install zsync

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

wget http://zsync.moria.org.uk/download/zsync-0.6.2.tar.bz2
tar xjf zsync-0.6.2.tar.bz2
cd zsync-0.6.2/
configure
make
sudo make install

Как загружать новые части ISO-файла с помощью Zsync

Прошу учесть, что zsync полезен только в том случае, если люди предлагают zsync-загрузки. В настоящее время ISO-образы Debian Ubuntu (всех версий) доступны в виде zsync-загрузок. Например, перейдите по следующей ссылке.

Ubuntu Daily build

Как видно из приведенной выше ссылки, ежедневные сборки Ubuntu 23.10 доступны в виде ISO и .zsync файлов. Если вы выберете версию .ISO, вам придется загружать полный ISO при каждом обновлении.

Если же вы загрузите файл .zsync, то Zsync будет загружать только новые изменения. Вам не нужно каждый раз загружать весь ISO-образ.

Файл .zsync содержит метаданные, необходимые программе zsync. Этот файл содержит предварительно вычисленные контрольные суммы для алгоритма rsync; он генерируется на сервере один раз и затем используется любым количеством загрузчиков.

Чтобы загрузить файл .zsync с помощью клиентской программы Zsync, просто передайте программе Zsync правильную ссылку URL файла zsync.

zsync <.zsync-file-URL>

Пример:

zsync http://cdimage.ubuntu.com/ubuntu/daily-live/current/mantic-desktop-amd64.iso.zsync

Если в текущей директории локальной системы уже есть старый файл изображения, Zsync вычислит разницу между старым и новым файлами на удаленном сервере и загрузит только новые части. Процесс вычисления будет отображаться в терминале в виде серии точек или звездочек.

После завершения загрузки у вас будет два файла: новый и старый с расширением .iso.zs-old.

Если в системе нет копии файла, Zsync загрузит весь файл.

В любой момент вы можете отменить процесс загрузки, нажав CTRL + C.

После завершения загрузки Zsync проверит контрольную сумму загруженного ISO-файла.

[...]
Read mantic-desktop-amd64.iso.part. Target 45.7% complete. downloading from http://cdimage.ubuntu.com/ubuntu/daily-live/current/mantic-desktop-amd64.iso:
#########----------- 45.7% 4.1 kBps ##############------ 72.2% 15.7 kBps TA #################### 100.0% 2656.4 kBps DONE verifying download...checksum matches OK
used 2366558208 local, fetched 2807430188

Zsync – необходимый инструмент для тех, кто тестирует ISO-файлы разработки Ubuntu

Представьте, если бы вы использовали прямой .ISO-файл или торрент, вы бы теряли около 5 ГБ пропускной способности при каждой загрузке нового образа.

Вместо загрузки целых образов (альфа-, бета- и ежедневных сборок) Zsync загружает только новые части ISO-файла, если в вашей системе уже есть копия более старой версии.

Устранение неполадок

Если вы используете Zsync для загрузки Ubuntu ISO и сталкиваетесь с проблемой, когда создаются только файлы .part, а контрольная сумма не совпадает с исходным файлом, то причин для возникновения этой проблемы может быть несколько. Вот некоторые возможные объяснения и предложения по решению проблемы:

  1. Неполная загрузка:
    Самая распространенная причина этой проблемы – прерванная или неполная загрузка. Zsync загружает файл по частям, а затем объединяет их для создания конечного ISO. Если процесс загрузки прерван, в нем могут остаться файлы .part. Убедитесь, что у вас стабильное подключение к Интернету и достаточно места на диске для завершения загрузки.
    Решение:
    Удалите неполные файлы и попробуйте загрузить ISO снова с помощью Zsync.
  2. Поврежденный исходный файл:
    Если оригинальный ISO-файл Ubuntu поврежден или неполный, Zsync не сможет создать корректный ISO-файл.
    Решение:
    Убедитесь, что оригинальный ISO-файл Ubuntu который вы пытаетесь загрузить, не поврежден. Для этого можно проверить его контрольную сумму на официальном сайте Ubuntu
  3. Неправильная команда Zsync:
    Убедитесь, что вы используете правильную команду Zsync с правильными параметрами. Синтаксис команды Zsync для загрузки ISO-файла должен быть следующим:
    zsync http://cdimage.ubuntu.com/ubuntu/releases/xx.x/ubuntu-xx.x-desktop-amd64.iso.zsync

    Замените «xx.x» на версию Ubuntu которую вы хотите загрузить.
    Решение:
    Перепроверьте команду Zsync, чтобы убедиться в ее правильности.
  4. Брандмауэр или проблемы с сетью:
    Иногда настройки брандмауэра или проблемы с сетью могут мешать процессу загрузки, вызывая неполную загрузку или несоответствие контрольных сумм.
    Решение:
    Убедитесь, что ваш брандмауэр не блокирует загрузку Zsync, и попробуйте загрузить из другой сети, если это возможно.
  5. Версия Zsync:
    Убедитесь, что вы используете совместимую версию Zsync для загружаемого ISO Ubuntu Использование устаревшей или несовместимой версии Zsync может привести к проблемам.
    Решение:
    При необходимости обновите Zsync до последней версии.
  6. Дисковое пространство:
    Убедитесь, что на диске достаточно свободного места для хранения загруженного ISO-файла. Zsync может не завершить загрузку, если диск переполнен.
    Решение:
    Освободите место на диске или загрузите ISO-файл в место с достаточным свободным пространством.
  7. Проблемы с сервером:
    Возможно, что сервер, на котором размещен ISO-файл Ubuntu испытывает проблемы или имеет большой трафик, что может повлиять на процесс загрузки.
    Решение:
    Попробуйте загрузить ISO-файл в другое время, когда трафик сервера ниже.
    Устранив эти возможные проблемы, вы сможете решить проблему, возникшую при использовании Zsync для загрузки Ubuntu ISO. Если проблема сохраняется, воспользуйтесь другим методом или загрузите ISO с другого зеркала или источника.

Заключение

В заключение можно сказать, что Zsync – это ценный инструмент для оптимизации загрузки и обновления файлов, особенно при работе с большими файлами, такими как ISO-образы операционных систем и пакеты программного обеспечения.

Благодаря эффективной загрузке только измененных или отсутствующих частей файла Zsync минимизирует использование полосы пропускания и ускоряет процесс. Проверка контрольной суммы обеспечивает целостность данных, добавляя дополнительный уровень надежности загружаемому содержимому.

Если вы хотите сэкономить время и полосу пропускания при передаче файлов, рекомендуем использовать Zsync!

Часто задаваемые вопросы

✅ Что такое Zsync?

Zsync – это утилита для передачи файлов, которая позволяет эффективно загружать и обновлять файлы, скачивая только те части файла, которые изменились или отсутствуют. Она особенно полезна для больших файлов, таких как ISO-образы операционных систем.

✅ Как работает Zsync?

Zsync работает, сравнивая локальную копию файла с оригинальным файлом, размещенным на сервере. Для определения различий используется контрольный файл (.zsync), расположенный рядом с оригинальным файлом. Затем он загружает и интегрирует только те части файла, которые изменились или отсутствуют, минимизируя затраты времени и пропускной способности.

✅ Для каких типов файлов можно использовать Zsync?

Zsync можно использовать для любых типов файлов, но чаще всего он применяется для больших файлов, которые регулярно обновляются, например, ISO-образы дистрибутивов Linux, обновления программного обеспечения и другие загружаемые пакеты.

✅ Каковы преимущества использования Zsync?

К основным преимуществам использования Zsync относятся снижение потребления полосы пропускания, ускорение загрузки, эффективность обновления больших файлов и проверка целостности данных с помощью контрольных сумм.

✅ Совместим ли Zsync со всеми операционными системами?

Zsync доступен для Unix-подобных операционных систем, включая Linux и macOS. Для Windows он, возможно, недоступен из коробки, но существуют инструменты и порты сторонних производителей, которые можно использовать для запуска Zsync под Windows.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен ostechnix.com

Похожие статьи

Комментарии (0)