При зеркалировании с помощью rsync с опцией --ignore-existing c источника rsync.altlinux.ru::Altlinux/Sisyphus с целью экономии трафика при узком канале Internet и ограниченном времени запуска синхронихации с 00:00 до 03:00 не происходит загрузка измененных файлов с одинаковыми именами в следствии чего система не обновляется.
Перевесил на правильный компонент.
Ошибку обсуждали в рассылке Sisyphus: https://lists.altlinux.org/pipermail/sisyphus/2019-April/367894.html
А в чем бага? Это фича такая. Но, конечно, надо было предупредить.
Ошибка в том, что это регрессия - недокументированное поведение о котором администраторы могут и не знать. Более того - разные имена файлов для случаев с disttag были в изначальном плане, но так и не реализованы.
(In reply to comment #0) > При зеркалировании с помощью rsync с опцией --ignore-existing c источника > rsync.altlinux.ru::Altlinux/Sisyphus с целью экономии трафика Спасибо, что сообщили о вашей проблеме, однако такой режим зеркалирования репозиториев не поддерживается. Трафика этот режим тоже почти не экономит, поскольку трафик от скачивания одного обновившегося пакета многократно перекрывает такую экономию, но это не главное. Главное то, что такой режим нарушает целостность репозитория и не будет поддерживаться.
В смысле не экономит? В противном случае придется каждый раз скачивать полный репозитарий. Я наверно не дописал полностью дальнейшую работу с репозитарием! Далее после скачивания на сервер подключенный в интернет раз в несколько недель или месяцев все с помощью того-же rsync репозитарий переноситься на съемный диск и потом на отдельный сервер в изолированной от интернет сети и там генерится репозитарий для обновления систем в этой сети. Так как теперь синхронизировать репозитарии для не подключенных к интернету систем? Есть другие варианты кроме rsync?
(In reply to comment #6) > В смысле не экономит? В противном случае придется каждый раз скачивать полный > репозитарий. Зачем? При очередном зеркалировании rsync увидит, что файлы на месте, и не будет их скачивать повторно, если они за это время не изменились. > Я наверно не дописал полностью дальнейшую работу с репозитарием! В данном случае важно, как вы зеркалируете, а не что вы потом делаете с зеркалом.
Вы предлагаете убрать опцию --ignore-existing ? И в этом случае rsync не будет скачивать файлы которые уже есть на приемной стороне, если они у них тот-же размер и timestamp?
(In reply to comment #8) > Вы предлагаете убрать опцию --ignore-existing ? Да, конечно. > И в этом случае rsync не будет > скачивать файлы которые уже есть на приемной стороне, если они у них тот-же > размер и timestamp? Смотрите: $ rsync --stats -lt rsync.altlinux.org::ALTLinux/Sisyphus/files/i586/RPMS/plasma5-ksysguard-5.12.8-alt1.i586.rpm . Welcome to ALT Linux Team public rsync archive! Number of files: 1 (reg: 1) Number of created files: 1 (reg: 1) Number of deleted files: 0 Number of regular files transferred: 1 Total file size: 651,110 bytes Total transferred file size: 651,110 bytes Literal data: 651,110 bytes Matched data: 0 bytes File list size: 56 File list generation time: 0.001 seconds File list transfer time: 0.000 seconds Total bytes sent: 43 Total bytes received: 651,368 sent 43 bytes received 651,368 bytes 1,302,822.00 bytes/sec total size is 651,110 speedup is 1.00 $ rsync --stats -lt rsync.altlinux.org::ALTLinux/Sisyphus/files/i586/RPMS/plasma5-ksysguard-5.12.8-alt1.i586.rpm . Welcome to ALT Linux Team public rsync archive! Number of files: 1 (reg: 1) Number of created files: 0 Number of deleted files: 0 Number of regular files transferred: 0 Total file size: 651,110 bytes Total transferred file size: 0 bytes Literal data: 0 bytes Matched data: 0 bytes File list size: 56 File list generation time: 0.001 seconds File list transfer time: 0.000 seconds Total bytes sent: 20 Total bytes received: 67 sent 20 bytes received 67 bytes 174.00 bytes/sec total size is 651,110 speedup is 7,484.02 При первой синхронизации было Number of regular files transferred: 1 Total bytes received: 651,368 При второй синхронизации было Number of regular files transferred: 0 Total bytes received: 67
Да! Вроде работает, все решает опция --times (-t)