Bug 36626 - Система не обновляется при зеркалировании репозитория с опцией --ignore-existing
Summary: Система не обновляется при зеркалировании репозитория с опцией --ignore-exis...
Status: CLOSED NOTABUG
Alias: None
Product: Infrastructure
Classification: Infrastructure
Component: girar (show other bugs)
Version: unspecified
Hardware: all Linux
: P3 major
Assignee: Dmitry V. Levin
QA Contact: Andrey Cherepanov
URL: https://lists.altlinux.org/pipermail/...
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-19 11:48 MSK by Dima
Modified: 2019-04-19 13:33 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dima 2019-04-19 11:48:25 MSK
При зеркалировании с помощью rsync с опцией --ignore-existing c источника rsync.altlinux.ru::Altlinux/Sisyphus с целью экономии трафика 
при узком канале Internet и ограниченном времени запуска синхронихации с 00:00 до 03:00 не происходит загрузка измененных файлов с одинаковыми именами в следствии чего система не обновляется.
Comment 1 Anton Farygin 2019-04-19 12:09:33 MSK
Перевесил на правильный компонент.
Comment 2 Anton Farygin 2019-04-19 12:10:38 MSK
Ошибку обсуждали в рассылке Sisyphus:
https://lists.altlinux.org/pipermail/sisyphus/2019-April/367894.html
Comment 3 AEN 2019-04-19 12:15:23 MSK
А в чем бага? Это фича такая. Но, конечно, надо было предупредить.
Comment 4 Anton Farygin 2019-04-19 12:18:09 MSK
Ошибка в том, что это регрессия - недокументированное поведение о котором администраторы могут и не знать.

Более того - разные имена файлов для случаев с disttag были в изначальном плане, но так и не реализованы.
Comment 5 Dmitry V. Levin 2019-04-19 12:25:33 MSK
(In reply to comment #0)
> При зеркалировании с помощью rsync с опцией --ignore-existing c источника
> rsync.altlinux.ru::Altlinux/Sisyphus с целью экономии трафика

Спасибо, что сообщили о вашей проблеме, однако такой режим зеркалирования репозиториев не поддерживается.

Трафика этот режим тоже почти не экономит, поскольку трафик от скачивания одного обновившегося пакета многократно перекрывает такую экономию, но это не главное.

Главное то, что такой режим нарушает целостность репозитория и не будет поддерживаться.
Comment 6 Dima 2019-04-19 12:43:36 MSK
В смысле не экономит? В противном случае придется каждый раз скачивать полный репозитарий.
 
Я наверно не дописал полностью дальнейшую работу с репозитарием!

Далее после скачивания на сервер подключенный в интернет раз в несколько недель или месяцев все с помощью того-же rsync репозитарий переноситься на съемный диск и потом на отдельный сервер в изолированной от интернет сети и там генерится репозитарий для обновления систем в этой сети.

Так как теперь синхронизировать репозитарии для не подключенных к интернету систем? Есть другие варианты кроме rsync?
Comment 7 Dmitry V. Levin 2019-04-19 12:49:47 MSK
(In reply to comment #6)
> В смысле не экономит? В противном случае придется каждый раз скачивать полный
> репозитарий.

Зачем?  При очередном зеркалировании rsync увидит, что файлы на месте,
и не будет их скачивать повторно, если они за это время не изменились.

> Я наверно не дописал полностью дальнейшую работу с репозитарием!

В данном случае важно, как вы зеркалируете, а не что вы потом делаете с зеркалом.
Comment 8 Dima 2019-04-19 13:13:38 MSK
Вы предлагаете убрать опцию --ignore-existing ? И в этом случае rsync не будет скачивать файлы которые уже есть на приемной стороне, если они у них тот-же размер и timestamp?
Comment 9 Dmitry V. Levin 2019-04-19 13:25:57 MSK
(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
Comment 10 Dima 2019-04-19 13:33:29 MSK
Да! Вроде работает, все решает опция --times (-t)