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

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

    <bug>
          <bug_id>58222</bug_id>
          
          <creation_ts>2026-03-13 15:01:35 +0300</creation_ts>
          <short_desc>подтома var-cache, var-tmp при установке на btrfs по умолчанию</short_desc>
          <delta_ts>2026-07-07 12:01:29 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>installer</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=59705</see_also>
    
    <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=59746</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Arseny Maslennikov">arseny</reporter>
          <assigned_to name="Антон Мидюков">antohami</assigned_to>
          <cc>antohami</cc>
    
    <cc>boyarsh</cc>
    
    <cc>klark</cc>
    
    <cc>mcpain</cc>
    
    <cc>mike</cc>
    
    <cc>rider</cc>
    
    <cc>sem</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>283782</commentid>
    <comment_count>0</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-03-13 15:01:35 +0300</bug_when>
    <thetext>(прошу перевесить куда следует)

В документации пишут:

&gt; Подтома (подразделы, subvolumes) создаются ниже вершины дерева BtrFS по мере необходимости, например, для / и /home создаются подтома с именами @ и @home. Это означает, что для монтирования подтомов необходимы определенные параметры вместо корня системы BtrFS по умолчанию:
&gt; 
&gt;     подтом @ монтируется в / с помощью опции subvol=@;
&gt;     подтом @home (если он используется) монтируется с помощью параметра монтирования subvol=@home.

Здесь не написано, но @ и @home не вложены друг в друга — и это удобно, их можно независимо снепшотить, btrfs send/receive, ...

Предлагаю создавать ещё и @var-cache, @var-tmp.
 # mount VOLUME -o subvol=@var-cache /var/cache
 # mount VOLUME -o subvol=@var-tmp /var/tmp

Тогда эти два каталога, например, не будут попадать в снепшоты @.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283850</commentid>
    <comment_count>1</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2026-03-14 03:43:56 +0300</bug_when>
    <thetext>(In reply to Arseny Maslennikov from comment #0)
&gt; Тогда эти два каталога, например, не будут попадать в снепшоты @.
Нет смысла отделять их от системы, да и весят они копейки.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283856</commentid>
    <comment_count>2</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-03-14 13:59:47 +0300</bug_when>
    <thetext>(In reply to Arseny Maslennikov from comment #0)
&gt; Предлагаю создавать ещё и @var-cache, @var-tmp.
&gt;  # mount VOLUME -o subvol=@var-cache /var/cache
&gt;  # mount VOLUME -o subvol=@var-tmp /var/tmp
&gt; 
&gt; Тогда эти два каталога, например, не будут попадать в снепшоты @.
Ещё можно рассмотреть точно так же поступать с /var/log; там свои аргументы за и против.
Самый яркий аргумент &quot;за&quot; — прям не хочется, чтобы после восстановления @ из снимка логи отбрасывались до момента фиксации @ в прошлом.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283857</commentid>
    <comment_count>3</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-03-14 14:00:49 +0300</bug_when>
    <thetext>(In reply to Leonid Krivoshein from comment #1)
&gt; (In reply to Arseny Maslennikov from comment #0)
&gt; &gt; Тогда эти два каталога, например, не будут попадать в снепшоты @.
&gt; Нет смысла отделять их от системы, да и весят они копейки.
Не могу здесь согласиться.

Понятное дело, отделять можно по владению/принадлежности (могут ли две установки ОС соиспользовать раздел?), а можно по дисциплине хранения (часть установки ОС, но на другом разделе с другой ФС или даже такой же)

Отделять целый /var по принадлежности не рекомендуется, а по хранению смысла нет; про этот путь я бы размышлял так же.

Отделять /var/cache, /var/tmp от системы с т. з. принадлежности смысла скорее нет (т. е. если на btrfs-устройство поставить два гнулинукса dual-boot, то им нужны независимые /var/cache и /var/log и, ябсказал, даже /var/tmp). А вот по дисциплине хранения очень даже есть.

У меня даже не умозрительный, а популярный пример есть.
Проводим мы апгрейд, качаем пакеты, перед установкой делаем ro-снимок, ставим пакеты. откатываемся и получаем все эти гигабайты *.rpm в /var/cache/apt/archives.

Отдельные subvolumes администратор потом сможет и в qgroup добавить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283858</commentid>
    <comment_count>4</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-03-14 14:07:43 +0300</bug_when>
    <thetext>&gt; (In reply to Arseny Maslennikov from comment #0)
&gt; &gt; Тогда эти два каталога, например, не будут попадать в снепшоты @.
На это можно взглянуть и с другой стороны: должно ли их содержимое перезаписываться при восстановлении снимков других мест? Если нет, то можно вынести.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290079</commentid>
    <comment_count>5</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2026-06-24 11:52:16 +0300</bug_when>
    <thetext>Это нужно сделать в пакетах:
volumes-profile-alt-workstation
volumes-profile-kdesktop
volumes-profile-regular</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290558</commentid>
    <comment_count>6</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2026-07-02 10:50:50 +0300</bug_when>
    <thetext>В OpenSUSE
@
@/var
@/usr/local
@/srv
@/root
@/opt
@/home</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290779</commentid>
    <comment_count>7</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-07-06 19:02:36 +0300</bug_when>
    <thetext>(In reply to Sergey V Turchin from comment #6)
&gt; В OpenSUSE
&gt; @
&gt; @/var
&gt; @/usr/local
&gt; @/srv
&gt; @/root
&gt; @/opt
&gt; @/home
Пожалуй, можно /srv и /usr/local тоже отцепить в @srv и @usr-local.

/srv — точно идея хорошая по той же причине, по которой /home. Поддерживаю полностью.
/usr/local — параллельный отдельно управляемый* /usr. Отдельное им управление требует мозгов, но и применение /usr/local как таковое тоже требует мозгов. Пусть багу создаст кто-нибудь ещё, кто согласен.

Зачем отселять /root и /opt, я затрудняюсь обосновать. Видимо, о вкусах и вайбах не спорят.
Есть мнение (исповедуемое авторами пакета rootfiles), что /root — это не просто хомяк рута, а системный каталог.

____
* не пакетным менеджером, а иными средствами или пальцами.
Надо бы завести багу на среднесрочное будущее, чтобы вся болванка /usr/local/* создавалась динамически через tmpfiles.d(5) и отсутствовала в filesystem, будучи %ghost.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290780</commentid>
    <comment_count>8</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-07-06 19:05:04 +0300</bug_when>
    <thetext>(In reply to Sergey V Turchin from comment #6)
&gt; В OpenSUSE
&gt; @
&gt; @/var
&gt; &lt;...&gt;
А вот /var целиком вынести — это лишнее. Чтобы так делать, нужно, чтобы /var согласно политике дистрибутива был готов к тому, что он не часть базовой системы, и его можно сделать, например, пустым, не приведя софт в неконсистентное или неожиданное состояние. Гарантировать это для _всех_ пакетов в репозитории, а лучше и вообще всего совместимого ПО.
Не знаю, как SuSE, а мы вряд ли потянем.

Внутренности /var/cache и /var/tmp подходят, а всего каталога /var — вообще говоря, нет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290801</commentid>
    <comment_count>9</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2026-07-07 12:01:29 +0300</bug_when>
    <thetext>(Ответ для Arseny Maslennikov на комментарий #8)
&gt; А вот /var целиком вынести — это лишнее.
Да. /var/lib/rpm/ может разъехаться с системой.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>