Comment créer un instantané btrfs en écriture?

37

Selon le correctif de btrfs pour les instantanés en lecture seule, il est possible de "définir un instantané en lecture seule / inscriptible à la volée". Je devrais donc pouvoir transformer mon instantané en lecture seule (créé avec btrfs snapshot -r) en écriture, d’une manière ou d’une autre.

Mais ni la page de manuel btrfs subvolume ni aucune autre partie de cette page de manuel ne semble donner le moyen de le faire.

derobert
la source
En guise de solution de contournement, vous pouvez créer un portrait en écriture de votre instantané en lecture seule. (Je le fais si je n'ai pas Internet pour chercher cette question)
matega

Réponses:

42

La page de manuel btrfs ne parvient pas à documenter la propertysous - commande, que j'ai trouvée en grepant le source. C'est aussi dans btrfs --help.

Pour définir un instantané en lecture-écriture, procédez comme suit:

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

Changez cela en truepour le mettre en lecture seule.

Vous pouvez également utiliser listpour voir les propriétés disponibles:

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

-tspécifie le type d'objet sur slequel travailler, le sous-volume des moyens. Les autres options sont f(système de fichiers), i(inode) et d(périphérique). Si vous ne spécifiez pas, toutes les applications applicables (pour liste) ou toutes les tentatives de deviner pour obtenir / définir seront affichées.

Edit: dans les derniers outils btrfs, il existe une btrfs-propertypage de manuel documentant cette sous-commande, bien que cela ne soit pas du tout mentionné dans la page de manuel principale. Il est également disponible en tant que page de propriété btrfs sur le wiki .

(Remarque: Cela nécessite un nombre suffisant de nouveaux outils btrfs. Apparemment, sur Debian Wheezy, vous devrez installer la version mise à jour à partir de wheezy-backports; merci, artfulrobot ).

derobert
la source
2
Vous constaterez également que, même si les API du noyau évoluent et que les distributions sont livrées avec des noyaux de plus en plus récents, celles btrfs-toolstrouvées sur certaines distributions ne sont pas toujours alignées. Ainsi, vous vous êtes parfois retrouvé dans l'obligation de compiler les derniers outils btrfs du référentiel git en amont pour pouvoir utiliser les fonctionnalités btrfs de votre noyau (du moins c'était vraiment le cas il y a quelques années).
Stéphane Chazelas
@ StéphaneChazelas Oui, certainement. Bien que dans ce cas, je suis en train de tester Debian, qui a btrfs-tools 3.14, donc pas si vieux que ça.
derobert
1
@mikeserv En effet, il semble que 3.14.2 les sépare. J'ai 3.14.1, qui a seulement quelques mois de plus, selon kernel.org git . Mais même la page de manuel actuelle ne mentionne pas les propriétés. J'ai vérifié (et lié à) l'actuel sur le wiki, aussi. Il s’avère que la est une page de manuel distincte et non liée .
derobert
J'avais besoin d'installer btrfs-tools à partir de Wheezy-backports pour que cela fonctionne.
artfulrobot
@artfulrobot merci, note ajoutée à la réponse.
derobert