Релиз Rsync 3.1.0

Спустя пять с половиной лет с момента прошлого значительного выпуска представлен релиз Rsync 3.1.0, популярной утилиты для синхронизации файлов и резервного копирования, позволяющей минимизировать трафик за счёт инкрементального копирования изменений. В качестве транспорта могут быть использованы ssh, rsh или собственный протокол rsync. Поддерживается организация работы анонимных rsync-серверов, оптимально подходящих для обеспечения синхронизации зеркал. Новая версия примечательная добавлением большой порции улучшений и проведением работы по увеличению производительности. Из изменений можно выделить:

Несколько изменений, нарушающих обратную совместимость на уровне вывода статистики: большие числа теперь группируются блоками по три цифры (например,»1,234,567»), для отключения данной особенности и настройки вывода могут использоваться опции »--human-readable» и »--out-format», а также директива «log format». Работа опции »--list-only» теперь выводит префиксы величин (например, 10M) при использовании включенного по умолчанию режима читаемого вывода и выводит данные в столбцы по 14 символов (ранее было 11). Для возвращения старого формата вывода следует использовать опцию »--no-h». Изменён вывод при использовании опции »--progress». Расширена информация, выводимая при указании опции »--stats»: вывод стал более наглядным, добавлено раздельное отображение разных типов счётчиков, добавлены данные о числе удалённых и созданных файлов; Новые вспомогательные скрипты: «instant-rsyncd» для быстрой настройки работы демона rsync для текущей директории; «mapfrom» и «mapto» для упрощения привязки пользователей/групп локальной системы с файлами passwd/group на другой машине; переписанная на perl версия lsh; rsync-slash-strip для задания альтернативного обработчика слешей в хвосте аргумента пути. Полностью переписан код, отвечающий за ввода/вывод. Увеличено использование буферизации при чтении из сокета. Передача данных между получателем и источником переведена на механизм мультиплексирования соединений. Время простоя, затрачиваемое источником на поиск файлов для передачи, теперь не тратится впустую, а параллельно используется для сканирования состояния директорий отправителем. Проведён рефакторинг кода фильтрации, направленный на увеличение расширяемости и улучшения качества проверок; Переработан код, связанный с выполнением задач резервного копирования иерархии директорий. При резервном копировании файла осуществляется попытка создания жесткой ссылки с последующей атомарной заменой целевого файла; Добавлена поддержка синхронизации времени модификации с точностью до наносекунд; Поставляемая в комплекте библиотека zlib обновлена до версии 1.2.8. Обеспечена возможность сборки с использованием внешней библиотеки zlib, установленной в операционной системе, вместо поставляемого в комплекте оптимизированного варианта (следует использовать опцию »./configure --with-included-zlib=no»). В будущем планируется отказаться от поставки zlib в комплекте; Добавлена опция »--remote-option=OPT» (»-M OPT»), позволяющая передать настройки удалённой стороне (например, --log-file=FILE или --fake-super); Добавлены опции »--info=FLAGS» и »--debug=FLAGS» для тонкого управления выводом. Обеспечена возможность вывода отладочной информации в STDERR через указание опции »--msgs2stderr»; Добавлены опции --delete-missing-args и --ignore-missing-args позволяющие избежать вывода ошибки при отсутствии файлов со списком масок для удаления и игнорирования; Добавлены опции »--usermap»/»--groupmap»/»--chown» для манипулирования параметрами владельцев файлов в процессе копирования; Добавлена escape-последовательность »%C», которая может быть использована для сохранения в лог MD5-хэшей передаваемых файлов или вывода результирующей контрольной суммы для всех переданных файлов, в случае использования опции »--checksum»; В файл конфигурации демона rsync добавлены опции «reverse lookup» и «forward lookup» для отключения резолвинга IP-адресов в DNS и поиска имён в локальном файле имён хостов; В демон rsync добавлена поддержка авторизации на уровне отдельных пользователей и групп через директиву «auth users»; В файле конфигурации демона rsync теперь можно использовать переменные окружения (задаются в формате %VAR%); Добавлена опция »--preallocate» для предварительного резервирования места; Возможность получения паролей через стандартный ввод через указание опции »--password-file=-»; Добавлена возможность обращения к удалённому серверу rsync с использованием stunnel через специальный скрипт-обвёртку rsync-ssl; Добавлена опция »--outbuf=N|L|B» для выбора типа буферизации вывода; В опции »--chmod» теперь можно задавать права доступа в числовом представлении, например »--chmod=644, D755»; Добавлен код для поддержки xattr в Solaris; Устранены проблемы со сборкой на платформах Android и Minix.

© OpenNet