Публикувана версия Rsync 3.2.7, инструмент за синхронизация на файлове и резервно копиране, който минимизира трафика чрез инкрементално копиране на промените. За транспорт могат да се използват ssh, rsh или собственият протокол rsync. Поддържа се организация на анонимни rsync-сървъри, оптимално подходящи за синхронизиране на огледала. Кодът на проекта се разпространява под лиценз GPLv3.
Сред добавените промени:
- Разрешено е използването на хешове SHA512, SHA256 и SHA1 при удостоверяване на връзката на потребителя с фоновия процес rsync (по-рано се поддържаха MD5 и MD4).
- Реализирана е възможността за използване на алгоритъма SHA1 за изчисляване на контролни суми на файлове. Поради големия размер хешът SHA1 има най-нисък приоритет в списъка с хешове. За принудително определяне на SHA1 може да се използва опцията «—checksum-choice».
- За намаляване на вероятността от колизии, хеш-таблицата за атрибути xattr е премината на използване на 64-разрядни ключове.
- Осигурена е възможност за извеждане на информация за поддържаните в rsync алгоритми в JSON формат (включва се чрез дублиране на опцията —version («-VV»)). Допълнително е добавен скрипт support/json-rsync-version, който позволява генерирането на аналогичен JSON изход на базата на информацията, предоставяна в текстов вид при единично указване на опцията «—version» (за съвместимост с предишни версии на rsync).
- Настройката «use chroot» в rsyncd.conf, която регулира използването на извикването chroot за допълнителна изолация на процеса, по подразбиране е зададена на «unset», което позволява използването на chroot в зависимост от наличността му (например, да се включва, когато rsync е стартиран с права root и да не се включва, когато е стартиран от непривилегирован потребител).
- Приблизително два пъти е увеличена производителността на алгоритъма за търсене на основни файлове за отсъстващи целеви файлове, прилаган при указване на опцията «—fuzzy».
- Променено е представянето на времето в протокола, използвано при взаимодействие със стари версии на Rsync (до клон 3.0) — 4-байтовото време епоха в този случай се обработва като «unsigned int», което не позволява предаване на време преди 1970 година, но решава проблема с указването на време след 2038 година.
- Липсата на целеви път при извикване на клиента rsync сега се счита за грешка. За да се върне старото поведение, при което празният път се третираше като «.», е предложена опцията «—old-args».
Допълнително може да се отбележи публикуването на версия на утилитата rclone 1.60, която е аналог на rsync, предназначен за копиране и синхронизиране на данни между локалната система и различни облачни хранилища, като Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, OneDrive, Swift, Hubic, Cloudfiles, Google Cloud Storage, Mail.ru Cloud и Яндекс.Диск. Кодът на проекта е написан на езика Go и се разпространява под лиценз MIT.
В новата версия: добавени бекенди за съхранение на резервни копия в хранилищата Oracle object storage и SMB/CIFS. В бекенда за съхранение S3 е реализирана поддръжка на версии и е добавена възможността за работа през доставчици IONOS Cloud Storage и Qiniu KODO. В бекенда local е вградена възможност за добавяне на филтри за игнориране на грешки, свързани с права на достъп.
Източник: opennet.ru
