<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>36626</bug_id>
          
          <creation_ts>2019-04-19 11:48:25 +0300</creation_ts>
          <short_desc>Система не обновляется при зеркалировании репозитория с опцией  --ignore-existing</short_desc>
          <delta_ts>2019-04-19 13:33:29 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Infrastructure</classification>
          <product>Infrastructure</product>
          <component>girar</component>
          <version>unspecified</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>NOTABUG</resolution>
          
          
          <bug_file_loc>https://lists.altlinux.org/pipermail/sisyphus/2019-April/367894.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dima">dimard</reporter>
          <assigned_to name="Dmitry V. Levin">ldv</assigned_to>
          <cc>aen</cc>
    
    <cc>glebfm</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>rider</cc>
          
          <qa_contact name="Andrey Cherepanov">cas</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>180986</commentid>
    <comment_count>0</comment_count>
    <who name="Dima">dimard</who>
    <bug_when>2019-04-19 11:48:25 +0300</bug_when>
    <thetext>При зеркалировании с помощью rsync с опцией --ignore-existing c источника rsync.altlinux.ru::Altlinux/Sisyphus с целью экономии трафика 
при узком канале Internet и ограниченном времени запуска синхронихации с 00:00 до 03:00 не происходит загрузка измененных файлов с одинаковыми именами в следствии чего система не обновляется.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180989</commentid>
    <comment_count>1</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2019-04-19 12:09:33 +0300</bug_when>
    <thetext>Перевесил на правильный компонент.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180990</commentid>
    <comment_count>2</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2019-04-19 12:10:38 +0300</bug_when>
    <thetext>Ошибку обсуждали в рассылке Sisyphus:
https://lists.altlinux.org/pipermail/sisyphus/2019-April/367894.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180991</commentid>
    <comment_count>3</comment_count>
    <who name="AEN">aen</who>
    <bug_when>2019-04-19 12:15:23 +0300</bug_when>
    <thetext>А в чем бага? Это фича такая. Но, конечно, надо было предупредить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180992</commentid>
    <comment_count>4</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2019-04-19 12:18:09 +0300</bug_when>
    <thetext>Ошибка в том, что это регрессия - недокументированное поведение о котором администраторы могут и не знать.

Более того - разные имена файлов для случаев с disttag были в изначальном плане, но так и не реализованы.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180993</commentid>
    <comment_count>5</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2019-04-19 12:25:33 +0300</bug_when>
    <thetext>(In reply to comment #0)
&gt; При зеркалировании с помощью rsync с опцией --ignore-existing c источника
&gt; rsync.altlinux.ru::Altlinux/Sisyphus с целью экономии трафика

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

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

Главное то, что такой режим нарушает целостность репозитория и не будет поддерживаться.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180996</commentid>
    <comment_count>6</comment_count>
    <who name="Dima">dimard</who>
    <bug_when>2019-04-19 12:43:36 +0300</bug_when>
    <thetext>В смысле не экономит? В противном случае придется каждый раз скачивать полный репозитарий.
 
Я наверно не дописал полностью дальнейшую работу с репозитарием!

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

Так как теперь синхронизировать репозитарии для не подключенных к интернету систем? Есть другие варианты кроме rsync?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180997</commentid>
    <comment_count>7</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2019-04-19 12:49:47 +0300</bug_when>
    <thetext>(In reply to comment #6)
&gt; В смысле не экономит? В противном случае придется каждый раз скачивать полный
&gt; репозитарий.

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

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

В данном случае важно, как вы зеркалируете, а не что вы потом делаете с зеркалом.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181009</commentid>
    <comment_count>8</comment_count>
    <who name="Dima">dimard</who>
    <bug_when>2019-04-19 13:13:38 +0300</bug_when>
    <thetext>Вы предлагаете убрать опцию --ignore-existing ? И в этом случае rsync не будет скачивать файлы которые уже есть на приемной стороне, если они у них тот-же размер и timestamp?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181010</commentid>
    <comment_count>9</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2019-04-19 13:25:57 +0300</bug_when>
    <thetext>(In reply to comment #8)
&gt; Вы предлагаете убрать опцию --ignore-existing ?

Да, конечно.

&gt; И в этом случае rsync не будет
&gt; скачивать файлы которые уже есть на приемной стороне, если они у них тот-же
&gt; размер и 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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181012</commentid>
    <comment_count>10</comment_count>
    <who name="Dima">dimard</who>
    <bug_when>2019-04-19 13:33:29 +0300</bug_when>
    <thetext>Да! Вроде работает, все решает опция --times (-t)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>