'\" t .\" Title: rofiles-fuse .\" Author: Colin Walters .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 01/31/2019 .\" Manual: rofiles-fuse .\" Source: rofiles-fuse .\" Language: English .\" .TH "ROFILES\-FUSE" "1" "" "rofiles-fuse" "rofiles-fuse" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" rofiles-fuse \- Use FUSE to create a view where directories are writable, files are immutable .SH "SYNOPSIS" .HP \w'\fBrofiles\-fuse\ SRCDIR\ MNTPOINT\fR\ 'u \fBrofiles\-fuse SRCDIR MNTPOINT\fR .SH "DESCRIPTION" .PP Creating a checkout from an OSTree repository by default uses hard links, which means an in\-place mutation to any file corrupts the repository and all checkouts\&. This can be problematic if one wishes to run arbitrary programs against such a checkout\&. For example, RPM %post scripts or equivalent\&. .PP In the case where one wants to create a tree commit derived from other content, using \fBrofiles\-fuse\fR in concert with \fBostree commit \-\-link\-checkout\-speedup\fR (or the underlying API) can ensure that only new files are checksummed\&. .SH "EXAMPLE: UPDATE AN OSTREE COMMIT" .sp .if n \{\ .RS 4 .\} .nf # Initialize a checkout and mount $ ostree \-\-repo=repo checkout somebranch branch\-checkout $ mkdir mnt $ rofiles\-fuse branch\-checkout mnt # Now, arbitrary changes to mnt/ are reflected in branch\-checkout $ echo somenewcontent > mnt/anewfile $ mkdir mnt/anewdir $ rm mnt/someoriginalcontent \-rf # Commit and cleanup $ fusermount \-u mnt $ ostree \-\-repo=repo commit \-\-link\-checkout\-speedup \-b somebranch \-s \*(AqCommit new content\*(Aq \-\-tree=dir=branch\-checkout $ rm mnt branch\-checkout \-rf .fi .if n \{\ .RE .\} .SH "SEE ALSO" .PP \fBostree\fR(1)