Як зробити знімок btrfs для запису?


37

Відповідно до патчу знімкових знімків btrfs Readonly , можна "встановити знімок для читання / запис, який можна записати на льоту". Тож я маю змогу btrfs snapshot -rякось перетворити знімок, створений для читання (створений за допомогою ) для запису.

Але ні btrfs subvolum manpage, ні будь-яка інша частина цієї сторінки не здають способу це зробити.


Для вирішення цього питання ви можете зробити знімок, який можна записати на знімку для читання. (Я це роблю, якщо у мене немає Інтернету, щоб шукати це питання)
matega

Відповіді:


42

Сторінка btrfs не може документувати propertyпідкоманду, яку я виявив, вітаючи джерело. Це також в btrfs --help.

Щоб встановити знімок для читання-запису, ви робите щось подібне:

btrfs property set -ts /path/to/snapshot ro false

Змініть це, щоб trueвстановити його лише для читання.

Ви також listможете переглянути доступні властивості:

btrfs property list -ts /path/to/snapshot
ro                  Set/get read-only flag of subvolume.

-tвказує тип об’єкта, над яким працювати, sозначає підтомник. Інші параметри: f(файлова система), i(inode) та d(пристрій). Якщо ви не вказуєте, він відображатиме всі застосовні (для списку) або намагатиметься відгадати для отримання / встановлення.

Редагувати: у найновіших інструментах btrfs є btrfs-propertyпідручник із документом, який документує цей підкомандний каталог, хоча він взагалі не згадується на головній сторінці. Він також доступний як сторінка властивостей btrfs у вікі .

(Примітка. Для цього потрібні нові btrfs-інструменти. Мабуть, на Debian Wheezy вам доведеться встановити оновлений з wheezy-backports; дякую artfulrobot ).


2
Ви також виявите, що в той час, як API ядра розвиваються і дистрибуції постачаються з новими і новішими ядрами, btrfs-toolsзнайдені в деяких тих же дистрибутивах не завжди вирівнюються. Таким чином, вам іноді доводилося збирати останні btrfs-інструменти з сховища git upstreams, щоб мати можливість використовувати функції btrfs вашого ядра (принаймні, це було дуже багато років тому).
Стефан Шазелас

@ StéphaneChazelas Так, безумовно. Хоча в цьому випадку я перебуваю на тестуванні Debian, в якому є btrfs-інструменти 3.14, тож це не шалено старе.
дероберт

1
@mikeserv Дійсно, як видається, 3.14.2 розділити їх. У мене 3.14.1, що лише на кілька місяців старше, згідно з kernel.org git . Але навіть поточна сторінка man не згадує властивості. Я перевірив (і пов’язаний з ним) поточний на вікі теж. Виявляється, це окрема, не пов'язана сторінка для неї.
дероберт

Мені потрібно було встановити btrfs-інструменти з Wheezy-backports, щоб змусити це працювати.
artfulrobot

@artfulrobot дякую, до відповіді додано примітку.
дероберт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.