Публикувано е издание на 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».
Допълнително, заслужава да се отбележи публикуването на версия 1.60 на инструмента rclone, който представлява аналог на 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
