ostree/man/rofiles-fuse.1

74 lines
2.6 KiB
Groff

'\" t
.\" Title: rofiles-fuse
.\" Author: Colin Walters <walters@verbum.org>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\" Date: 06/19/2017
.\" 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)