Тарифы на интернет становятся дороже с каждым днем и вы не должны тратить свою пропускную способность на скачивание одних и тех же данных снова и снова. Хорошим примером может служить загрузка 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:
- Оригинальный файл: Zsync начинает работу с исходного файла, который необходимо загрузить или обновить. Этот исходный файл обычно размещается на сервере.
- Файл Zsync: Вместе с исходным файлом предоставляется управляющий файл Zsync. Этот файл имеет то же имя, что и исходный файл, но с расширением «
.zsync
« (например,originalfile.iso.zsync
). Контрольный файл Zsync содержит метаданные и информацию о контрольной сумме. - Локальная копия: На вашем компьютере также имеется локальная копия исходного файла. Эта локальная копия может быть более старой версией файла, который требуется обновить.
- Алгоритм Zsync: Zsync использует специализированный алгоритм для сравнения локальной копии файла с оригинальным файлом. Для этого сравниваются контрольные суммы и метаданные в управляющем файле Zsync.
- Определение различий: Zsync определяет части оригинального файла, которые отсутствуют или изменились с момента последнего обновления локальной копии. Это делается без загрузки всего файла.
- Частичная загрузка: Zsync загружает только те части оригинального файла, которые отсутствуют или изменены. Эти части называются «кусками».
- Комбинирование кусков: Zsync объединяет загруженные фрагменты с локальной копией для создания обновленной версии исходного файла.
- Проверка контрольных сумм: Zsync использует контрольные суммы и хэш-функции для проверки целостности загруженных фрагментов, гарантируя, что они соответствуют ожидаемым данным.
- Окончательное обновление файла: После того как все необходимые фрагменты загружены и интегрированы в локальную копию, вы получаете полностью обновленную и корректную версию исходного файла.
Преимущества 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
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 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, а контрольная сумма не совпадает с исходным файлом, то причин для возникновения этой проблемы может быть несколько. Вот некоторые возможные объяснения и предложения по решению проблемы:
- Неполная загрузка:
Самая распространенная причина этой проблемы – прерванная или неполная загрузка. Zsync загружает файл по частям, а затем объединяет их для создания конечного ISO. Если процесс загрузки прерван, в нем могут остаться файлы .part. Убедитесь, что у вас стабильное подключение к Интернету и достаточно места на диске для завершения загрузки.
Решение:
Удалите неполные файлы и попробуйте загрузить ISO снова с помощью Zsync. - Поврежденный исходный файл:
Если оригинальный ISO-файл Ubuntu поврежден или неполный, Zsync не сможет создать корректный ISO-файл.
Решение:
Убедитесь, что оригинальный ISO-файл Ubuntu который вы пытаетесь загрузить, не поврежден. Для этого можно проверить его контрольную сумму на официальном сайте Ubuntu - Неправильная команда Zsync:
Убедитесь, что вы используете правильную команду Zsync с правильными параметрами. Синтаксис команды Zsync для загрузки ISO-файла должен быть следующим:
zsync http://cdimage.ubuntu.com/ubuntu/releases/xx.x/ubuntu-xx.x-desktop-amd64.iso.zsync
Замените «xx.x» на версию Ubuntu которую вы хотите загрузить.
Решение:
Перепроверьте команду Zsync, чтобы убедиться в ее правильности. - Брандмауэр или проблемы с сетью:
Иногда настройки брандмауэра или проблемы с сетью могут мешать процессу загрузки, вызывая неполную загрузку или несоответствие контрольных сумм.
Решение:
Убедитесь, что ваш брандмауэр не блокирует загрузку Zsync, и попробуйте загрузить из другой сети, если это возможно. - Версия Zsync:
Убедитесь, что вы используете совместимую версию Zsync для загружаемого ISO Ubuntu Использование устаревшей или несовместимой версии Zsync может привести к проблемам.
Решение:
При необходимости обновите Zsync до последней версии. - Дисковое пространство:
Убедитесь, что на диске достаточно свободного места для хранения загруженного ISO-файла. Zsync может не завершить загрузку, если диск переполнен.
Решение:
Освободите место на диске или загрузите ISO-файл в место с достаточным свободным пространством. - Проблемы с сервером:
Возможно, что сервер, на котором размещен ISO-файл Ubuntu испытывает проблемы или имеет большой трафик, что может повлиять на процесс загрузки.
Решение:
Попробуйте загрузить ISO-файл в другое время, когда трафик сервера ниже.
Устранив эти возможные проблемы, вы сможете решить проблему, возникшую при использовании Zsync для загрузки Ubuntu ISO. Если проблема сохраняется, воспользуйтесь другим методом или загрузите ISO с другого зеркала или источника.
Заключение
В заключение можно сказать, что Zsync – это ценный инструмент для оптимизации загрузки и обновления файлов, особенно при работе с большими файлами, такими как ISO-образы операционных систем и пакеты программного обеспечения.
Благодаря эффективной загрузке только измененных или отсутствующих частей файла Zsync минимизирует использование полосы пропускания и ускоряет процесс. Проверка контрольной суммы обеспечивает целостность данных, добавляя дополнительный уровень надежности загружаемому содержимому.
Если вы хотите сэкономить время и полосу пропускания при передаче файлов, рекомендуем использовать Zsync!
Комментарии (0)