<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Snapshot Manager</title>
    <subtitle>Easy to use snapshot management for Linux.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://snapshotmanager.github.io/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://snapshotmanager.github.io"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-01-20T00:00:00+00:00</updated>
    <id>https://snapshotmanager.github.io/atom.xml</id>
    <entry xml:lang="en">
        <title>Frequently Asked Questions (FAQs)</title>
        <published>2026-01-20T00:00:00+00:00</published>
        <updated>2026-01-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://snapshotmanager.github.io/blog/faq/"/>
        <id>https://snapshotmanager.github.io/blog/faq/</id>
        
        <content type="html" xml:base="https://snapshotmanager.github.io/blog/faq/">&lt;h1 id=&quot;frequently-asked-questions-faqs&quot;&gt;Frequently Asked Questions (FAQs)&lt;&#x2F;h1&gt;
&lt;p&gt;Our users ask a lot of reasonable and insightful questions about &lt;code&gt;snapm&lt;&#x2F;code&gt; and its usage. We have collected together some of the more common ones in this post, along with their corresponding answers.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;running-snapshot-manager&quot;&gt;Running Snapshot Manager&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; What Python version does snapm require?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; We support Python 3.9 and later.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Do you support other operating systems than Linux?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; No, and this is unlikely to change: the snapshot providers that we support are all Linux specific.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Is my distribution supported?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; The &lt;code&gt;snapm&lt;&#x2F;code&gt; command and &lt;code&gt;boom-boot&lt;&#x2F;code&gt; should work on most recent Linux distributions (using &lt;code&gt;boom&lt;&#x2F;code&gt; to create bootable snapshot sets requires a &lt;a href=&quot;https:&#x2F;&#x2F;uapi-group.org&#x2F;specifications&#x2F;specs&#x2F;boot_loader_specification&#x2F;&quot;&gt;&lt;em&gt;BLS compatible&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; boot loader: some versions of GRUB2, the zSeries zIPL, or &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man7&#x2F;systemd-boot.7.html&quot;&gt;&lt;code&gt;systemd-boot(7)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;). Distribution packages are currently available for, and are tested on, Fedora, CentOS Stream, and Red Hat Enterprise Linux.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Can I use snapm on systems without LVM?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; Snapshot Manager supports LVM2 (CoW and thin) snapshots as well as Stratis snapshots. Other storage back ends (for example, Btrfs) may be supported in future versions.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;using-snapshot-manager&quot;&gt;Using Snapshot Manager&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; What&#x27;s the difference between a Snapshot and a Snapshot Set?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; A Snapshot is an individual instance of a block device or file system snapshot (managed by &lt;code&gt;snapm&lt;&#x2F;code&gt; or not, as the case may be). A Snapshot Set is a named collection of snapshots taken at the same point in time and managed by &lt;code&gt;snapm&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Can I use the difference engine if I haven&#x27;t created any snapshot sets yet?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; No: it is only possible to create difference reports when there is at least one snapshot set to make a comparison against.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Do I need to use &lt;code&gt;boom&lt;&#x2F;code&gt; in order to use &lt;code&gt;snapm&lt;&#x2F;code&gt;?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; We require &lt;code&gt;boom&lt;&#x2F;code&gt; to create bootable snapshot sets but you don&#x27;t need to interact with it directly (you don&#x27;t even need to install the &lt;code&gt;boom-boot&lt;&#x2F;code&gt; CLI, but it can be useful for inspecting your boot entries). Unless you have unusual requirements the &lt;code&gt;snapm&lt;&#x2F;code&gt; tool can take care of all the details for you when you use the &lt;code&gt;--boot&lt;&#x2F;code&gt; or &lt;code&gt;--revert&lt;&#x2F;code&gt; options.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;snapshot-set-creation-and-management&quot;&gt;Snapshot Set Creation and Management&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; How much space do I need for snapshots?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; That is a bit of a ‘how long is a piece of string?’ question: the precise answer depends on the amount of change that occurs to the origin volume or the snapshot during its lifespan. Snapshot Manager has built-in default size policies when creating snapshot sets, but if you have a better estimate then these values should be adjusted for your particular circumstances: the default size policy is different depending on whether you are creating a snapshot from a mount point source or a block device source. For mount points the default size policy specifies twice the space currently used on the mount point (‘200%USED’ in size policy notation). For block devices it is one quarter the physical size of the device (‘25%SIZE’)&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; What happens if a snapshot runs out of space?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; This will produce errors and may invalidate the snapshot. This should be avoided as the snapshot will be rendered unusable: this will result in data loss.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Can I create snapshots of individual files or directories?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; No: none of the current snapshot providers support snapshots at this granularity. A similar result can be obtained on modern file systems via the &lt;em&gt;reflink&lt;&#x2F;em&gt; facility (see &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man1&#x2F;cp.1.html&quot;&gt;&lt;code&gt;cp(1)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;) but these snapshot-like file system objects are not managed by &lt;code&gt;snapm&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Can I modify the contents of a snapshot after creation?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; Yes. Snapshot sets are by default created in read-write mode and can be modified when mounted subject to normal file system permission checks.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Why does my snapshot set show as &quot;&lt;code&gt;Reverting&lt;&#x2F;code&gt;&quot; and how long will it take?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; This is because a &lt;code&gt;snapset revert&lt;&#x2F;code&gt; command has been issued (or the underlying storage tools have been used to initiate a revert). The time it takes depends on the snapshot provider type: in all cases, when snapshots or their origin volumes are in use, the revert operation is deferred until the next activation (normally at boot time). In the case of LVM2 CoW snapshots the underlying merge operation involves physically moving dat&lt;strong&gt;A:&lt;&#x2F;strong&gt; this takes time proportional to the amount of data in the snapshot at the time of the merge and the speed of the storage devices involved. Thin snapshot reverts (LVM2 Thin and Stratis) are instantaneous at the time the pool is activated.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;scheduling-clean-up&quot;&gt;Scheduling &amp;amp; Clean-up&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; How do I know which garbage collection policy to use?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; This depends on how much space you have, and for how long you want to keep snapshot sets around. The four policies (&lt;code&gt;ALL&lt;&#x2F;code&gt;, &lt;code&gt;COUNT&lt;&#x2F;code&gt;, &lt;code&gt;AGE&lt;&#x2F;code&gt;, &lt;code&gt;TIMELINE&lt;&#x2F;code&gt;) cover a multitude of possibilities and accept parameters to configure them for your needs. See the &lt;code&gt;snapm(8)&lt;&#x2F;code&gt; manual page for a full description of configuring and managing schedules.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Will scheduled snapshots fill up my disk?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; Potentially, yes. The thin provisioned snapshot providers are more space efficient than the LVM2 CoW provider but they will consume space from the pool they are created in (unlike LVM2 CoW which will not exceed the fixed space allocated to it from its containing volume group). You should configure a garbage collection policy with parameters that limit space consumption to an acceptable level.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; What happens to my snapshots if I delete a schedule?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; The snapshot sets will remain until they are manually deleted.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Can I manually delete snapshot sets created by a schedule?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; Yes: use the regular &lt;code&gt;snapm snapset delete&lt;&#x2F;code&gt; command with the name or UUID of the snapshot set you want to remove. The schedule garbage collection policy will continue to operate as configured.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;boot-recovery&quot;&gt;Boot &amp;amp; Recovery&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; What&#x27;s the difference between &lt;code&gt;-b&#x2F;--bootable&lt;&#x2F;code&gt; and &lt;code&gt;-r&#x2F;--revert&lt;&#x2F;code&gt;?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; The &lt;code&gt;-b&#x2F;--bootable&lt;&#x2F;code&gt; option creates a bootable snapshot set. When you select the resulting Snapshot boot entry the snapshot set will boot in place of the normal system environment, allowing you to look around and make changes. The &lt;code&gt;-r&#x2F;--revert&lt;&#x2F;code&gt; option is used to create a fail safe revert boot entry. This is used in conjunction with the &lt;code&gt;snapm snapset revert&lt;&#x2F;code&gt; command to revert the system to the state reflected in the snapshot set. The revert boot entry uses backup boot images by default to protect against the case where the original copies have already been removed from the live system. See the &lt;code&gt;snapm(8)&lt;&#x2F;code&gt; manual page for full instructions on using Snapshot Manager&#x27;s boot integration features.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Can I boot into a snapshot set without reverting to it?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; Yes. Select the appropriate Snapshot boot entry from your system&#x27;s boot menu to boot into the corresponding snapshot set. Subsequently, when you reboot, the system will by default boot into the normal (non snapshot) environment.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; What happens if I reboot while a revert is in progress?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; The revert will continue the next time that its volumes are activated.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Do I need to create boot entries manually?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; No: use the &lt;code&gt;-b&#x2F;--bootable&lt;&#x2F;code&gt; and &lt;code&gt;-r&#x2F;--revert&lt;&#x2F;code&gt; options when creating snapshot sets and &lt;code&gt;snapm&lt;&#x2F;code&gt; will take care of the necessary details.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;compatibility-integration&quot;&gt;Compatibility &amp;amp; Integration&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Can I use regular storage commands on snapm managed volumes?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; Yes: you are free to mix LVM2 or Stratis commands with your &lt;code&gt;snapm&lt;&#x2F;code&gt; commands. Just don&#x27;t rename the logical volumes or Stratis file systems (or &lt;code&gt;snapm&lt;&#x2F;code&gt; will no longer recognise them as snapshot set members).&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Will snapm interfere with my existing LVM2 or Stratis snapshots?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; No: snapm will not touch any snapshots that it did not create.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Does snapm work with Stratis or other storage systems?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; Yes: snapm currently supports LVM2 and Stratis with native (in tree) plugins. Support for Btrfs will be added in a future version.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Can I use snapm with encrypted volumes?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; ‘It depends’: &lt;code&gt;snapm&lt;&#x2F;code&gt; currently supports LVM2 volume groups that are encrypted at the physical volume level (encrypted VGs) as well as encrypted Stratis pools. Support for individually encrypted LVM2 logical volumes will be included in a future release: see &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;issues&#x2F;916&quot;&gt;Issue #916&lt;&#x2F;a&gt; for more information.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;performance-safety&quot;&gt;Performance &amp;amp; Safety&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Does creating snapshots impact system performance?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; Potentially, yes. This is particularly acute when you have multiple LVM2 CoW snapshots of the same volume. In this case performance is significantly degraded when more than a handful of snapshots exist.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Is it safe to snapshot a running database?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; It depends on your definition of ‘safe’: the resulting snapshot will be internally consistent at the file system level but the database data will almost certainly not be &lt;em&gt;application consistent&lt;&#x2F;em&gt;. See the next question for more information. We are in the process of creating documentation to discuss this important topic in greater detail.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; What level of consistency do snapshots provide?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; It depends on how and when they are taken and whether the system was prepared for the snapshot beforehand. Snapshots are always &lt;em&gt;file system consistent&lt;&#x2F;em&gt; due to the mechanisms used by the kernel but achieving &lt;em&gt;application consistency&lt;&#x2F;em&gt; currently depends on the administrator to stop services or isolate to a &lt;code&gt;systemd&lt;&#x2F;code&gt; target such as &lt;code&gt;rescue&lt;&#x2F;code&gt; before creating snapshot sets.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Can snapshots protect against hardware failure?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; Snapshots live on the same storage as your data. A catastrophic hardware failure may affect both your main volumes and your snapshots. For this reason we always recommend combining snapm use with a carefully designed and tested backup strategy.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;troubleshooting&quot;&gt;Troubleshooting&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; Why can&#x27;t I mount my snapshot set?&lt;br &#x2F;&gt;
&lt;strong&gt;A:&lt;&#x2F;strong&gt; First check the snapshot set is not &lt;code&gt;Invalid&lt;&#x2F;code&gt; by examining the &lt;code&gt;Status&lt;&#x2F;code&gt; field in the output of &lt;code&gt;snapm snapset list&lt;&#x2F;code&gt;. If this is the case then the volume will be inaccessible (and difficult to repair — recovery of an invalid CoW exception store is beyond the scope of this FAQ). If the snapshot is valid check the output of &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man1&#x2F;dmesg.1.html&quot;&gt;&lt;code&gt;dmesg(1)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; or &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man1&#x2F;journalctl.1.html&quot;&gt;&lt;code&gt;journalctl(1)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; and consider consulting the &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man8&#x2F;fsck.8.html&quot;&gt;&lt;code&gt;fsck(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; program for your file system (preferably, to start, in check&#x2F;read only&#x2F;dry run mode if supported).&lt;&#x2F;p&gt;
&lt;p&gt;Note that if you are trying to mount a snapshot of an &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man5&#x2F;xfs.5.html&quot;&gt;&lt;code&gt;xfs(5)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; file system while its origin volume is also mounted you will need to specify &lt;code&gt;-o nouuid&lt;&#x2F;code&gt; when running the &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man8&#x2F;mount.8.html&quot;&gt;&lt;code&gt;mount(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; program to avoid a UUID collision.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q:&lt;&#x2F;strong&gt; My &lt;code&gt;diff&lt;&#x2F;code&gt; or &lt;code&gt;diffreport&lt;&#x2F;code&gt; command is taking forever — is this normal?
&lt;strong&gt;A:&lt;&#x2F;strong&gt; The time taken for difference computation is proportional to the size of the file system (number of files and directories) and the degree of change between the volumes being compared. It is normal for difference calculations for large volumes with many changes to take some time (minutes to tens of minutes for very large file systems). You may be able to gain more insight into what is happening by enabling verbose logs and debugging. Refer to the &lt;code&gt;snapm(8)&lt;&#x2F;code&gt; manual page for details of available debug and logging settings.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Your First Snapshot Set</title>
        <published>2026-01-20T00:00:00+00:00</published>
        <updated>2026-01-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://snapshotmanager.github.io/blog/your-first-snapshot-set/"/>
        <id>https://snapshotmanager.github.io/blog/your-first-snapshot-set/</id>
        
        <content type="html" xml:base="https://snapshotmanager.github.io/blog/your-first-snapshot-set/">&lt;h1 id=&quot;your-first-snapshot-set&quot;&gt;Your First Snapshot Set&lt;&#x2F;h1&gt;
&lt;p&gt;A snapshot set is a collection of snapshots, bound together with a name, and created at a common point in time&lt;sup class=&quot;footnote-reference&quot; id=&quot;fr-1-1&quot;&gt;&lt;a href=&quot;#fn-1&quot;&gt;1&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;. At a bare minimum, to create one, you just need a name and a list of sources (&lt;em&gt;mount points&lt;&#x2F;em&gt; or &lt;em&gt;block devices&lt;&#x2F;em&gt;) that you would like to include in the set. More advanced options exist to give additional control over the creation process and the resulting snapshot set: we will cover these in detail in future blog posts.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;choosing-sources-first-things-to-know&quot;&gt;Choosing Sources: First Things to know&lt;&#x2F;h2&gt;
&lt;p&gt;Before you can create your first snapshot set you&#x27;ll need to ensure that you have everything necessary in place:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;You need snapshot capable storage: LVM2 regular or thin provisioned volumes, or Stratis file systems.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;You need free space for your snapshots to use (either in an LVM2 volume group with regular volumes, or in the thin pool containing the volumes with LVM2 Thin provisioning or Stratis storage).&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;You&#x27;ll need to know the mount point or block device path for the volumes you wish to include in your snapshot set.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;You need &lt;code&gt;snapm&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;For your first experiment, it doesn&#x27;t matter what you snapshot as long as it meets these criteria. Later, when you are using the tool in anger, you can craft specific commands for different use cases or automate the process via schedules. To get the most from this exercise, it is helpful to be able to make some changes to whatever you snapshot so you&#x27;ll have genuine differences to examine.&lt;&#x2F;p&gt;
&lt;p&gt;If you haven&#x27;t already installed the &lt;code&gt;snapm&lt;&#x2F;code&gt; command on your system read &lt;a href=&quot;https:&#x2F;&#x2F;snapshotmanager.github.io&#x2F;blog&#x2F;getting-snapm&#x2F;&quot;&gt;Getting &lt;code&gt;snapm&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; and follow the instructions there: then return here to continue.&lt;&#x2F;p&gt;
&lt;p&gt;Sources for Snapshot Manager can be either &lt;strong&gt;mount points&lt;&#x2F;strong&gt;, or &lt;strong&gt;block devices&lt;&#x2F;strong&gt;. A &lt;em&gt;mount point&lt;&#x2F;em&gt; source corresponds to a mounted file system. You can specify it either by mount point path (for example, &lt;code&gt;&#x2F;home&lt;&#x2F;code&gt;) or by the underlying block device path (for example, &lt;code&gt;&#x2F;dev&#x2F;vg0&#x2F;home&lt;&#x2F;code&gt;). A &lt;em&gt;block device source&lt;&#x2F;em&gt; is a block device that is not mounted and that need not contain a mountable file system image (for example, databases, virtual machine images, and other non file system content).&lt;&#x2F;p&gt;
&lt;p&gt;Snapshot Manager uses the mechanism of &lt;em&gt;provider plugins&lt;&#x2F;em&gt; to support different types of storage. A &lt;strong&gt;provider plugin&lt;&#x2F;strong&gt; corresponds to a particular storage technology (LVM2 CoW, LVM2 Thin, Stratis, and so on). The &lt;code&gt;snapm&lt;&#x2F;code&gt; command will determine the correct plugins to use for any given source (assuming that one exists and is able to snapshot the requested volume) — you do not need to specify which plugins to use on the command line.&lt;&#x2F;p&gt;
&lt;p&gt;Some familiarity with your storage stack&#x27;s management tools will help when it comes to planning, monitoring, and finding your way around (whether that&#x27;s &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man8&#x2F;vgs.8.html&quot;&gt;&lt;code&gt;vgs(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man8&#x2F;lvs.8.html&quot;&gt;&lt;code&gt;lvs(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;, et al. for &lt;strong&gt;LVM2&lt;&#x2F;strong&gt;, or the &lt;a href=&quot;https:&#x2F;&#x2F;www.mankier.com&#x2F;8&#x2F;stratis&quot;&gt;&lt;code&gt;stratis(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; command line tool for &lt;strong&gt;Stratis storage&lt;&#x2F;strong&gt;). Knowledge of common Linux administrative tools like the &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man8&#x2F;mount.8.html&quot;&gt;&lt;code&gt;mount(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; program, &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man8&#x2F;findmnt.8.html&quot;&gt;&lt;code&gt;findmnt(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man8&#x2F;lsblk.8.html&quot;&gt;&lt;code&gt;lsblk(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man8&#x2F;blkid.8.html&quot;&gt;&lt;code&gt;blkid(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; will also be an advantage — refer to the respective manual pages for more details, or check out one of the many great Linux systems administration tutorials available on the internet.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;naming-your-snapshot-set&quot;&gt;Naming Your Snapshot Set&lt;&#x2F;h2&gt;
&lt;p&gt;You are free to name your snapshot set anything you like within the constraints enforced by &lt;code&gt;snapm&lt;&#x2F;code&gt; and its provider plugins:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;The &lt;code&gt;_&lt;&#x2F;code&gt; (underscore) character is not permitted.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;The valid characters for snapshot set names are the ASCII lowercase and uppercase alphabetic characters, the digits, and the symbols &lt;code&gt;.&lt;&#x2F;code&gt;, &lt;code&gt;+&lt;&#x2F;code&gt;, and &lt;code&gt;-&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Certain strings may be forbidden by particular provider plugins: for instance, LVM2 reserves the string &lt;code&gt;_mlog&lt;&#x2F;code&gt; (and others) for internal logical volume names (refer to &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man8&#x2F;lvm.8.html&quot;&gt;&lt;code&gt;lvm(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man7&#x2F;lvmraid.7.html&quot;&gt;&lt;code&gt;lvmraid(7)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; and related manual pages for more information).&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Certain providers may enforce a maximum name length, for example, for LVM2 volumes this is 127 characters. Note that this limit includes parts of the internal name generated by &lt;code&gt;snapm&lt;&#x2F;code&gt; (which varies according to the mount point the snapshot refers to), so the usable name length is somewhat shorter. Nobody likes long device names anyway so this should not be a concern in most situations.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Any provider that represents the snapshot name as an entry in the file system (which includes all current and planned snapshot providers) is naturally limited by the maximum allowed file name length on Linux (255 characters). Again, this absolute maximum is reduced somewhat by the need for &lt;code&gt;snapm&lt;&#x2F;code&gt; to encode various information into the names it generates.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;If you include a &lt;code&gt;.&lt;&#x2F;code&gt; followed by a nonnegative number at the end of your snapshot set name &lt;code&gt;snapm&lt;&#x2F;code&gt; will consider it to be an index. This is useful when taking recurring snapshots sets of the same things with a common base name. You can also have &lt;code&gt;snapm&lt;&#x2F;code&gt; add one automatically using the &lt;code&gt;--autoindex&lt;&#x2F;code&gt; option (more on that in a later post).&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;it is generally best to not include a date or time reference in the name unless you really, really want to: &lt;code&gt;snapm&lt;&#x2F;code&gt; already stores the creation time of the snapshot set as a UNIX epoch timestamp value and renders it as human readable date and time strings in the local time zone.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;The name &lt;code&gt;.&lt;&#x2F;code&gt; is reserved by snapm for referencing the live root file system.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Aim for memorable and meaningful names: &lt;code&gt;quux-foo-backup&lt;&#x2F;code&gt; might seem like a good idea at the time, when you&#x27;re typing in a hurry, but future you will thank present you for coming up with something more self-explanatory.&lt;&#x2F;p&gt;
&lt;p&gt;Good names might be:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;before-upgrade&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;after-upgrade&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;pre-deployment&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;post-deployment&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;hourly.N&lt;&#x2F;code&gt; (where &lt;code&gt;N&lt;&#x2F;code&gt; is an integer uniquifying index either appended manually or enabled automatically with &lt;code&gt;--autoindex&lt;&#x2F;code&gt; - see &lt;code&gt;snapm(8)&lt;&#x2F;code&gt;)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Bad names would include:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;backup&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;thing&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;thisone&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;thatone&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;something-something-something-snapshot-side&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;foo&lt;&#x2F;code&gt;, &lt;code&gt;fubar&lt;&#x2F;code&gt;, &lt;code&gt;plugh&lt;&#x2F;code&gt;, &lt;code&gt;quux&lt;&#x2F;code&gt;, &lt;code&gt;qwerty&lt;&#x2F;code&gt;, &lt;code&gt;thud&lt;&#x2F;code&gt;, &lt;code&gt;xyzzy&lt;&#x2F;code&gt;, etc.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;overriding-the-default-size-policy&quot;&gt;Overriding The Default Size Policy&lt;&#x2F;h2&gt;
&lt;p&gt;Snapshot Manager provides size policies that allow the user to request that a certain amount of space be available when creating snapshots. For some providers (LVM2 Thin, Stratis) this is simply a check that this space is available at the time the snapshot set is created. For LVM2 CoW it determines the actual size of the snapshot exception store that the tool will allocate.&lt;&#x2F;p&gt;
&lt;p&gt;The default size policy is different depending on whether you are creating a snapshot from a mount point source or a block device source. For mount points the default size policy specifies twice the space currently used on the mount point (&lt;code&gt;200%USED&lt;&#x2F;code&gt; in size policy notation). For block devices it is one quarter the physical size of the device (&lt;code&gt;25%SIZE&lt;&#x2F;code&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;To override these defaults, either append a colon and size policy to individual sources (&lt;code&gt;:POLICY&lt;&#x2F;code&gt;) or use &lt;code&gt;--size-policy=POLICY&lt;&#x2F;code&gt; for all sources without explicit policies.&lt;&#x2F;p&gt;
&lt;p&gt;For example:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;&#x2F;:2GiB&lt;&#x2F;code&gt; — specify a source of &lt;code&gt;&#x2F;&lt;&#x2F;code&gt; (the root file system) with a fixed 2GiB size policy&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;&#x2F;:100%SIZE &#x2F;home:50%SIZE&lt;&#x2F;code&gt; — specify sources for root and home with a policy requesting 100% and 50% of their respective device sizes&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--size-policy=100%SIZE&lt;&#x2F;code&gt; — set the policy for all sources not otherwise specified on the command line to be 100% of the corresponding device size&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;the-snapm-snapset-create-command&quot;&gt;The &lt;code&gt;snapm snapset create&lt;&#x2F;code&gt; command&lt;&#x2F;h2&gt;
&lt;p&gt;With the basics explained it&#x27;s time to actually create a snapshot set with the &lt;code&gt;snapm snapset create&lt;&#x2F;code&gt; command. Take your chosen name and list of sources and append them to the command line, then hit Enter to run the program and create the snapshot set:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;# snapm snapset create my-first-set &#x2F; &#x2F;var
&lt;&#x2F;span&gt;&lt;span&gt;SnapsetName: my-first-set
&lt;&#x2F;span&gt;&lt;span&gt;Sources: &#x2F;, &#x2F;var
&lt;&#x2F;span&gt;&lt;span&gt;NrSnapshots: 2
&lt;&#x2F;span&gt;&lt;span&gt;Time: 2026-01-13 12:44:12
&lt;&#x2F;span&gt;&lt;span&gt;UUID: 0ea16412-8ceb-59d4-af0b-9afa79d306e9
&lt;&#x2F;span&gt;&lt;span&gt;Status: Inactive
&lt;&#x2F;span&gt;&lt;span&gt;Categories: daily, hourly
&lt;&#x2F;span&gt;&lt;span&gt;Autoactivate: no
&lt;&#x2F;span&gt;&lt;span&gt;OriginMounted: yes
&lt;&#x2F;span&gt;&lt;span&gt;Mounted: no
&lt;&#x2F;span&gt;&lt;span&gt;Bootable: no
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;That&#x27;s all there is to it! Before we conclude let&#x27;s take a brief look at the output the tool produces:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;SnapsetName&lt;&#x2F;code&gt; — the name you gave to the snapshot set&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Sources&lt;&#x2F;code&gt; — the list of sources (minus any size policy that was specified on the command line)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;NrSnapshots&lt;&#x2F;code&gt; — the number of snapshots contained in this set&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Time&lt;&#x2F;code&gt; — the time and date the snapshot set was created in your local time zone&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;UUID&lt;&#x2F;code&gt; — a unique identifier for the snapshot set (a Version 5 UUID to be exact&lt;sup class=&quot;footnote-reference&quot; id=&quot;fr-2-1&quot;&gt;&lt;a href=&quot;#fn-2&quot;&gt;2&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Status&lt;&#x2F;code&gt; — the status of this snapshot set: one of &lt;code&gt;Active&lt;&#x2F;code&gt;, &lt;code&gt;Inactive&lt;&#x2F;code&gt;, &lt;code&gt;Invalid&lt;&#x2F;code&gt;, or &lt;code&gt;Reverting&lt;&#x2F;code&gt;)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Categories&lt;&#x2F;code&gt; — the timeline categories that this snapshot set belongs to: we will cover timeline categories, scheduling, and automatic garbage collection in a future blog post.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Autoactivate&lt;&#x2F;code&gt; — whether automatic boot time activation is enabled for this snapshot set: &lt;code&gt;yes&lt;&#x2F;code&gt; or &lt;code&gt;no&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;OriginMounted&lt;&#x2F;code&gt; — the mount status of this snapshot set&#x27;s origin devices: &lt;code&gt;yes&lt;&#x2F;code&gt; or &lt;code&gt;no&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Mounted&lt;&#x2F;code&gt; — the mount status of this snapshot set: &lt;code&gt;yes&lt;&#x2F;code&gt; or &lt;code&gt;no&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Bootable&lt;&#x2F;code&gt; — whether this snapshot set has &lt;a href=&quot;https:&#x2F;&#x2F;www.mankier.com&#x2F;8&#x2F;boom&quot;&gt;&lt;code&gt;boom(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; boot entries or not: &lt;code&gt;yes&lt;&#x2F;code&gt; or &lt;code&gt;no&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;We will get to all of these properties and their precise meaning in good time, but for now the &lt;code&gt;Status&lt;&#x2F;code&gt; field deserves a little more explanation: some snapshot providers (LVM2 Thin, Stratis) support optional activation for snapshot devices.&lt;&#x2F;p&gt;
&lt;p&gt;This means that you don&#x27;t have snapshot devices cluttering the system and using resources when they are not required and is therefore more efficient — especially when dealing with very large numbers of snapshots. For LVM2 CoW the snapshot volume must be active at all times that the origin is active.&lt;&#x2F;p&gt;
&lt;p&gt;If your snapshot set includes thin snapshots (LVM2 Thin or Stratis) then it will begin its life in the &lt;code&gt;Inactive&lt;&#x2F;code&gt; state&lt;sup class=&quot;footnote-reference&quot; id=&quot;fr-3-1&quot;&gt;&lt;a href=&quot;#fn-3&quot;&gt;3&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;. If it only includes LVM2 CoW snapshots then it will begin in the &lt;code&gt;Active&lt;&#x2F;code&gt; state (and cannot, in fact, become &lt;code&gt;Inactive&lt;&#x2F;code&gt; unless the origin volume is also inactive).&lt;&#x2F;p&gt;
&lt;p&gt;If you receive an error message instead of the expected output shown above study it carefully to try to understand what it is telling you. Most error conditions have a clear message that explains exactly what is wrong. The most common error is ‘not enough space’: if you run into this you will see a message like this rather than the snapshot set summary:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;# snapm snapset create my-first-set &#x2F; &#x2F;var
&lt;&#x2F;span&gt;&lt;span&gt;ERROR - Error creating lvm2-cow snapshot: Volume group fedora has insufficient free space to snapshot &#x2F; (14.5GiB &amp;lt; 15.1GiB)
&lt;&#x2F;span&gt;&lt;span&gt;ERROR - Command failed: Insufficient free space for snapshot set my-first-set
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;If this happens you can resolve the problem in one of these three ways:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add more space to the volume group or thin pool&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Delete one or more unneeded volumes to reclaim space&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Change the size policy to create a smaller snapshot&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;If you receive some other error refer to the &lt;code&gt;snapm(8)&lt;&#x2F;code&gt; manual page and the &lt;a href=&quot;https:&#x2F;&#x2F;snapshotmanager.github.io&#x2F;blog&#x2F;faq&#x2F;&quot;&gt;FAQ&lt;&#x2F;a&gt;: you may find that your problem already has a straightforward answer. If not then you can reach out to your distribution&#x27;s support channels or the developers for assistance&lt;sup class=&quot;footnote-reference&quot; id=&quot;fr-4-1&quot;&gt;&lt;a href=&quot;#fn-4&quot;&gt;4&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;care-and-feeding-of-your-snapshot-set&quot;&gt;Care and Feeding of Your Snapshot Set&lt;&#x2F;h2&gt;
&lt;p&gt;Now that you have a snapshot set that captures the state of your system at some moment in time you need to know how to look after it. This is essentially the same task as you would need to carry out for any other volume managed with your tool of choice. The major point to bear in mind is that both thin and LVM2 CoW snapshots can run out of space. It is important to ensure that this does not happen for the reasons explained in the &lt;a href=&quot;https:&#x2F;&#x2F;snapshotmanager.github.io&#x2F;blog&#x2F;faq&#x2F;#performance-safety&quot;&gt;Performance &amp;amp; Safety section of the Snapshot Manager FAQ&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;As an example, using the snapshot set created in the previous step we see the following output when running the &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man8&#x2F;lvs.8.html&quot;&gt;&lt;code&gt;lvs(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; program&lt;sup class=&quot;footnote-reference&quot; id=&quot;fr-5-1&quot;&gt;&lt;a href=&quot;#fn-5&quot;&gt;5&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;# lvs -o lv_name,lv_size,data_percent
&lt;&#x2F;span&gt;&lt;span&gt;LV                                           LSize Data% 
&lt;&#x2F;span&gt;&lt;span&gt;root                                        10.00g 
&lt;&#x2F;span&gt;&lt;span&gt;root-snapset_my-first-set_1768308252_-       1.00g  0.19 
&lt;&#x2F;span&gt;&lt;span&gt;swap                                       512.00m 
&lt;&#x2F;span&gt;&lt;span&gt;var                                         12.00g 
&lt;&#x2F;span&gt;&lt;span&gt;var-snapset_my-first-set_1768308252_-var     1.20g  0.19 
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Note the 0.19% value in the &lt;code&gt;Data%&lt;&#x2F;code&gt; column: this is the percentage of the snapshot exception store that has been used so far. In this case it&#x27;s a very healthy value. If the value begins to approach 100% you need to take action using &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man8&#x2F;lvresize.8.html&quot;&gt;&lt;code&gt;lvresize(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; or &lt;code&gt;snapm snapset resize&lt;&#x2F;code&gt; in order to avoid the snapshot being invalidated.&lt;&#x2F;p&gt;
&lt;p&gt;We will discuss more comprehensive monitoring and maintenance strategies in later blog updates. For now, you can use your regular storage administration tools (whether that is &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man8&#x2F;lvs.8.html&quot;&gt;&lt;code&gt;lvs(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; for LVM2 volumes, or the &lt;a href=&quot;https:&#x2F;&#x2F;www.mankier.com&#x2F;8&#x2F;stratis&quot;&gt;&lt;code&gt;stratis(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; command for Stratis storage), or the &lt;code&gt;snapm snapshot list&lt;&#x2F;code&gt; command to keep an eye on the space available to your snapshots. You can resize individual snapshots using the corresponding tool (for example, &lt;a href=&quot;https:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man8&#x2F;lvresize.8.html&quot;&gt;&lt;code&gt;lvresize(8)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; for LVM2), or you can use the &lt;code&gt;snapm snapset resize&lt;&#x2F;code&gt; command to apply new size policies to an already created snapshot set.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;visualizing-changes&quot;&gt;Visualizing Changes&lt;&#x2F;h2&gt;
&lt;p&gt;Before we conclude let&#x27;s take a look at some of the advanced features in recent versions of &lt;code&gt;snapm&lt;&#x2F;code&gt;. For this part of the exercise, it helps if you can make some small change to the system. We will assume that your snapshot set included the root file system in this example but if that isn&#x27;t the case you can adjust the paths used accordingly. We suggest creating a single new file — something simple made with the &lt;code&gt;echo&lt;&#x2F;code&gt; command is fine for our purposes:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;# echo &amp;quot;Something changed!&amp;quot; &amp;gt; &#x2F;etc&#x2F;my-new-file.conf
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Now that you have a definitive change in the file system state, use the &lt;code&gt;snapm snapset diff&lt;&#x2F;code&gt; command to view it:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;# snapm snapset diff my-first-set . -s &#x2F;etc -i &#x2F;etc&#x2F;my-new-file.conf
&lt;&#x2F;span&gt;&lt;span&gt;Gathering paths from my-first-set &#x2F;etc: found 1879 paths
&lt;&#x2F;span&gt;&lt;span&gt;Scanned 1879 paths in 0:00:00.784354 (excluded 0)
&lt;&#x2F;span&gt;&lt;span&gt;Gathering paths from System Root &#x2F;etc: found 1880 paths
&lt;&#x2F;span&gt;&lt;span&gt;Scanned 1880 paths in 0:00:00.539372 (excluded 0)
&lt;&#x2F;span&gt;&lt;span&gt;Found 7 differences in 0:00:00.012717
&lt;&#x2F;span&gt;&lt;span&gt;Found 0 moves in 0:00:00.004574
&lt;&#x2F;span&gt;&lt;span&gt;Saved 7 records to diffcache in 0:00:00.014500
&lt;&#x2F;span&gt;&lt;span&gt;Built tree with 7 nodes
&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;
&lt;&#x2F;span&gt;&lt;span&gt;└── [*] etc
&lt;&#x2F;span&gt;&lt;span&gt;    └── [+] my-new-file.conf
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Note that &lt;code&gt;my-new-file.conf&lt;&#x2F;code&gt; appears with the &lt;code&gt;[+]&lt;&#x2F;code&gt; annotation (in green if your terminal supports color output) indicating that it is a new file system entry added since &lt;code&gt;my-first-set&lt;&#x2F;code&gt; was created.&lt;&#x2F;p&gt;
&lt;p&gt;To see the exact change in the file content you can use the &lt;code&gt;-o&#x2F;--output-format diff&lt;&#x2F;code&gt; option of the &lt;code&gt;snapm snapset diff&lt;&#x2F;code&gt; command:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;# snapm snapset diff my-first-set . -o diff -s &#x2F;etc -i &#x2F;etc&#x2F;my-new-file.conf
&lt;&#x2F;span&gt;&lt;span&gt;Loaded 1 records from diffcache in 0:00:00.000226
&lt;&#x2F;span&gt;&lt;span&gt;Found 1 content differences
&lt;&#x2F;span&gt;&lt;span&gt;diff a&#x2F;etc&#x2F;my-new-file.conf b&#x2F;etc&#x2F;my-new-file.conf
&lt;&#x2F;span&gt;&lt;span&gt;new file mode 0o100644
&lt;&#x2F;span&gt;&lt;span&gt;--- &#x2F;dev&#x2F;null	
&lt;&#x2F;span&gt;&lt;span&gt;+++ b&#x2F;etc&#x2F;my-new-file.conf	2026-01-20 16:59:42.257636
&lt;&#x2F;span&gt;&lt;span&gt;@@ -0,0 +1 @@
&lt;&#x2F;span&gt;&lt;span&gt;+Something changed!
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;There are two key details to notice here:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;-o diff&lt;&#x2F;code&gt; output is displayed in &lt;em&gt;unified diff&lt;&#x2F;em&gt; format (again with color coding if your terminal supports that)&lt;&#x2F;li&gt;
&lt;li&gt;The results appear quickly when the second command is run. This is because the differences from the first run are cached and reused.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;To see all the differences found between the snapshot set and the live system, remove the &lt;code&gt;-i &#x2F;etc&#x2F;my-new-file.conf&lt;&#x2F;code&gt; argument and run the command again:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;# snapm snapset diff my-first-set . -s &#x2F;etc
&lt;&#x2F;span&gt;&lt;span&gt;Gathering paths from my-first-set &#x2F;etc: found 1879 paths
&lt;&#x2F;span&gt;&lt;span&gt;Scanned 1879 paths in 0:00:00.662213 (excluded 0)
&lt;&#x2F;span&gt;&lt;span&gt;Gathering paths from System Root &#x2F;etc: found 1880 paths
&lt;&#x2F;span&gt;&lt;span&gt;Scanned 1880 paths in 0:00:00.527266 (excluded 0)
&lt;&#x2F;span&gt;&lt;span&gt;Found 7 differences in 0:00:00.012590
&lt;&#x2F;span&gt;&lt;span&gt;Found 0 moves in 0:00:00.004542
&lt;&#x2F;span&gt;&lt;span&gt;Saved 7 records to diffcache in 0:00:00.014054
&lt;&#x2F;span&gt;&lt;span&gt;Built tree with 7 nodes
&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;
&lt;&#x2F;span&gt;&lt;span&gt;└── [*] etc
&lt;&#x2F;span&gt;&lt;span&gt;    ├── lvm
&lt;&#x2F;span&gt;&lt;span&gt;    │   ├── [*] archive
&lt;&#x2F;span&gt;&lt;span&gt;    │   │   ├── [-] fedora_00018-1908271671.vg
&lt;&#x2F;span&gt;&lt;span&gt;    │   │   └── [+] fedora_00028-486902226.vg
&lt;&#x2F;span&gt;&lt;span&gt;    │   └── [*] backup
&lt;&#x2F;span&gt;&lt;span&gt;    │       └── [*] fedora
&lt;&#x2F;span&gt;&lt;span&gt;    └── [+] my-new-file.conf
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Note that in this example we see changes in the &lt;code&gt;&#x2F;etc&#x2F;lvm&lt;&#x2F;code&gt; directory: we are using LVM2 on this system and this is a natural consequence of LVM2&#x27;s default metadata archival and backup settings. Do not be concerned if you see similar changes on your system when trying this out. In this example we also see that the cache is not used - this is because the new &lt;code&gt;snapset diff&lt;&#x2F;code&gt; command is using different options.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;&#x2F;h2&gt;
&lt;p&gt;That&#x27;s it for now! We will look at more advanced uses of &lt;code&gt;snapm&lt;&#x2F;code&gt; and the full set of &lt;em&gt;Difference Engine&lt;&#x2F;em&gt; features in future blog posts. In the meantime check out the &lt;code&gt;snapm(8)&lt;&#x2F;code&gt; manual page and the &lt;a href=&quot;https:&#x2F;&#x2F;snapm.readthedocs.io&#x2F;en&#x2F;latest&#x2F;user_guide.html&quot;&gt;User Guide&lt;&#x2F;a&gt; if this post whetted your appetite for more Snapshot Manager features!&lt;&#x2F;p&gt;
&lt;p&gt;If you would like to clean up and remove the snapshot set on your system, use the &lt;code&gt;snapm snapset delete&lt;&#x2F;code&gt; command:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;# snapm snapset delete my-first-set
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn-1&quot;&gt;
&lt;p&gt;The snapshots making up a set are created sequentially, since there is presently no interface in Linux for creating multiple snapshots simultaneously. For this reason the individual snapshots will all have very slightly different timestamps. Snapshot Manager quantises these timestamps to provide a single unambiguous creation time for the set as a whole. &lt;a href=&quot;#fr-1-1&quot;&gt;↩&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li id=&quot;fn-2&quot;&gt;
&lt;p&gt;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Universally_unique_identifier#Versions_3_and_5_(namespace_name-based) &lt;a href=&quot;#fr-2-1&quot;&gt;↩&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li id=&quot;fn-3&quot;&gt;
&lt;p&gt;Unless creating bootable snapshot sets, in which case autoactivate is always enabled and the set will start out in the &lt;code&gt;Active&lt;&#x2F;code&gt; state (We will cover bootable snapshot sets in detail in a future post). &lt;a href=&quot;#fr-3-1&quot;&gt;↩&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li id=&quot;fn-4&quot;&gt;
&lt;p&gt;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;issues&#x2F; &lt;a href=&quot;#fr-4-1&quot;&gt;↩&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li id=&quot;fn-5&quot;&gt;
&lt;p&gt;We are using the &lt;code&gt;lvs&lt;&#x2F;code&gt; program&#x27;s &lt;code&gt;-o&#x2F;--options&lt;&#x2F;code&gt; argument here to make sure the displayed fields fit on the page. By default you will see more columns in the tool output. &lt;a href=&quot;#fr-5-1&quot;&gt;↩&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;&#x2F;section&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Getting snapm</title>
        <published>2026-01-13T00:00:00+00:00</published>
        <updated>2026-01-13T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://snapshotmanager.github.io/blog/getting-snapm/"/>
        <id>https://snapshotmanager.github.io/blog/getting-snapm/</id>
        
        <content type="html" xml:base="https://snapshotmanager.github.io/blog/getting-snapm/">&lt;h1 id=&quot;getting-snapm&quot;&gt;Getting &lt;code&gt;snapm&lt;&#x2F;code&gt;&lt;&#x2F;h1&gt;
&lt;p&gt;Snapshot Manager is a Python application. It is simple to install whether you are working from distribution provided packages, or installing the latest source from git. For most users we recommend using distribution packages where available - you&#x27;ll be able to take advantage of automatic updates and simplified configuration, but read on to discover how to install &lt;code&gt;snapm&lt;&#x2F;code&gt; using various methods, and where to obtain the Python packages and source code if required.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;1-installing-distribution-packages-with-dnf-recommended-for-most-users&quot;&gt;1. Installing distribution packages with &lt;code&gt;dnf&lt;&#x2F;code&gt; (recommended for most users).&lt;&#x2F;h2&gt;
&lt;p&gt;What you&#x27;ll need:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A Linux system installed with a recent edition of &lt;a href=&quot;https:&#x2F;&#x2F;fedoraproject.org&quot;&gt;Fedora&lt;&#x2F;a&gt; (F42+), &lt;a href=&quot;https:&#x2F;&#x2F;www.centos.org&#x2F;download&#x2F;&quot;&gt;CentOS Stream&lt;&#x2F;a&gt; (c9s+), or &lt;a href=&quot;https:&#x2F;&#x2F;developers.redhat.com&#x2F;products&#x2F;rhel&#x2F;download&quot;&gt;Red Hat Enterprise Linux&lt;&#x2F;a&gt; (RHEL9.6 onward).&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Administrative privileges (or membership of the wheel group).&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;A working internet connection.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Using the native dnf package management tool, open a terminal and either switch to the root account by running &lt;code&gt;su -&lt;&#x2F;code&gt; (if you have a root account password configured), or prefix the &lt;code&gt;dnf install&lt;&#x2F;code&gt; command with &lt;code&gt;sudo&lt;&#x2F;code&gt;, give the appropriate password when prompted, and &lt;code&gt;dnf&lt;&#x2F;code&gt; will do its thing, pull the packages down and get them installed:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;$ su -
&lt;&#x2F;span&gt;&lt;span&gt;Password:
&lt;&#x2F;span&gt;&lt;span&gt;# dnf -y install snapm
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Or:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;$ sudo dnf -y install snapm
&lt;&#x2F;span&gt;&lt;span&gt;[sudo] password for bmr: 
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;For example, on Fedora 42 with &lt;code&gt;snapm-0.7.0-1.fc42&lt;&#x2F;code&gt; the installation will look something like this:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;# dnf -y install snapm
&lt;&#x2F;span&gt;&lt;span&gt;Updating and loading repositories:
&lt;&#x2F;span&gt;&lt;span&gt;Repositories loaded.
&lt;&#x2F;span&gt;&lt;span&gt;Package                  Arch    Version                  Repository        Size
&lt;&#x2F;span&gt;&lt;span&gt;Installing:
&lt;&#x2F;span&gt;&lt;span&gt; snapm                   noarch  0.7.0-1.fc42             updates       38.0 KiB
&lt;&#x2F;span&gt;&lt;span&gt;Installing dependencies:
&lt;&#x2F;span&gt;&lt;span&gt; python3-snapm           noarch  0.7.0-1.fc42             updates        1.6 MiB
&lt;&#x2F;span&gt;&lt;span&gt;Installing weak dependencies:
&lt;&#x2F;span&gt;&lt;span&gt; boom-boot               noarch  1.6.8-2.fc42             updates       30.3 KiB
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;Transaction Summary:
&lt;&#x2F;span&gt;&lt;span&gt; Installing:         3 packages
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;Total size of inbound packages is 475 KiB. Need to download 475 KiB.
&lt;&#x2F;span&gt;&lt;span&gt;After this operation, 2 MiB extra will be used (install 2 MiB, remove 0 B).
&lt;&#x2F;span&gt;&lt;span&gt;[1&#x2F;3] snapm-0:0.7.0-1.fc42.noarch       100% | 395.7 KiB&#x2F;s |  36.8 KiB |  00m00s
&lt;&#x2F;span&gt;&lt;span&gt;[2&#x2F;3] boom-boot-0:1.6.8-2.fc42.noarch   100% | 245.4 KiB&#x2F;s |  29.5 KiB |  00m00s
&lt;&#x2F;span&gt;&lt;span&gt;[3&#x2F;3] python3-snapm-0:0.7.0-1.fc42.noar 100% |   2.0 MiB&#x2F;s | 408.8 KiB |  00m00s
&lt;&#x2F;span&gt;&lt;span&gt;--------------------------------------------------------------------------------
&lt;&#x2F;span&gt;&lt;span&gt;[3&#x2F;3] Total                             100% |   1.3 MiB&#x2F;s | 475.0 KiB |  00m00s
&lt;&#x2F;span&gt;&lt;span&gt;Running transaction
&lt;&#x2F;span&gt;&lt;span&gt;[1&#x2F;5] Verify package files              100% | 250.0   B&#x2F;s |   3.0   B |  00m00s
&lt;&#x2F;span&gt;&lt;span&gt;[2&#x2F;5] Prepare transaction               100% |  21.0   B&#x2F;s |   3.0   B |  00m00s
&lt;&#x2F;span&gt;&lt;span&gt;[3&#x2F;5] Installing python3-snapm-0:0.7.0- 100% |  20.7 MiB&#x2F;s |   1.7 MiB |  00m00s
&lt;&#x2F;span&gt;&lt;span&gt;[4&#x2F;5] Installing snapm-0:0.7.0-1.fc42.n 100% | 542.2 KiB&#x2F;s |  41.2 KiB |  00m00s
&lt;&#x2F;span&gt;&lt;span&gt;[5&#x2F;5] Installing boom-boot-0:1.6.8-2.fc 100% |  33.1 KiB&#x2F;s |  31.4 KiB |  00m01s
&lt;&#x2F;span&gt;&lt;span&gt;Complete!
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Note that the &lt;code&gt;boom-boot&lt;&#x2F;code&gt; package (containing the boom boot manager CLI) is a weak dependency of &lt;code&gt;snapm&lt;&#x2F;code&gt; - that is to say, it is recommended but not required (the &lt;code&gt;python3-snapm&lt;&#x2F;code&gt; package separately depends on the &lt;code&gt;python3-boom&lt;&#x2F;code&gt; package that provides the procedural API that &lt;code&gt;snapm&lt;&#x2F;code&gt; uses). If you&#x27;re installing &lt;code&gt;snapm&lt;&#x2F;code&gt; for manual use (rather than automation using the API or Ansible roles) you probably want to have &lt;code&gt;boom&lt;&#x2F;code&gt; installed too - it is the easiest way to get deeper insight into your snapshot boot entries.&lt;&#x2F;p&gt;
&lt;p&gt;If you would like to also have the HTML documentation available to browse locally add the &lt;code&gt;python3-snapm-doc&lt;&#x2F;code&gt; package name to your &lt;code&gt;dnf install&lt;&#x2F;code&gt; invocation.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;2-installing-copr-builds-from-github-early-access-to-new-features-fixes&quot;&gt;2. Installing copr builds from GitHub (early access to new features &amp;amp; fixes)&lt;&#x2F;h2&gt;
&lt;p&gt;What you&#x27;ll need:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The URL or PR# of the pull request that you want to install a build from.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;A Linux system installed with a recent edition of &lt;a href=&quot;https:&#x2F;&#x2F;fedoraproject.org&quot;&gt;Fedora&lt;&#x2F;a&gt; (F42+), &lt;a href=&quot;https:&#x2F;&#x2F;www.centos.org&#x2F;download&#x2F;&quot;&gt;CentOS Stream&lt;&#x2F;a&gt; (c9s+), or &lt;a href=&quot;https:&#x2F;&#x2F;developers.redhat.com&#x2F;products&#x2F;rhel&#x2F;download&quot;&gt;Red Hat Enterprise Linux&lt;&#x2F;a&gt; (RHEL9.6 onward).&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;The package &lt;code&gt;python3-dnf-plugins-core&lt;&#x2F;code&gt; installed for the DNF copr plugin.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Administrative privileges (or membership of the wheel group).&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;A working internet connection.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;In this scenario, we&#x27;ll be using the DNF support for copr repositories in the core plug-ins package to enable a pull request repository and install the packages.&lt;&#x2F;p&gt;
&lt;p&gt;Either open the pull request web page, locate the comment from the Packit build system, and copy the provided &lt;code&gt;dnf&lt;&#x2F;code&gt; command for your distribution, or construct the repository argument for the dnf copr enable command as follows: ‘packit&#x2F;snapshotmanager-snapm-PR#’, where PR# is the pull request number assigned by GitHub in the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;&quot;&gt;snapshotmanager&#x2F;snapm&lt;&#x2F;a&gt; repository.&lt;&#x2F;p&gt;
&lt;p&gt;The command will end up looking like this:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;# dnf copr enable packit&#x2F;snapshotmanager-snapm-830
&lt;&#x2F;span&gt;&lt;span&gt;https:&#x2F;&#x2F;copr.fedorainfracloud.org&#x2F;api_ 100% | 696.0 B&#x2F;s | 485.0 B | 00m01s
&lt;&#x2F;span&gt;&lt;span&gt;Enabling a Copr repository. Please note that this repository is not part
&lt;&#x2F;span&gt;&lt;span&gt;of the main distribution, and quality may vary.
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;The Fedora Project does not exercise any power over the contents of
&lt;&#x2F;span&gt;&lt;span&gt;this repository beyond the rules outlined in the Copr FAQ at
&lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;https:&#x2F;&#x2F;docs.pagure.org&#x2F;copr.copr&#x2F;user_documentation.html#what-i-can-build-in-copr&amp;gt;,
&lt;&#x2F;span&gt;&lt;span&gt;and packages are not held to any quality or security level.
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;Please do not file bug reports about these packages in Fedora
&lt;&#x2F;span&gt;&lt;span&gt;Bugzilla. In case of problems, contact the owner of this repository.
&lt;&#x2F;span&gt;&lt;span&gt;Is this ok [y&#x2F;N]: y
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Enter ‘y’ when prompted to confirm enabling the repository then follow the instructions from &lt;a href=&quot;https:&#x2F;&#x2F;snapshotmanager.github.io&#x2F;blog&#x2F;getting-snapm&#x2F;#1-installing-distribution-packages-with-dnf-recommended-for-most-users&quot;&gt;1.&lt;&#x2F;a&gt; to install the packages. When first installing packages from a new copr repository, you will be prompted to accept the Open PGP key used for signing packages in that repository: decide whether you trust the publisher of the builds, and enter ‘y’ to accept if so.&lt;&#x2F;p&gt;
&lt;p&gt;Note that the &lt;code&gt;copr&lt;&#x2F;code&gt; builds produced by the Packit build system are transient: they are retained for 60 days, after which the package repositories are permanently deleted. This should not be a problem in most cases as the builds are intended to be used for short term testing and feedback on active development.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;3-installing-from-pypi-bleeding-edge-releases-some-assembly-required&quot;&gt;3. Installing from PyPi (Bleeding Edge Releases: Some Assembly Required)&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A Linux system installed with a recent edition of &lt;a href=&quot;https:&#x2F;&#x2F;fedoraproject.org&quot;&gt;Fedora&lt;&#x2F;a&gt; (F42+), &lt;a href=&quot;https:&#x2F;&#x2F;www.centos.org&#x2F;download&#x2F;&quot;&gt;CentOS Stream&lt;&#x2F;a&gt; (c9s+), or &lt;a href=&quot;https:&#x2F;&#x2F;developers.redhat.com&#x2F;products&#x2F;rhel&#x2F;download&quot;&gt;Red Hat Enterprise Linux&lt;&#x2F;a&gt; (RHEL9.6 onward).&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;The package &lt;code&gt;python3-pip&lt;&#x2F;code&gt; installed for the pip program.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Administrative privileges (or membership of the wheel group).&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;A working internet connection.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;New releases of &lt;code&gt;snapm&lt;&#x2F;code&gt; are pushed to the public PyPi repository at &lt;a href=&quot;https:&#x2F;&#x2F;pypi.org&#x2F;project&#x2F;snapm&#x2F;&quot;&gt;snapm&lt;&#x2F;a&gt;. Often these will be available before updates to distribution packages are published (particularly for &lt;a href=&quot;https:&#x2F;&#x2F;www.centos.org&#x2F;download&#x2F;&quot;&gt;CentOS Stream&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;developers.redhat.com&#x2F;products&#x2F;rhel&#x2F;download&quot;&gt;Red Hat Enterprise Linux&lt;&#x2F;a&gt;). These are mostly provided for users wanting to consume bleeding-edge releases in CI environments and are not typically recommended for end-users. You can install the latest code from PyPi using the &lt;code&gt;pip&lt;&#x2F;code&gt; command, including in a Python virtual environment.&lt;&#x2F;p&gt;
&lt;p&gt;To install the latest package available (after activating any &lt;code&gt;venv&lt;&#x2F;code&gt;, if you wish to use one):&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;$ [sudo] pip install snapm
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;You can install &lt;code&gt;snapm&lt;&#x2F;code&gt; as a regular user or system wide, but be aware of the consequences of running pip as the root user if opting for the latter: consult your distribution&#x27;s Python packaging documentation for further information. The &lt;code&gt;snapm&lt;&#x2F;code&gt; command requires administrative privileges for all snapshot management operations (but you can view the builtin help text as any user).&lt;&#x2F;p&gt;
&lt;p&gt;Just bear in mind: the Python packages do not currently include the configuration, systemd units, or manual pages that are included in the source and RPM distributions. This is a result of changes in the Python packaging ecosystem and the deprecation of &lt;code&gt;data_files&lt;&#x2F;code&gt; support in Python &lt;code&gt;setuptools&lt;&#x2F;code&gt;. You can reuse previously installed configuration files and resources to some extent but these may be out-of-date compared to the installation you are getting from PyPi. You will need to make any corrections or adjustments yourself. The easiest way to get these missing pieces is to clone the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;&quot;&gt;source repository&lt;&#x2F;a&gt; and copy the files to their proper locations with the following commands:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;$ sudo mkdir -p &#x2F;etc&#x2F;snapm&#x2F;plugins.d &#x2F;etc&#x2F;snapm&#x2F;schedule.d
&lt;&#x2F;span&gt;&lt;span&gt;$ sudo cp systemd&#x2F;*.timer &#x2F;usr&#x2F;lib&#x2F;systemd&#x2F;system
&lt;&#x2F;span&gt;&lt;span&gt;$ sudo cp systemd&#x2F;*.service &#x2F;usr&#x2F;lib&#x2F;systemd&#x2F;system
&lt;&#x2F;span&gt;&lt;span&gt;$ sudo cp systemd&#x2F;tmpfiles.d&#x2F;snapm.conf &#x2F;usr&#x2F;lib&#x2F;tmpfiles.d
&lt;&#x2F;span&gt;&lt;span&gt;$ sudo systemd-tmpfiles –create &#x2F;usr&#x2F;lib&#x2F;tmpfiles.d&#x2F;snapm.conf
&lt;&#x2F;span&gt;&lt;span&gt;$ sudo systemctl daemon-reload
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;If you would also like to install the latest manual pages, copy them from the man&#x2F; directory in the source tree into the appropriate location for your distribution (normally &lt;code&gt;&#x2F;usr&#x2F;share&#x2F;man&#x2F;man{5,8}&lt;&#x2F;code&gt;).&lt;&#x2F;p&gt;
&lt;h2 id=&quot;4-installing-or-running-from-source-for-experts-contributors&quot;&gt;4. Installing or Running From Source (For Experts &amp;amp; Contributors)&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A Linux system installed with a recent edition of &lt;a href=&quot;https:&#x2F;&#x2F;fedoraproject.org&quot;&gt;Fedora&lt;&#x2F;a&gt; (F42+), &lt;a href=&quot;https:&#x2F;&#x2F;www.centos.org&#x2F;download&#x2F;&quot;&gt;CentOS Stream&lt;&#x2F;a&gt; (c9s+), or &lt;a href=&quot;https:&#x2F;&#x2F;developers.redhat.com&#x2F;products&#x2F;rhel&#x2F;download&quot;&gt;Red Hat Enterprise Linux&lt;&#x2F;a&gt; (RHEL9.6 onward).&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;A working installation of the &lt;code&gt;git&lt;&#x2F;code&gt; version control system.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;(Optionally) the package &lt;code&gt;python3-pip&lt;&#x2F;code&gt; installed for the pip program.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Administrative privileges (or membership of the wheel group).&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;A working internet connection.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;First clone the &lt;code&gt;snapm&lt;&#x2F;code&gt; repository from GitHub with the command:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;$ git clone https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Optionally, also clone the boom-boot repository into the same parent directory (this is useful if you want to test or work on features or fixes that span both &lt;code&gt;snapm&lt;&#x2F;code&gt; and boom):&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;$ git clone https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;boom-boot
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;To run &lt;code&gt;snapm&lt;&#x2F;code&gt; from the source tree, gain root privileges, change to the directory where you cloned the source (normally &lt;code&gt;snapm&#x2F;&lt;&#x2F;code&gt;, relative to the directory where git-clone ran), and run the command:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;# . scripts&#x2F;setpaths.sh
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This will set the &lt;code&gt;PATH&lt;&#x2F;code&gt; and &lt;code&gt;PYTHONPATH&lt;&#x2F;code&gt; environment variables appropriately for you to run &lt;code&gt;snapm&lt;&#x2F;code&gt; from the checked-out sources. It will also enable support for using the checked out copy of &lt;code&gt;boom-boot&lt;&#x2F;code&gt; if you also cloned that (assuming it is found at the path &lt;code&gt;..&#x2F;boom-boot&lt;&#x2F;code&gt; relative to the &lt;code&gt;snapm&#x2F;&lt;&#x2F;code&gt; directory).&lt;&#x2F;p&gt;
&lt;p&gt;You can now run the &lt;code&gt;snapm&lt;&#x2F;code&gt; and boom commands using the latest source from &lt;code&gt;git&lt;&#x2F;code&gt;. Every time you pull or checkout a new revision subsequent invocations will use that copy of the code.&lt;&#x2F;p&gt;
&lt;p&gt;To install the current revision in a git clone, run:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;$ sudo pip install .
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Just remember that all the caveats from &lt;a href=&quot;https:&#x2F;&#x2F;snapshotmanager.github.io&#x2F;blog&#x2F;getting-snapm&#x2F;#3-installing-from-pypi-bleeding-edge-releases-some-assembly-required&quot;&gt;3.&lt;&#x2F;a&gt; apply to git clones too: you are responsible for ensuring all configuration files are in place, and for keeping them up-to-date with any code changes.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;5-what-s-in-the-box&quot;&gt;5. What&#x27;s in the Box?&lt;&#x2F;h2&gt;
&lt;p&gt;Depending on how &lt;code&gt;snapm&lt;&#x2F;code&gt; was installed the package will include some or all of the components needed to run and learn about the tool. This varies according to the packaging format (or lack thereof, in the case of source installations).&lt;&#x2F;p&gt;
&lt;h3 id=&quot;5-1-source-distribution&quot;&gt;5.1 Source Distribution&lt;&#x2F;h3&gt;
&lt;p&gt;The source distribution (a git checkout or a tarball) includes all the source and in tree documentation for Snapshot Manager but you are responsible for installing it and making it usable on your system. Refer to &lt;a href=&quot;https:&#x2F;&#x2F;snapshotmanager.github.io&#x2F;blog&#x2F;getting-snapm&#x2F;#3-installing-from-pypi-bleeding-edge-releases-some-assembly-required&quot;&gt;3.&lt;&#x2F;a&gt; for instructions.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;5-2-rpm-packages&quot;&gt;5.2 RPM Packages&lt;&#x2F;h3&gt;
&lt;p&gt;The &lt;code&gt;snapm&lt;&#x2F;code&gt; project is packaged for RPM based distributions as three subpackages that all build from the same source RPM:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;snapm&lt;&#x2F;code&gt; — The &lt;code&gt;snapm(8)&lt;&#x2F;code&gt; program, its manual pages, configuration files, systemd units, &lt;code&gt;tmpfiles.d&lt;&#x2F;code&gt; configuration, and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;blob&#x2F;main&#x2F;README.md&quot;&gt;&lt;code&gt;README.md&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;python3-snapm&lt;&#x2F;code&gt; — The Python API comprising the &lt;code&gt;snapm&lt;&#x2F;code&gt; Python package.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;python3-snapm-doc&lt;&#x2F;code&gt; — HTML user and API documentation, normally found in &lt;code&gt;&#x2F;usr&#x2F;share&#x2F;doc&#x2F;python3-snapm-doc&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;You can browse the documentation installed on your system by running the following command (assuming you have a working web browser in a reasonably modern desktop environment):&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;$ xdg-open &#x2F;usr&#x2F;share&#x2F;doc&#x2F;python3-snapm-doc&#x2F;doc&#x2F;html&#x2F;index.html
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Or by visiting &lt;a href=&quot;file:&#x2F;&#x2F;&#x2F;usr&#x2F;share&#x2F;doc&#x2F;python3-snapm-doc&#x2F;doc&#x2F;html&#x2F;index.html&quot;&gt;this URL&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;5-3-pypi-packages&quot;&gt;5.3 PyPi Packages&lt;&#x2F;h3&gt;
&lt;p&gt;The PyPi (pip) packages include only the executable code that makes up Snapshot Manager. You will need to configure the program yourself and install any documentation you wish to use, following the directions in section &lt;a href=&quot;https:&#x2F;&#x2F;snapshotmanager.github.io&#x2F;blog&#x2F;getting-snapm&#x2F;#3-installing-from-pypi-bleeding-edge-releases-some-assembly-required&quot;&gt;3.&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>snapm 0.7.0 Release Notes</title>
        <published>2026-01-06T00:00:00+00:00</published>
        <updated>2026-01-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://snapshotmanager.github.io/blog/snapm-release-notes-0-7-0/"/>
        <id>https://snapshotmanager.github.io/blog/snapm-release-notes-0-7-0/</id>
        
        <content type="html" xml:base="https://snapshotmanager.github.io/blog/snapm-release-notes-0-7-0/">&lt;h1 id=&quot;overview&quot;&gt;Overview&lt;&#x2F;h1&gt;
&lt;p&gt;This release introduces significant new features, fixes, and quality of life improvements. These include enhancements to the &lt;a href=&quot;https:&#x2F;&#x2F;snapm.readthedocs.io&#x2F;en&#x2F;latest&#x2F;user_guide.html#difference-engine&quot;&gt;Difference Engine&lt;&#x2F;a&gt;: support for multiple &lt;code&gt;-s|--start-path&lt;&#x2F;code&gt; arguments, cache fixes, better file type detection when not using &lt;code&gt;--file-types&lt;&#x2F;code&gt;, and improved move detection behaviour when multiple destinations exist, as well as support for plugin priorities in &lt;code&gt;Manager&lt;&#x2F;code&gt; and the in-tree plugins (for example, allowing the administrator to choose between &lt;code&gt;lvm2-thin&lt;&#x2F;code&gt;, and &lt;code&gt;lvm2-cow&lt;&#x2F;code&gt; snapshot providers where both can snapshot the same volume), better documentation for the Mount Manager in the &lt;a href=&quot;https:&#x2F;&#x2F;snapm.readthedocs.io&#x2F;en&#x2F;latest&#x2F;user_guide.html&quot;&gt;&lt;em&gt;User Guide&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;, and a new, user-visible timeline categorization (&quot;yearly&quot;, &quot;monthly&quot;, &quot;weekly&quot;, &quot;daily&quot;, etc.) that is available for all snapshot sets. This release also includes a fix for the &lt;code&gt;snapm&lt;&#x2F;code&gt; &#x2F; &lt;code&gt;podman&lt;&#x2F;code&gt; netns mount issue &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;wiki&#x2F;Known-issue:-snapm-snapset-%7Bmount,umount%7D-and-podman-netfs-mounts&quot;&gt;documented&lt;&#x2F;a&gt; in earlier releases (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;issues&#x2F;586&quot;&gt;#586&lt;&#x2F;a&gt;) and stronger validation for &lt;code&gt;schedule create&lt;&#x2F;code&gt; name arguments (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;issues&#x2F;906&quot;&gt;#906&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;Users should upgrade to &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;releases&#x2F;tag&#x2F;v0.7.0&quot;&gt;v0.7.0&lt;&#x2F;a&gt; as soon as possible to take advantage of these enhancements.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;notes&quot;&gt;Notes&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;It is now possible to specify the &lt;code&gt;-s|--start&lt;&#x2F;code&gt; path multiple times when invoking the &lt;code&gt;snapset diff&lt;&#x2F;code&gt; and &lt;code&gt;snapset diffreport&lt;&#x2F;code&gt; commands. This allows the user to compare multiple independent subtrees in a single &lt;code&gt;diff&lt;&#x2F;code&gt; operation.&lt;&#x2F;li&gt;
&lt;li&gt;The path based file type detection has been improved to support more common file extensions, text and binary path locations, and categorisations.&lt;&#x2F;li&gt;
&lt;li&gt;A new &lt;code&gt;BINARY_LOG&lt;&#x2F;code&gt; file type categorisation has been added to describe files such as &lt;code&gt;wtmp&lt;&#x2F;code&gt;, SAR logs, and the journal.&lt;&#x2F;li&gt;
&lt;li&gt;Plugins now support a &lt;code&gt;PluginPriority&lt;&#x2F;code&gt; configuration that specifies a positive integer priority level. The plugin with the greatest priority is chosen when multiple plugins can snapshot the same device. This allows the user to prefer &lt;code&gt;lvm2-cow&lt;&#x2F;code&gt; snapshots over &lt;code&gt;lvm2-thin&lt;&#x2F;code&gt; where both are possible and will in future allow support for file system level snapshots (for example, Btrfs). Refer to &lt;code&gt;snapm(8)&lt;&#x2F;code&gt;, and &lt;code&gt;snapm-plugins.d(5)&lt;&#x2F;code&gt; for further information on configuring plugin priorities.&lt;&#x2F;li&gt;
&lt;li&gt;The Mount Manager is now described in the on-line and in-package &lt;a href=&quot;https:&#x2F;&#x2F;snapm.readthedocs.io&#x2F;en&#x2F;latest&#x2F;user_guide.html&quot;&gt;&lt;em&gt;User Guide&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;The Mount Manager now handles unmounting of duplicate &lt;code&gt;&#x2F;run&#x2F;netns&lt;&#x2F;code&gt; mounts via a targeted workaround.&lt;&#x2F;li&gt;
&lt;li&gt;The timeline classification algorithm used by the &lt;code&gt;Timeline&lt;&#x2F;code&gt; garbage collection policy has been generalised and is now available for all snapshot sets via the &quot;Categories&quot; snapshot set property and &quot;categories&quot; report field.&lt;&#x2F;li&gt;
&lt;li&gt;The static file type classifier now uses a broader set of rules for classifying likely text or binary content types.&lt;&#x2F;li&gt;
&lt;li&gt;The &lt;code&gt;tree&lt;&#x2F;code&gt; output format of the &lt;code&gt;snapset diff&lt;&#x2F;code&gt; command now displays separate nodes for paths that have both been moved and modified (for example, a file that was backed up and then changed in-place).&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;what-s-changed&quot;&gt;What&#x27;s Changed&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;doc: add new snapm logo to README.md by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;823&quot;&gt;#823&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;doc: update &lt;code&gt;README.md&lt;&#x2F;code&gt; and &lt;code&gt;user_guide.rst&lt;&#x2F;code&gt; with mount manager and difference engine  by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;830&quot;&gt;#830&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;snapm: btrfs plugin pre-requisite features and fixes by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;843&quot;&gt;#843&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Fixes for progress log interleaving and text-like best-guess file type detection by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;851&quot;&gt;#851&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;fsdiff: add &lt;code&gt;BINARY_LOG&lt;&#x2F;code&gt; file type category and fix &lt;code&gt;TEXT_FILE_PATHS&lt;&#x2F;code&gt; prefixing by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;855&quot;&gt;#855&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;fsdiff: ctrl char glitches when diff -o tree --color=always | less -R by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;857&quot;&gt;#857&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;fsdiff: tolerate missing &lt;code&gt;python-file-magic&lt;&#x2F;code&gt; and work around &lt;code&gt;Magic.close()&lt;&#x2F;code&gt; bug by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;859&quot;&gt;#859&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;fsdiff: make &lt;code&gt;include_system_dirs&lt;&#x2F;code&gt; more robust and disable in next release by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;871&quot;&gt;#871&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;fsdiff: implement cheap sibbling proximity heuristic for moves by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;874&quot;&gt;#874&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;fsdiff: support &lt;code&gt;DiffOptions.from_path&lt;&#x2F;code&gt; as list by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;875&quot;&gt;#875&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;plugins: bump plugin versions for prio support by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;876&quot;&gt;#876&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;tests: improve &lt;code&gt;snapm.fsdiff&lt;&#x2F;code&gt; coverage by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;881&quot;&gt;#991&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;snapm: lift timeline classification logic up to &lt;code&gt;SnapshotSet&lt;&#x2F;code&gt; by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;885&quot;&gt;#885&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;snapm: don&#x27;t alpha sort categories in reports by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;892&quot;&gt;#892&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;mounts: container mount workarounds by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;900&quot;&gt;#900&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;snapm: schedule name checks by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;910&quot;&gt;#910&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;fsdiff: add &lt;code&gt;DiffOptions.no_mem_check&lt;&#x2F;code&gt; &#x2F; &lt;code&gt;--no-mem-check&lt;&#x2F;code&gt; option by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;912&quot;&gt;#912&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;snapm: broaden file type heuristics for suffix paths and support multiple change records in tree rendering by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;913&quot;&gt;#913&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Full Changelog&lt;&#x2F;strong&gt;: &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;compare&#x2F;v0.6.0...v0.7.0&quot;&gt;v0.6.0..v0.7.0&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>snapm 0.5.3 Release Notes</title>
        <published>2026-01-05T00:00:00+00:00</published>
        <updated>2026-01-05T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://snapshotmanager.github.io/blog/snapm-release-notes-0-5-3/"/>
        <id>https://snapshotmanager.github.io/blog/snapm-release-notes-0-5-3/</id>
        
        <content type="html" xml:base="https://snapshotmanager.github.io/blog/snapm-release-notes-0-5-3/">&lt;h1 id=&quot;overview&quot;&gt;Overview&lt;&#x2F;h1&gt;
&lt;p&gt;This is a maintenance release for &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;tree&#x2F;snapm-0.5-stable&quot;&gt;snapm-0.5-stable&lt;&#x2F;a&gt; that includes two bug fixes.&lt;&#x2F;p&gt;
&lt;p&gt;Users of snapm-0.5.x who are unable to upgrade to a later y-stream release
should update to
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;releases&#x2F;tag&#x2F;v0.5.3&quot;&gt;v0.5.3&lt;&#x2F;a&gt; as soon
as possible to take advantage of these fixes.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-s-changed&quot;&gt;What&#x27;s Changed&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Timeline index fix for v0.5.2 by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;609&quot;&gt;#609&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;boot: hex escape literal &#x27;:&#x27; in values passed to systemd.{mount,swap}-extra
by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;894&quot;&gt;#894&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Full Changelog&lt;&#x2F;strong&gt;: &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;compare&#x2F;v0.5.2...v0.5.3&quot;&gt;v0.5.2..v0.5.3&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>snapm 0.6.0 Release Notes</title>
        <published>2025-12-22T00:00:00+00:00</published>
        <updated>2025-12-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://snapshotmanager.github.io/blog/snapm-release-notes-0-6-0/"/>
        <id>https://snapshotmanager.github.io/blog/snapm-release-notes-0-6-0/</id>
        
        <content type="html" xml:base="https://snapshotmanager.github.io/blog/snapm-release-notes-0-6-0/">&lt;h1 id=&quot;overview&quot;&gt;Overview&lt;&#x2F;h1&gt;
&lt;p&gt;This release introduces significant new features and fixes, including the
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;541&quot;&gt;Mount Manager&lt;&#x2F;a&gt; and the
&lt;a href=&quot;https:&#x2F;&#x2F;snapm.readthedocs.io&#x2F;en&#x2F;latest&#x2F;user_guide.html#difference-engine&quot;&gt;Difference
Engine&lt;&#x2F;a&gt;
for efficiently computing changes between two snapshot sets, or the system root
file system and a snapshot set. Fixes include Stratis plugin performance
enhancements and bug fixes for lvm2 device callouts.&lt;&#x2F;p&gt;
&lt;p&gt;Users should upgrade to
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;releases&#x2F;tag&#x2F;v0.6.0&quot;&gt;v0.6.0&lt;&#x2F;a&gt; as soon
as possible to take advantage of these enhancements.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;notes&quot;&gt;Notes&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;It is now possible to mount individual snapshot sets and interact with them
using the &lt;code&gt;snapset {mount,umount}&lt;&#x2F;code&gt;, &lt;code&gt;snapset exec&lt;&#x2F;code&gt;, and &lt;code&gt;snapset shell&lt;&#x2F;code&gt;
commands. Snapshot sets are mounted under &lt;code&gt;&#x2F;run&#x2F;snapm&#x2F;mounts&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Comprehensive file system comparison is now available with the &lt;code&gt;snapset diff&lt;&#x2F;code&gt;
and &lt;code&gt;snapset diffreport&lt;&#x2F;code&gt; commands. See &lt;code&gt;snapm(8)&lt;&#x2F;code&gt; and the &lt;a href=&quot;https:&#x2F;&#x2F;snapm.readthedocs.io&#x2F;en&#x2F;latest&#x2F;user_guide.html#difference-engine&quot;&gt;user
guide&lt;&#x2F;a&gt;
for more information.&lt;&#x2F;li&gt;
&lt;li&gt;The &lt;code&gt;snapm.fsdiff&lt;&#x2F;code&gt; API is considered unstable and may be subject to change in
a future release.&lt;&#x2F;li&gt;
&lt;li&gt;The &lt;code&gt;snapset diff&lt;&#x2F;code&gt; &lt;code&gt;--output-format=json&lt;&#x2F;code&gt; JSON schema is also potentially
subject to change and will be formalised in a future release.&lt;&#x2F;li&gt;
&lt;li&gt;The &lt;code&gt;snapset diff&lt;&#x2F;code&gt;&#x2F;&lt;code&gt;snapset diffreport&lt;&#x2F;code&gt; command syntax is stable but output
and formatting may change in future releases.&lt;&#x2F;li&gt;
&lt;li&gt;Future releases may include new content differs for specific file types and
more comprehensive file type detection when libmagic is disabled.&lt;&#x2F;li&gt;
&lt;li&gt;Generating content diffs of large file system trees with many content changes
may consume large amounts of memory: &lt;code&gt;snapm&lt;&#x2F;code&gt; will refuse to diff trees if
&lt;code&gt;VmRSS&lt;&#x2F;code&gt; exceeds 33% of system memory after walking the filesystem. Caching is
disabled if &lt;code&gt;VmRSS&lt;&#x2F;code&gt; exceeds 60% of system memory after computing diffs.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;what-s-changed&quot;&gt;What&#x27;s Changed&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;lvm2: Fix &quot;no device&quot; case for _is_lvm_device() and avoid no provider test if
&#x2F;boot is not a mount point by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;589&quot;&gt;#589&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Add mount manager by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;541&quot;&gt;#541&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;snapm: fix renaming of snapshot sets with boot entries by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;591&quot;&gt;#591&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;schedule: fix timeline garbage collection by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;596&quot;&gt;#596&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;schedule: fix TIMELINE policy retention indexing when &lt;code&gt;keep_x &amp;gt; len(x)&lt;&#x2F;code&gt; by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;607&quot;&gt;#607&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;stratis: re-use initial DBus query for StratisSnapshot cache by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;615&quot;&gt;#615&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;container_tests: fix GcPolicyParamsTimeline.evaluate() tests edge case by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;628&quot;&gt;#628&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Clean up and enhance progress implementation by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;646&quot;&gt;#646&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;doc: add missing snapm.manager._mounts to Sphinx docs by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;661&quot;&gt;#661&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Fix progress message overflow, bar width, and BrokenPipeError handling by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;662&quot;&gt;#662&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;progress: clean up Progress and add Throbber classes by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;675&quot;&gt;#675&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;progress: Fix &lt;code&gt;Throbber&lt;&#x2F;code&gt; &lt;code&gt;no_clear&lt;&#x2F;code&gt; bug and add styles by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;679&quot;&gt;#679&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;mounts: fix incorrect SnapshotSet instead of name in name_map by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;684&quot;&gt;#684&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;snapm: add fsdiff snapshot set comparison facility by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;620&quot;&gt;#620&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;progress: cleanups and log integration by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;698&quot;&gt;#698&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;snapm: implement snapshot set comparison UI (snapm snapset diff) by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;707&quot;&gt;#707&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;snapm: address v0.6.0 feature&#x2F;fix release blockers by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;759&quot;&gt;#759&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;snapm: fix &quot;Computing diffs&quot; progress bar flicker and at move detector
progress by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;775&quot;&gt;#775&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;doc: add missing links, summary format and clarify defaults for output
formats by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;779&quot;&gt;#779&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;fsdiff: catch EOFError on truncated cache file by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;782&quot;&gt;#782&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;fsdiff: move detector may mis-detect identical files as moves by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;784&quot;&gt;#784&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;fsdiff: optimize cache writing and add progress reporting by
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;791&quot;&gt;#791&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;fsdiff: implement best-effort file type detection and &quot;always exclude&quot; paths
by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bmr-cymru&#x2F;&quot;&gt;@bmr-cymru&lt;&#x2F;a&gt; in
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;pull&#x2F;810&quot;&gt;#810&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;known-issues&quot;&gt;Known issues&lt;&#x2F;h2&gt;
&lt;p&gt;There is one known issue for this release. Please see the wiki pages for more
details, status, and workarounds:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;wiki&#x2F;Known-issue:-snapm-snapset-%7Bmount,umount%7D-and-podman-netfs-mounts&quot;&gt;snapm snapset {mount,umount} and podman netfs mounts&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;This will be addressed in a future release.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Full Changelog&lt;&#x2F;strong&gt;: &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;compare&#x2F;v0.5.2...v0.6.0&quot;&gt;v0.5.2...v0.6.0&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Snapshot Manager how-to&#x2F;walkthrough</title>
        <published>2025-12-22T00:00:00+00:00</published>
        <updated>2025-12-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://snapshotmanager.github.io/howto/"/>
        <id>https://snapshotmanager.github.io/howto/</id>
        
        <content type="html" xml:base="https://snapshotmanager.github.io/howto/">&lt;p&gt;User Guide&lt;&#x2F;p&gt;
&lt;p&gt;This guide provides user documentation for the snapshot manager (snapm) tool.&lt;&#x2F;p&gt;
&lt;p&gt;Overview&lt;&#x2F;p&gt;
&lt;p&gt;Snapshot manager (snapm) is a tool for managing coordinated sets of snapshots on Linux systems. The snapm tool allows snapshots of multiple volumes to be captured at the same time, representing the system state at the time the snapshot set was created. The tool has a modular plugin architecture allowing different snapshot backends to be used together. Currently snapshots using LVM2 copy-on-write as well as thinly provisioned snapshots using both LVM2 and Stratis are supported.&lt;&#x2F;p&gt;
&lt;p&gt;Key Concepts&lt;&#x2F;p&gt;
&lt;h3 id=&quot;snapshot-sets&quot;&gt;Snapshot Sets&lt;&#x2F;h3&gt;
&lt;p&gt;Snapshot manager groups snapshots taken at the same moment in time into a named &quot;snapshot set&quot;, or snapset. This allows the snapshots to be managed as a single unit and simplifies the management of snapshots of multiple volumes. Each snapshot set must contain at least one snapshot.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;size-policies&quot;&gt;Size Policies&lt;&#x2F;h3&gt;
&lt;p&gt;Size policies control the size of fixed-sized snapshots and check for available space when creating a snapshot set. Some snapshot implementations (Lvm2CoW) require a fixed size to be specified for the snapshot backstore when the snapshot is created. The default size allocated by snapshot manager is 2x the current file system usage, allowing the existing content of the volume to be overwritten twice before exhausting the snapshot space. Plugins for snapshot providers that do not require a fixed snapshot size will check that space is available for the requested size policy at snapshot set creation time.&lt;&#x2F;p&gt;
&lt;p&gt;Available size policies:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;&#x2F;strong&gt; - a fixed size given on the command line&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;FREE&lt;&#x2F;strong&gt; - a percentage fraction of the free space available&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;USED&lt;&#x2F;strong&gt; - a percentage fraction of the space currently used on the mount point (may be greater than 100%)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;SIZE&lt;&#x2F;strong&gt; - a percentage fraction of the origin device size from 0 to 100%&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The FIXED size policy accepts optional units of KiB, MiB, GiB, TiB, PiB, EiB and ZiB. Units may be abbreviated to the first character.&lt;&#x2F;p&gt;
&lt;p&gt;The USED size policy can only be applied to mounted file systems.&lt;&#x2F;p&gt;
&lt;p&gt;Difference Engine&lt;&#x2F;p&gt;
&lt;p&gt;The Difference Engine is a core facility in &lt;code&gt;snapm&lt;&#x2F;code&gt; that allows for detailed comparisons between two snapshot sets, or between a snapshot set and the currently running system.&lt;&#x2F;p&gt;
&lt;p&gt;How it Works&lt;&#x2F;p&gt;
&lt;p&gt;The engine operates by recursively walking the file system trees of both the source and target. It performs a multi-stage analysis to identify changes:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Entry Detection&lt;&#x2F;strong&gt;: Identifies files, directories, and symlinks that have been added, removed, or modified.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Move Detection&lt;&#x2F;strong&gt;: By matching content hashes, the engine can identify files that have been renamed or moved between directories rather than simply being deleted and recreated.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Metadata Analysis&lt;&#x2F;strong&gt;: Detects changes in file permissions (mode), ownership (UID&#x2F;GID), and extended attributes (xattrs).&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Content Comparison&lt;&#x2F;strong&gt;: Performs deep content comparisons for regular files, including generating standard unified diffs for text files.&lt;&#x2F;p&gt;
&lt;p&gt;Output Formats and Use Cases&lt;&#x2F;p&gt;
&lt;p&gt;The Difference Engine supports several output formats via the &lt;code&gt;snapset diff&lt;&#x2F;code&gt; &lt;code&gt;--output-format&lt;&#x2F;code&gt; argument, each suited to different tasks:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;paths&lt;&#x2F;strong&gt;: Useful for scripting, allowing you to pipe a list of changed files to other tools like &lt;code&gt;tar&lt;&#x2F;code&gt; or &lt;code&gt;rsync&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;full&lt;&#x2F;strong&gt;: Provides a detailed report including old and new file attributes (permissions, ownership, size, modification time) for every change.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;short&lt;&#x2F;strong&gt;: A concise summary listing the change status code and path for each modified file.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;json&lt;&#x2F;strong&gt;: Outputs the complete difference data as a JSON object, suitable for parsing by external tools and automation scripts.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;diff&lt;&#x2F;strong&gt;: Generates a standard unified diff of content changes for modified files. This format is useful for generating patches or detailed content review.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;summary&lt;&#x2F;strong&gt;: Brief summary of the count of different change types. Change types are colorized using the same coding as &lt;code&gt;tree&lt;&#x2F;code&gt; output.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;tree&lt;&#x2F;strong&gt;: (Default) Displays changes in a hierarchical tree structure, similar to the standard &lt;code&gt;tree&lt;&#x2F;code&gt; command but annotated with change status.&lt;&#x2F;p&gt;
&lt;p&gt;In addition differences can be reported in a tabular format using the standard &lt;code&gt;snapm&lt;&#x2F;code&gt; reporting mechanism using the &lt;code&gt;snapset diffreport&lt;&#x2F;code&gt; command. The available &lt;code&gt;diffreport&lt;&#x2F;code&gt; report output fields are:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;path&lt;&#x2F;strong&gt;: Difference path (string)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;type&lt;&#x2F;strong&gt;: Difference type (string)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;size_delta&lt;&#x2F;strong&gt;: Diff size change (size)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;content&lt;&#x2F;strong&gt;: Content changed (string)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;metadata&lt;&#x2F;strong&gt;: Metadata changed (string)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;mode_old&lt;&#x2F;strong&gt;: Old path mode (string)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;mode_new&lt;&#x2F;strong&gt;: New path mode (string)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;category&lt;&#x2F;strong&gt;: File category (string)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;movedfrom&lt;&#x2F;strong&gt;: Move source (string)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;movedto&lt;&#x2F;strong&gt;: Move destination (string)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;diffsummary&lt;&#x2F;strong&gt;: Summary of content differences (string)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;hash_old&lt;&#x2F;strong&gt;: Old file content hash (string)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;hash_new&lt;&#x2F;strong&gt;: New file content hash (string)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;filetype&lt;&#x2F;strong&gt;: File type (string)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;mtime_old&lt;&#x2F;strong&gt;: Old modification time (time)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;mtime_new&lt;&#x2F;strong&gt;: New modification time (time)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;comparison-modes&quot;&gt;Comparison Modes&lt;&#x2F;h3&gt;
&lt;p&gt;You can fine-tune the comparison using various flags:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Content-Only&lt;&#x2F;strong&gt; (&lt;code&gt;-c&lt;&#x2F;code&gt;): Ignores all metadata changes and only reports files where the actual data has changed.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Ignore Options&lt;&#x2F;strong&gt;: Use &lt;code&gt;--ignore-timestamps&lt;&#x2F;code&gt;, &lt;code&gt;--ignore-permissions&lt;&#x2F;code&gt;, or &lt;code&gt;--ignore-ownership&lt;&#x2F;code&gt; to filter out &quot;noise&quot; during comparisons.&lt;&#x2F;p&gt;
&lt;p&gt;Performance and the Diff Cache&lt;&#x2F;p&gt;
&lt;p&gt;Walking large file systems and computing content hashes can be resource-intensive. To improve performance, &lt;code&gt;snapm&lt;&#x2F;code&gt; implements a &lt;strong&gt;diffcache&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;How it works&lt;&#x2F;strong&gt;: When a comparison is performed, the results are compressed and stored in &lt;code&gt;&#x2F;var&#x2F;cache&#x2F;snapm&#x2F;diffcache&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Cache Reuse&lt;&#x2F;strong&gt;: Subsequent &lt;code&gt;diff&lt;&#x2F;code&gt; or &lt;code&gt;diffreport&lt;&#x2F;code&gt; commands between the same two sets will load the results from the cache instead of re-scanning the file systems.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Expiry&lt;&#x2F;strong&gt;: By default, cache entries expire after &lt;strong&gt;15 minutes&lt;&#x2F;strong&gt;. This ensures that results remain fresh if the running system (&lt;code&gt;.&lt;&#x2F;code&gt;) is one of the comparison targets. Use &lt;code&gt;--cache-expires=EXPIRES_SECS&lt;&#x2F;code&gt; to override the default value (900s).&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Manual Control&lt;&#x2F;strong&gt;: You can override the expiry or disable the cache entirely using the &lt;code&gt;--cache-mode={auto,never,always}&lt;&#x2F;code&gt; and &lt;code&gt;--cache-expires=EXPIRES_SECS&lt;&#x2F;code&gt; options. These options are mutually exclusive.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;command-reference&quot;&gt;Command Reference&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;the-snapm-command&quot;&gt;The &lt;code&gt;snapm&lt;&#x2F;code&gt; Command&lt;&#x2F;h3&gt;
&lt;p&gt;The &lt;code&gt;snapm&lt;&#x2F;code&gt; command provides the CLI interface to the snapshot manager. It is able to create, delete, and display snapshots and snapshot sets and provides reports listing the snapshots, snapshot sets, and schedules available on the system. Each snapm command operates on a particular object type: a snapshot set, an individual snapshot, or a schedule.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset &amp;lt;command&amp;gt; &amp;lt;options&amp;gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# snapset command
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapshot &amp;lt;command&amp;gt; &amp;lt;options&amp;gt; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# snapshot command
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;snapset-commands&quot;&gt;Snapset Commands&lt;&#x2F;h2&gt;
&lt;p&gt;The &lt;code&gt;snapset&lt;&#x2F;code&gt; subcommand is used to create, delete, rename, activate, deactivate, list and display snapshot sets.&lt;&#x2F;p&gt;
&lt;p&gt;snapset create&lt;&#x2F;p&gt;
&lt;p&gt;Create a new snapshot set with the provided name and list of sources (mount point or block device paths):&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;-b|--bootable&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;-r|--revert&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--size-policy policy&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] &lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;name&amp;gt; &amp;lt;source&amp;gt; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;source&amp;gt; ...&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Per-source path size policies are specified by adding a &#x27;:&#x27; and the required policy to the corresponding mount point path, for example:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create backup &#x2F;:2G &#x2F;var:1G &#x2F;home
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create backup &#x2F;:25%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;FREE&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;var:25%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;FREE&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;home
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create backup &#x2F;:100%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;USED&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;var:100%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;USED&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;home
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create backup &#x2F;:100%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SIZE&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;var:100%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SIZE&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;home
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;If no size policy is specified the default is &lt;code&gt;200%USED&lt;&#x2F;code&gt; for mounted file systems and 25%SIZE for unmounted block devices. To ensure a volume can be completely overwritten specify &lt;code&gt;100%SIZE&lt;&#x2F;code&gt;. This requires more storage capacity but avoids the possibility of the snapshot running out of space. A default size policy for all source paths that do not specify an explicit per-path policy can be set with the &lt;code&gt;--size-policy&lt;&#x2F;code&gt; argument:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create backup&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --size-policy&lt;&#x2F;span&gt;&lt;span&gt; 100%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SIZE&lt;&#x2F;span&gt;&lt;span&gt; &#x2F; &#x2F;home &#x2F;var
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;On success the &lt;code&gt;snapm snapset create&lt;&#x2F;code&gt; command displays the newly created snapshot set on stdout:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -br --size-policy&lt;&#x2F;span&gt;&lt;span&gt; 100%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;USED&lt;&#x2F;span&gt;&lt;span&gt; backup &#x2F; &#x2F;home &#x2F;var
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapsetName:&lt;&#x2F;span&gt;&lt;span&gt;      backup
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Sources:&lt;&#x2F;span&gt;&lt;span&gt;          &#x2F;, &#x2F;home, &#x2F;var
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;NrSnapshots:&lt;&#x2F;span&gt;&lt;span&gt;      3
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Time:&lt;&#x2F;span&gt;&lt;span&gt;             2024-12-05 19:10:44
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;UUID:&lt;&#x2F;span&gt;&lt;span&gt;             d3f5e3cd-a383-5dba-b597-9134a2c426e9
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Status:&lt;&#x2F;span&gt;&lt;span&gt;           Active
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Autoactivate:&lt;&#x2F;span&gt;&lt;span&gt;     yes
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Bootable:&lt;&#x2F;span&gt;&lt;span&gt;         yes
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;BootEntries:
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapshotEntry:&lt;&#x2F;span&gt;&lt;span&gt;  f574a20
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;RevertEntry:&lt;&#x2F;span&gt;&lt;span&gt;    f428f9f
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h4 id=&quot;autoindex-for-recurring-snapshot-sets&quot;&gt;Autoindex for recurring snapshot sets&lt;&#x2F;h4&gt;
&lt;p&gt;The &lt;code&gt;--autoindex&lt;&#x2F;code&gt; argument allows creating a recurring snapshot set with a common basename and unique index (a non-negative integer).  This can be used to take regular snapshots with a common name:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create hourly&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --autoindex&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;:25%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SIZE&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;var:25%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SIZE
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapsetName:&lt;&#x2F;span&gt;&lt;span&gt;      hourly.3
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Sources:&lt;&#x2F;span&gt;&lt;span&gt;          &#x2F;, &#x2F;var
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;NrSnapshots:&lt;&#x2F;span&gt;&lt;span&gt;      2
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Time:&lt;&#x2F;span&gt;&lt;span&gt;             2025-03-26 14:17:18
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;UUID:&lt;&#x2F;span&gt;&lt;span&gt;             ae082452-7995-5316-ac65-388eadd9879c
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Status:&lt;&#x2F;span&gt;&lt;span&gt;           Active
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Autoactivate:&lt;&#x2F;span&gt;&lt;span&gt;     yes
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Bootable:&lt;&#x2F;span&gt;&lt;span&gt;         no
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The basename and index values are available via the &lt;code&gt;snapset list&lt;&#x2F;code&gt; report:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -o&lt;&#x2F;span&gt;&lt;span&gt;+basename,index
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapsetName&lt;&#x2F;span&gt;&lt;span&gt;  Time                 NrSnapshots Status  Sources  Basename     Index
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;backup&lt;&#x2F;span&gt;&lt;span&gt;       2025-03-25 18:12:54            2 Invalid &#x2F;, &#x2F;var  backup           -
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;hourly.0&lt;&#x2F;span&gt;&lt;span&gt;     2025-03-25 19:40:39            2 Invalid &#x2F;, &#x2F;var  hourly           0
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;hourly.1&lt;&#x2F;span&gt;&lt;span&gt;     2025-03-26 14:17:11            2 Active  &#x2F;, &#x2F;var  hourly           1
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;hourly.2&lt;&#x2F;span&gt;&lt;span&gt;     2025-03-26 14:17:15            2 Active  &#x2F;, &#x2F;var  hourly           2
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;hourly.3&lt;&#x2F;span&gt;&lt;span&gt;     2025-03-26 14:17:18            2 Active  &#x2F;, &#x2F;var  hourly           3
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;snapset delete&lt;&#x2F;p&gt;
&lt;p&gt;Delete an existing snapset by name or uuid.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset delete &amp;lt;name|&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;uuid&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;snapset diff&lt;&#x2F;p&gt;
&lt;p&gt;Compare two snapshot sets, or a snapshot set and the running system.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset diff &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;options&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] &lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;from&amp;gt; &amp;lt;to&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The &lt;code&gt;from&lt;&#x2F;code&gt; and &lt;code&gt;to&lt;&#x2F;code&gt; arguments specify the snapshot sets to compare. The special value &lt;code&gt;.&lt;&#x2F;code&gt; may be used to refer to the running system (the root file system).  The command detects added, removed, and modified files. File content comparisons can be performed to generate standard unified diffs.&lt;&#x2F;p&gt;
&lt;p&gt;Supported output formats (&lt;code&gt;-o&lt;&#x2F;code&gt;&#x2F;&lt;code&gt;--output-format&lt;&#x2F;code&gt;) include:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;paths&lt;&#x2F;strong&gt; - A simple list of changed paths&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;full&lt;&#x2F;strong&gt; - Detailed change information&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;short&lt;&#x2F;strong&gt; - Abbreviated change summary&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;json&lt;&#x2F;strong&gt; - JSON formatted change data&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;diff&lt;&#x2F;strong&gt; - Standard unified diff of file content&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;summary&lt;&#x2F;strong&gt; - Brief summary of the count of different change types&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;tree&lt;&#x2F;strong&gt; - A hierarchical tree view of changes (default)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The &lt;code&gt;-o&lt;&#x2F;code&gt;&#x2F;&lt;code&gt;--output-format&lt;&#x2F;code&gt; option may be given multiple times to request different output formats for the same run. The &lt;code&gt;diff&lt;&#x2F;code&gt; and &lt;code&gt;summary&lt;&#x2F;code&gt; formats also accept an optional &lt;code&gt;--stat&lt;&#x2F;code&gt; option to enable &lt;code&gt;diffstat&lt;&#x2F;code&gt; style change summaries. The &lt;code&gt;json&lt;&#x2F;code&gt; output format supports &lt;code&gt;--pretty&lt;&#x2F;code&gt; to enable pretty-printing the JSON output.&lt;&#x2F;p&gt;
&lt;p&gt;Compare the snapshot set &quot;backup&quot; to the running system using a tree view:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset diff&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --output-format&lt;&#x2F;span&gt;&lt;span&gt; tree backup .
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Generate a unified diff of content changes between two snapshot sets, ignoring file modification times to focus only on content:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset diff&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --output-format&lt;&#x2F;span&gt;&lt;span&gt; diff&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --ignore-timestamps&lt;&#x2F;span&gt;&lt;span&gt; weekly.0 weekly.1
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Options are available to control the comparison:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--content-only&lt;&#x2F;code&gt; &#x2F; &lt;code&gt;-c&lt;&#x2F;code&gt;: Only check for file content changes&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;--ignore-timestamps&lt;&#x2F;code&gt; &#x2F; &lt;code&gt;-t&lt;&#x2F;code&gt;: Ignore modification times&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;--ignore-permissions&lt;&#x2F;code&gt; &#x2F; &lt;code&gt;-p&lt;&#x2F;code&gt;: Ignore permission changes&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;--ignore-ownership&lt;&#x2F;code&gt; &#x2F; &lt;code&gt;-w&lt;&#x2F;code&gt;: Ignore ownership changes&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;--include-pattern&lt;&#x2F;code&gt; &#x2F; &lt;code&gt;--exclude-pattern&lt;&#x2F;code&gt;: Filter paths using glob patterns&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;output-formats&quot;&gt;Output Formats&lt;&#x2F;h4&gt;
&lt;p&gt;The &lt;code&gt;--output-format&lt;&#x2F;code&gt; argument controls the presentation of differences. Available formats are:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;paths&lt;&#x2F;strong&gt;: Lists modified paths, one per line. Useful for piping to other tools or scripts.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;full&lt;&#x2F;strong&gt;: Provides a detailed report including old and new file attributes (permissions, ownership, size, modification time) for every change.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;short&lt;&#x2F;strong&gt;: A concise summary listing the change status code and path for each modified file.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;json&lt;&#x2F;strong&gt;: Outputs the complete difference data as a JSON object, suitable for parsing by external tools and automation scripts.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;diff&lt;&#x2F;strong&gt;: Generates a standard unified diff of content changes for modified files. This format is useful for generating patches or detailed content review.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;summary&lt;&#x2F;strong&gt;: Brief summary of the count of different change types. Change types are colorized using the same coding as &lt;code&gt;tree&lt;&#x2F;code&gt; output.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;tree&lt;&#x2F;strong&gt;: (Default) Displays changes in a hierarchical tree structure, similar to the standard &lt;code&gt;tree&lt;&#x2F;code&gt; command but annotated with change status. The default if no &lt;code&gt;--output-format&lt;&#x2F;code&gt; option is given is &lt;code&gt;tree&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;tree-output-legend&quot;&gt;Tree Output Legend&lt;&#x2F;h4&gt;
&lt;p&gt;The &lt;strong&gt;tree&lt;&#x2F;strong&gt; output format uses specific prefixes and colors (if enabled) to indicate the type of change:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;code&gt;[+]&lt;&#x2F;code&gt; &lt;strong&gt;Path added&lt;&#x2F;strong&gt; (green): The file or directory is present in the target but not the source.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;code&gt;[-]&lt;&#x2F;code&gt; &lt;strong&gt;Path removed&lt;&#x2F;strong&gt; (red): The file or directory is present in the source but not the target.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;code&gt;[*]&lt;&#x2F;code&gt; &lt;strong&gt;Path modified&lt;&#x2F;strong&gt; (yellow): The file content or attributes have changed.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;code&gt;[&amp;lt;]&lt;&#x2F;code&gt; &lt;strong&gt;Path moved from&lt;&#x2F;strong&gt; (cyan): The source path of a renamed or moved file.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;code&gt;[&amp;gt;]&lt;&#x2F;code&gt; &lt;strong&gt;Path moved to&lt;&#x2F;strong&gt; (cyan): The destination path of a renamed or moved file.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;code&gt;[!]&lt;&#x2F;code&gt; &lt;strong&gt;Path file type changed&lt;&#x2F;strong&gt; (blue): The file type (regular file, symlink, directory, etc.) has changed between source and target.&lt;&#x2F;p&gt;
&lt;p&gt;snapset diffreport&lt;&#x2F;p&gt;
&lt;p&gt;Generate a tabular report of differences between snapshot sets.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset diffreport &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;options&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] &lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;from&amp;gt; &amp;lt;to&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This command performs the same comparison logic as &lt;code&gt;snapset diff&lt;&#x2F;code&gt; but formats the output as a column-based report. It accepts standard reporting arguments including &lt;code&gt;--options&lt;&#x2F;code&gt;, &lt;code&gt;--sort&lt;&#x2F;code&gt;, &lt;code&gt;--noheadings&lt;&#x2F;code&gt;, and &lt;code&gt;--json&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset diffreport&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --json&lt;&#x2F;span&gt;&lt;span&gt; backup current
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;To list specific fields describing the changes:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset diffreport&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -opath&lt;&#x2F;span&gt;&lt;span&gt;,state,size_diff old_snap new_snap
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;snapset rename&lt;&#x2F;p&gt;
&lt;p&gt;Rename an existing snapset.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset rename &amp;lt;old_name&amp;gt; &amp;lt;new_name&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;snapset revert&lt;&#x2F;p&gt;
&lt;p&gt;Revert an existing snapset, re-setting the content of the origin volumes to the state they were in at the time the snapset was created. The snapset to be reverted may be specified either by its name or uuid.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset revert &amp;lt;name|&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;uuid&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;If the origins of the snapshot set are in use at the time of the revert the operation is deferred until the next time the snapshot set is activated (for example during a reboot). If a revert boot entry was created for the snapshot set the &lt;code&gt;revert&lt;&#x2F;code&gt; command will suggest booting into it to continue:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset revert upgrade
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;WARNING&lt;&#x2F;span&gt;&lt;span&gt; - Snapshot set upgrade origin is in use: reboot required to complete revert
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Boot&lt;&#x2F;span&gt;&lt;span&gt; into &amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Revert upgrade 2024-06-10 15:25:15 (6.8.9-300.fc40.x86_64)&lt;&#x2F;span&gt;&lt;span&gt;&amp;#39; to continue
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;snapset resize&lt;&#x2F;p&gt;
&lt;p&gt;Resize the members in an existing snapset, applying a new size policy to specified sources or applying a new default size policy to all snapshots within a snapset.&lt;&#x2F;p&gt;
&lt;p&gt;Resize the &lt;code&gt;&#x2F;var&lt;&#x2F;code&gt; member of the snapshot set named upgrade to 100%SIZE:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset resize upgrade &#x2F;var:100%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SIZE
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Resize each member of the snapshot set named backup to the 200%USED size policy:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset resize backup&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --size-policy&lt;&#x2F;span&gt;&lt;span&gt; 200%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;USED
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;snapset split&lt;&#x2F;p&gt;
&lt;p&gt;Split snapshots from an existing snapshot set into a new snapshot set. Split the snapshot set named &#x27;name&#x27; into a new snapshot set named &#x27;new_name&#x27;. Each listed source from &#x27;name&#x27; is split into the new snapshot set. Sources that are not listed on the command line remain part of the original snapshot set. It is an error to split all sources from a snapshot set: in this case use &#x27;snapm snapset rename&#x27; instead.&lt;&#x2F;p&gt;
&lt;p&gt;To split the source &quot;&#x2F;home&quot; from the existing snapshot set &quot;upgrade&quot; into a new snapshot set named &quot;noupgrade&quot;:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset split upgrade noupgrade &#x2F;home
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapsetName:&lt;&#x2F;span&gt;&lt;span&gt;      noupgrade
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Sources:&lt;&#x2F;span&gt;&lt;span&gt;          &#x2F;home
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;NrSnapshots:&lt;&#x2F;span&gt;&lt;span&gt;      1
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Time:&lt;&#x2F;span&gt;&lt;span&gt;             2025-03-31 20:21:29
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;UUID:&lt;&#x2F;span&gt;&lt;span&gt;             30e69b86-5c48-5e5d-be1a-bf3d63aef8f7
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Status:&lt;&#x2F;span&gt;&lt;span&gt;           Inactive
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Autoactivate:&lt;&#x2F;span&gt;&lt;span&gt;     no
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Bootable:&lt;&#x2F;span&gt;&lt;span&gt;         no
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;snapset activate&lt;&#x2F;p&gt;
&lt;p&gt;Activate the members of an existing snapset, or all snapsets if no name or uuid argument is given.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset activate &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;name|uuid&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;snapset deactivate&lt;&#x2F;p&gt;
&lt;p&gt;Deactivate the members of an existing snapset, or all snapsets if no name or uuid argument is given.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset deactivate &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;name|uuid&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;snapset autoactivate&lt;&#x2F;p&gt;
&lt;p&gt;Enable or disable autoactivation for the snapshots in a snapshot set.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset autoactivate &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;--yes|--no&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;name|uuid&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;snapset list&lt;&#x2F;p&gt;
&lt;p&gt;List available snapsets matching selection criteria.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset list &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;name|uuid&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;By default the information is presented as a tabular report with column headings indicating the meaning of each value. The default column selection includes the SnapsetName, Time, NrSnapshots, Status, and Sources fields:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset list
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapsetName&lt;&#x2F;span&gt;&lt;span&gt;  Time                 NrSnapshots Status  Sources
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;backup&lt;&#x2F;span&gt;&lt;span&gt;       2024-12-05 19:14:03            3 Active  &#x2F;, &#x2F;home, &#x2F;var
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;upgrade&lt;&#x2F;span&gt;&lt;span&gt;      2024-12-05 19:14:09            2 Active  &#x2F;, &#x2F;var
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Custom field specifications may be given with the &lt;code&gt;-o&lt;&#x2F;code&gt;&#x2F;&lt;code&gt;--options&lt;&#x2F;code&gt; argument. To obtain a list of available fields run &lt;code&gt;snapm snapset list -ohelp&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -ohelp
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Snapshot&lt;&#x2F;span&gt;&lt;span&gt; set Fields
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;-------------------
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;         - Snapshot set name &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;str&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;uuid&lt;&#x2F;span&gt;&lt;span&gt;         - Snapshot set UUID &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;uuid&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;timestamp&lt;&#x2F;span&gt;&lt;span&gt;    - Snapshot set creation time as a UNIX epoch value &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;num&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;time&lt;&#x2F;span&gt;&lt;span&gt;         - Snapshot set creation time &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;time&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;nr_snapshots&lt;&#x2F;span&gt;&lt;span&gt; - Number of snapshots &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;num&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;sources&lt;&#x2F;span&gt;&lt;span&gt;      - Snapshot set sources &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;strlist&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;mountpoints&lt;&#x2F;span&gt;&lt;span&gt;  - Snapshot set mount points &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;strlist&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;devices&lt;&#x2F;span&gt;&lt;span&gt;      - Snapshot set devices &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;strlist&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;status&lt;&#x2F;span&gt;&lt;span&gt;       - Snapshot set status &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;str&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;autoactivate&lt;&#x2F;span&gt;&lt;span&gt; - Autoactivation status &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;str&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;bootable&lt;&#x2F;span&gt;&lt;span&gt;     - Configured for snapshot boot &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;str&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;bootentry&lt;&#x2F;span&gt;&lt;span&gt;    - Snapshot set boot entry &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;sha&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;revertentry&lt;&#x2F;span&gt;&lt;span&gt;  - Snapshot set revert boot entry &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;sha&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;To specify custom fields pass a comma separated list to &lt;code&gt;-o&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -oname&lt;&#x2F;span&gt;&lt;span&gt;,time
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapsetName&lt;&#x2F;span&gt;&lt;span&gt;  Time
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;backup&lt;&#x2F;span&gt;&lt;span&gt;       2024-12-05 19:14:03
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;upgrade&lt;&#x2F;span&gt;&lt;span&gt;      2024-12-05 19:14:09
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;To add fields to the default field set prefix the list of fields with the &lt;code&gt;+&lt;&#x2F;code&gt; character:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -o&lt;&#x2F;span&gt;&lt;span&gt;+bootentry,revertentry
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapsetName&lt;&#x2F;span&gt;&lt;span&gt;  Time                 NrSnapshots Status  Sources        SnapshotEntry RevertEntry
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;backup&lt;&#x2F;span&gt;&lt;span&gt;       2024-12-05 19:14:03            3 Active  &#x2F;, &#x2F;home, &#x2F;var 41573a414f9d5 1cc5bc59c9b90
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;upgrade&lt;&#x2F;span&gt;&lt;span&gt;      2024-12-05 19:14:09            2 Active  &#x2F;, &#x2F;var        a60dab4d3fb36 4ce6b27f16f30
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The report can also be produced in JSON notation, suitable for parsing by other tools using the &lt;code&gt;--json&lt;&#x2F;code&gt; argument:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --json
&lt;&#x2F;span&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Snapsets&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; [
&lt;&#x2F;span&gt;&lt;span&gt;        {
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_name&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;backup&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_time&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;2024-12-05 19:14:03&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_nr_snapshots&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; 3,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_status&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Active&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_sources&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; [
&lt;&#x2F;span&gt;&lt;span&gt;                &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;                &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;home&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;                &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;var&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;        },
&lt;&#x2F;span&gt;&lt;span&gt;        {
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_name&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;upgrade&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_time&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;2024-12-05 19:14:09&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_nr_snapshots&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; 2,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_status&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Active&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_sources&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; [
&lt;&#x2F;span&gt;&lt;span&gt;                &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;                &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;var&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;        }
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;JSON reports use the full report field name (including the &lt;code&gt;snapset_&lt;&#x2F;code&gt;, &lt;code&gt;snapshot_&lt;&#x2F;code&gt;, &lt;code&gt;schedule_&lt;&#x2F;code&gt;, or &lt;code&gt;plugin_&lt;&#x2F;code&gt; prefix). Fields and sort order are specified with &lt;code&gt;--options&lt;&#x2F;code&gt; and &lt;code&gt;--sort&lt;&#x2F;code&gt; as usual. For further report formatting options refer to the &lt;code&gt;snapm(8)&lt;&#x2F;code&gt; manual page.&lt;&#x2F;p&gt;
&lt;p&gt;snapset show&lt;&#x2F;p&gt;
&lt;p&gt;Display available snapsets matching selection criteria.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset show &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;name|uuid&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;By default the output is formatted in the same way as the output of the &lt;code&gt;snapm snapset create&lt;&#x2F;code&gt; command:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset show upgrade
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapsetName:&lt;&#x2F;span&gt;&lt;span&gt;      upgrade
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Sources:&lt;&#x2F;span&gt;&lt;span&gt;          &#x2F;, &#x2F;var
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;NrSnapshots:&lt;&#x2F;span&gt;&lt;span&gt;      2
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Time:&lt;&#x2F;span&gt;&lt;span&gt;             2024-12-05 19:14:09
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;UUID:&lt;&#x2F;span&gt;&lt;span&gt;             87c6df8f-bd8c-5c9d-b081-4f6d6068cc07
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Status:&lt;&#x2F;span&gt;&lt;span&gt;           Active
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Autoactivate:&lt;&#x2F;span&gt;&lt;span&gt;     yes
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Bootable:&lt;&#x2F;span&gt;&lt;span&gt;         yes
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;BootEntries:
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapshotEntry:&lt;&#x2F;span&gt;&lt;span&gt;  a60dab4
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;RevertEntry:&lt;&#x2F;span&gt;&lt;span&gt;    4ce6b27
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The individual snapshots making up each set are also displayed if &lt;code&gt;--members&lt;&#x2F;code&gt; is used:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset show&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --members
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapsetName:&lt;&#x2F;span&gt;&lt;span&gt;      upgrade
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Sources:&lt;&#x2F;span&gt;&lt;span&gt;          &#x2F;, &#x2F;var
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;NrSnapshots:&lt;&#x2F;span&gt;&lt;span&gt;      2
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Time:&lt;&#x2F;span&gt;&lt;span&gt;             2024-12-05 19:19:30
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;UUID:&lt;&#x2F;span&gt;&lt;span&gt;             f0a46cde-9eed-5335-b239-66ed53e5b503
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Status:&lt;&#x2F;span&gt;&lt;span&gt;           Active
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Autoactivate:&lt;&#x2F;span&gt;&lt;span&gt;     yes
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Bootable:&lt;&#x2F;span&gt;&lt;span&gt;         yes
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;BootEntries:
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapshotEntry:&lt;&#x2F;span&gt;&lt;span&gt;  dfce8d8
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;RevertEntry:&lt;&#x2F;span&gt;&lt;span&gt;    fc414b0
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Snapshots:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Name:&lt;&#x2F;span&gt;&lt;span&gt;         fedora&#x2F;root-snapset_upgrade_1733426370_-
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapsetName:&lt;&#x2F;span&gt;&lt;span&gt;  upgrade
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Origin:&lt;&#x2F;span&gt;&lt;span&gt;       &#x2F;dev&#x2F;fedora&#x2F;root
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Time:&lt;&#x2F;span&gt;&lt;span&gt;         2024-12-05 19:19:30
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Source:&lt;&#x2F;span&gt;&lt;span&gt;       &#x2F;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;MountPoint:&lt;&#x2F;span&gt;&lt;span&gt;   &#x2F;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Provider:&lt;&#x2F;span&gt;&lt;span&gt;     lvm2-cow
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;UUID:&lt;&#x2F;span&gt;&lt;span&gt;         7566dde3-96f4-5288-8b15-18be7c520327
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Status:&lt;&#x2F;span&gt;&lt;span&gt;       Active
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Size:&lt;&#x2F;span&gt;&lt;span&gt;         8.8GiB
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Free:&lt;&#x2F;span&gt;&lt;span&gt;         8.8GiB
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Autoactivate:&lt;&#x2F;span&gt;&lt;span&gt; yes
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;DevicePath:&lt;&#x2F;span&gt;&lt;span&gt;   &#x2F;dev&#x2F;fedora&#x2F;root-snapset_upgrade_1733426370_-
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;VolumeGroup:&lt;&#x2F;span&gt;&lt;span&gt;  fedora
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;LogicalVolume:&lt;&#x2F;span&gt;&lt;span&gt; root-snapset_upgrade_1733426370_-
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Name:&lt;&#x2F;span&gt;&lt;span&gt;         fedora&#x2F;var-snapset_upgrade_1733426370_-var
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapsetName:&lt;&#x2F;span&gt;&lt;span&gt;  upgrade
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Origin:&lt;&#x2F;span&gt;&lt;span&gt;       &#x2F;dev&#x2F;fedora&#x2F;var
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Time:&lt;&#x2F;span&gt;&lt;span&gt;         2024-12-05 19:19:30
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Source:&lt;&#x2F;span&gt;&lt;span&gt;       &#x2F;var
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;MountPoint:&lt;&#x2F;span&gt;&lt;span&gt;   &#x2F;var
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Provider:&lt;&#x2F;span&gt;&lt;span&gt;     lvm2-cow
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;UUID:&lt;&#x2F;span&gt;&lt;span&gt;         22674f3e-f5c4-5632-9add-2df51985679e
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Status:&lt;&#x2F;span&gt;&lt;span&gt;       Active
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Size:&lt;&#x2F;span&gt;&lt;span&gt;         6.4GiB
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Free:&lt;&#x2F;span&gt;&lt;span&gt;         6.4GiB
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Autoactivate:&lt;&#x2F;span&gt;&lt;span&gt; yes
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;DevicePath:&lt;&#x2F;span&gt;&lt;span&gt;   &#x2F;dev&#x2F;fedora&#x2F;var-snapset_upgrade_1733426370_-var
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;VolumeGroup:&lt;&#x2F;span&gt;&lt;span&gt;  fedora
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;LogicalVolume:&lt;&#x2F;span&gt;&lt;span&gt; var-snapset_upgrade_1733426370_-var
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The output is also available in JSON notation using the &lt;code&gt;--json&lt;&#x2F;code&gt; argument:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset show&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --json&lt;&#x2F;span&gt;&lt;span&gt; before-upgrade
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;[
&lt;&#x2F;span&gt;&lt;span&gt;    {
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;SnapsetName&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;before-upgrade&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Sources&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; [
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;var&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;],
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;MountPoints&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; [
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;var&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;],
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Devices&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[]&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;NrSnapshots&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; 2,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Timestamp&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; 1756555124,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Time&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;2025-08-30 12:58:44&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;UUID&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;87e31113-75a5-5eb6-b016-762639a2c7ed&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Status&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Active&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Autoactivate&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; true,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Bootable&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; true,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;BootEntries&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;SnapshotEntry&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;7c56dc0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;RevertEntry&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;457f733&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;        }
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The &lt;code&gt;show --json&lt;&#x2F;code&gt; command uses the normal &lt;code&gt;show&lt;&#x2F;code&gt; output property names as the JSON keys. A &lt;code&gt;BootEntries&lt;&#x2F;code&gt; object will be added if either boot or revert entries are configured for the snapshot set.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;snapshot-commands&quot;&gt;Snapshot Commands&lt;&#x2F;h2&gt;
&lt;p&gt;The &lt;code&gt;snapshot&lt;&#x2F;code&gt; command is used to manipulate, list, and display snapshots.&lt;&#x2F;p&gt;
&lt;p&gt;snapshot activate&lt;&#x2F;p&gt;
&lt;p&gt;Activate individual snapshots matching selection criteria.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapshot activate &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;-N name&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;-U uuid&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;name|uuid&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;snapshot deactivate&lt;&#x2F;p&gt;
&lt;p&gt;Deactivate individual snapshots matching selection criteria.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapshot deactivate &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;-N name&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;-U uuid&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;name|uuid&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;snapshot autoactivate&lt;&#x2F;p&gt;
&lt;p&gt;Enable or disable autoactivation for individual snapshots matching selection criteria.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapshot autoactivate &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;--yes|--no&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;-N name&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;-U uuid&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;name|uuid&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;snapshot list&lt;&#x2F;p&gt;
&lt;p&gt;List available snapshots matching selection criteria.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapshot list &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;name|uuid&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;By default the information is presented as a tabular report with column headings indicating the meaning of each value. The default column selection includes the SnapsetName, Name, Origin, Source, Status, Size, Free, Autoactivate, and Provider fields:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapshot list
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapsetName&lt;&#x2F;span&gt;&lt;span&gt;  Name                                         Origin           Source  Status  Size   Free   Autoactivate Provider
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;upgrade&lt;&#x2F;span&gt;&lt;span&gt;      fedora&#x2F;root-snapset_upgrade_1733426499_-     &#x2F;dev&#x2F;fedora&#x2F;root &#x2F;       Active  8.8GiB 8.8GiB yes          lvm2-cow
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;upgrade&lt;&#x2F;span&gt;&lt;span&gt;      fedora&#x2F;var-snapset_upgrade_1733426499_-var   &#x2F;dev&#x2F;fedora&#x2F;var  &#x2F;var    Active  6.4GiB 6.4GiB yes          lvm2-cow
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;upgrade&lt;&#x2F;span&gt;&lt;span&gt;      fedora&#x2F;home-snapset_upgrade_1733426499_-home &#x2F;dev&#x2F;fedora&#x2F;home &#x2F;home   Active  1.0GiB 1.9GiB yes          lvm2-thin
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;&#x2F;strong&gt;
For thin‑provisioned snapshots (lvm2‑thin, Stratis), “Free” reflects thin‑pool free space and may exceed “Size”.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;snapshot show&lt;&#x2F;p&gt;
&lt;p&gt;Display available snapshots matching selection criteria.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapshot show &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;name|uuid&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;plugin-commands&quot;&gt;Plugin Commands&lt;&#x2F;h2&gt;
&lt;p&gt;The &lt;code&gt;plugin&lt;&#x2F;code&gt; command is used to display information on the available snapshot provider plugins.&lt;&#x2F;p&gt;
&lt;p&gt;plugin list&lt;&#x2F;p&gt;
&lt;p&gt;The &lt;code&gt;plugin list&lt;&#x2F;code&gt; command lists the available plugins:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; plugin list
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;PluginName&lt;&#x2F;span&gt;&lt;span&gt; PluginVersion PluginType
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;lvm2-cow&lt;&#x2F;span&gt;&lt;span&gt;   0.1.0         Lvm2CowSnapshot
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;lvm2-thin&lt;&#x2F;span&gt;&lt;span&gt;  0.1.0         Lvm2ThinSnapshot
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;stratis&lt;&#x2F;span&gt;&lt;span&gt;    0.1.0         StratisSnapshot
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;schedule-commands&quot;&gt;Schedule Commands&lt;&#x2F;h2&gt;
&lt;p&gt;The &lt;code&gt;schedule&lt;&#x2F;code&gt; command is used to create, display and manage schedules for automatic snapshot set creation.&lt;&#x2F;p&gt;
&lt;p&gt;schedule create&lt;&#x2F;p&gt;
&lt;p&gt;Create a new schedule with the provided name and list of sources (mount point or block device paths):&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule create &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;-b|--bootable&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;-r|--revert&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--size-policy policy&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;-p|--policy-type policy_type&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-count count&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-years years&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-months months&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-weeks weeks&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-days days&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-yearly yearly&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-quarterly quarterly&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-monthly monthly&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-weekly weekly&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-daily daily&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-hourly hourly&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --calendarspec&lt;&#x2F;span&gt;&lt;span&gt; calendarspec &amp;lt;name&amp;gt; source...
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule create&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --policy-type&lt;&#x2F;span&gt;&lt;span&gt; count&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --keep-count&lt;&#x2F;span&gt;&lt;span&gt; 2&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --bootable --revert --size-policy&lt;&#x2F;span&gt;&lt;span&gt; 25%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SIZE --calendarspec&lt;&#x2F;span&gt;&lt;span&gt; hourly hourly &#x2F; &#x2F;var
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Name:&lt;&#x2F;span&gt;&lt;span&gt; hourly
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SourceSpecs:&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;, &#x2F;var
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;DefaultSizePolicy:&lt;&#x2F;span&gt;&lt;span&gt; 25%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SIZE
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Calendarspec:&lt;&#x2F;span&gt;&lt;span&gt; hourly
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Boot:&lt;&#x2F;span&gt;&lt;span&gt; yes
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Revert:&lt;&#x2F;span&gt;&lt;span&gt; yes
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;GcPolicy:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Name:&lt;&#x2F;span&gt;&lt;span&gt; hourly
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Type:&lt;&#x2F;span&gt;&lt;span&gt; Count
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Params:&lt;&#x2F;span&gt;&lt;span&gt; keep_count=2
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Enabled:&lt;&#x2F;span&gt;&lt;span&gt; yes
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Running:&lt;&#x2F;span&gt;&lt;span&gt; yes
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;schedule-delete&quot;&gt;schedule delete&lt;&#x2F;h3&gt;
&lt;p&gt;Delete an existing schedule by name:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule delete &amp;lt;name&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;schedule-edit&quot;&gt;schedule edit&lt;&#x2F;h3&gt;
&lt;p&gt;Modify an existing schedule by name:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule edit &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;-b|--bootable&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;-r|--revert&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--size-policy policy&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;-p|--policy-type policy_type&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-count count&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-years years&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-months months&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-weeks weeks&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-days days&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-yearly yearly&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-quarterly quarterly&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-monthly monthly&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-weekly weekly&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-daily daily&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--keep-hourly hourly&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --calendarspec&lt;&#x2F;span&gt;&lt;span&gt; calendarspec &amp;lt;name&amp;gt; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;source...&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;schedule enable&lt;&#x2F;p&gt;
&lt;p&gt;Enable an existing schedule by name:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule enable &amp;lt;name&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;schedule-disable&quot;&gt;schedule disable&lt;&#x2F;h3&gt;
&lt;p&gt;Disable an existing schedule by name:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule disable &amp;lt;name&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;schedule-list&quot;&gt;schedule list&lt;&#x2F;h3&gt;
&lt;p&gt;List configured schedules:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule list &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;--nameprefixes&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--noheadings&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--options fields&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--sort fields&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--rows|--json&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span&gt;--separator separator&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule list
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;ScheduleName&lt;&#x2F;span&gt;&lt;span&gt; ScheduleSources         SizePolicy OnCalendar     Enabled
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;custom&lt;&#x2F;span&gt;&lt;span&gt;       &#x2F;, &#x2F;home:100%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SIZE&lt;&#x2F;span&gt;&lt;span&gt;, &#x2F;var 50%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SIZE    &lt;&#x2F;span&gt;&lt;span&gt;*-*-1 01:00:00 yes
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;monthly&lt;&#x2F;span&gt;&lt;span&gt;      &#x2F;:25%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SIZE&lt;&#x2F;span&gt;&lt;span&gt;, &#x2F;var:25%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SIZE&lt;&#x2F;span&gt;&lt;span&gt; monthly    no
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;hourly&lt;&#x2F;span&gt;&lt;span&gt;       &#x2F;, &#x2F;var                 25%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SIZE&lt;&#x2F;span&gt;&lt;span&gt;    hourly         yes
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;schedule-show&quot;&gt;schedule show&lt;&#x2F;h3&gt;
&lt;p&gt;Display configured schedule:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule show &amp;lt;name&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;schedule-gc&quot;&gt;schedule gc&lt;&#x2F;h3&gt;
&lt;p&gt;Run configured garbage collection policy for schedule:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule gc &amp;lt;name&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;reporting-commands&quot;&gt;Reporting Commands&lt;&#x2F;h2&gt;
&lt;p&gt;The &lt;code&gt;snapm snapset list&lt;&#x2F;code&gt;, &lt;code&gt;snapm snapshot list&lt;&#x2F;code&gt;, &lt;code&gt;snapm plugin list&lt;&#x2F;code&gt;, and &lt;code&gt;snapm schedule list&lt;&#x2F;code&gt; commands generate a tabular report as output.  To control the list of displayed fields use the &lt;code&gt;-o&lt;&#x2F;code&gt;&#x2F;&lt;code&gt;--options FIELDS&lt;&#x2F;code&gt; argument:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -oname&lt;&#x2F;span&gt;&lt;span&gt;,sources
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapsetName&lt;&#x2F;span&gt;&lt;span&gt;  Sources
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;backup&lt;&#x2F;span&gt;&lt;span&gt;       &#x2F;, &#x2F;home, &#x2F;var
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;userdata&lt;&#x2F;span&gt;&lt;span&gt;     &#x2F;data, &#x2F;home
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;To add extra fields to the default selection, prefix the field list with the &lt;code&gt;+&lt;&#x2F;code&gt; character:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -o&lt;&#x2F;span&gt;&lt;span&gt;+uuid
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SnapsetName&lt;&#x2F;span&gt;&lt;span&gt;  Time                 NrSnapshots Status   Sources          UUID
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;backup&lt;&#x2F;span&gt;&lt;span&gt;       2024-12-05 19:26:28            3 Active   &#x2F;, &#x2F;home, &#x2F;var   53514020-e88d-5f53-bf09-42c6ab6e325d
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;userdata&lt;&#x2F;span&gt;&lt;span&gt;     2024-12-05 19:26:45            2 Inactive &#x2F;data, &#x2F;home     e8d58051-7a94-5802-8328-54661ab1a70f
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;To display the available fields for either report use the field name &lt;code&gt;help&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -ohelp
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Snapshot&lt;&#x2F;span&gt;&lt;span&gt; set Fields
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;-------------------
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;         - Snapshot set name &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;str&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;uuid&lt;&#x2F;span&gt;&lt;span&gt;         - Snapshot set UUID &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;uuid&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;basename&lt;&#x2F;span&gt;&lt;span&gt;     - Snapshot set basename &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;str&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;index&lt;&#x2F;span&gt;&lt;span&gt;        - Snapshot set index &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;idx&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;timestamp&lt;&#x2F;span&gt;&lt;span&gt;    - Snapshot set creation time as a UNIX epoch value &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;num&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;time&lt;&#x2F;span&gt;&lt;span&gt;         - Snapshot set creation time &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;time&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;nr_snapshots&lt;&#x2F;span&gt;&lt;span&gt; - Number of snapshots &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;num&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;sources&lt;&#x2F;span&gt;&lt;span&gt;      - Snapshot set sources &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;strlist&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;mountpoints&lt;&#x2F;span&gt;&lt;span&gt;  - Snapshot set mount points &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;strlist&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;devices&lt;&#x2F;span&gt;&lt;span&gt;      - Snapshot set devices &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;strlist&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;status&lt;&#x2F;span&gt;&lt;span&gt;       - Snapshot set status &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;str&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;autoactivate&lt;&#x2F;span&gt;&lt;span&gt; - Autoactivation status &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;str&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;bootable&lt;&#x2F;span&gt;&lt;span&gt;     - Configured for snapshot boot &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;str&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;bootentry&lt;&#x2F;span&gt;&lt;span&gt;    - Snapshot set boot entry &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;sha&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;revertentry&lt;&#x2F;span&gt;&lt;span&gt;  - Snapshot set revert boot entry &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span&gt;sha&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;json-output&quot;&gt;JSON Output&lt;&#x2F;h3&gt;
&lt;p&gt;All reports can optionally be formatted as JSON for parsing by other tools using the &lt;code&gt;--json&lt;&#x2F;code&gt; argument:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --json
&lt;&#x2F;span&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Snapsets&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; [
&lt;&#x2F;span&gt;&lt;span&gt;        {
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_name&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;backup&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_time&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;2025-09-09 17:12:21&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_nr_snapshots&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; 3,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_status&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Inactive&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_sources&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; [
&lt;&#x2F;span&gt;&lt;span&gt;                &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;                &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;home&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;                &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;var&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;        },
&lt;&#x2F;span&gt;&lt;span&gt;        {
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_name&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;before-upgrade&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_time&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;2025-09-08 18:43:57&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_nr_snapshots&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; 2,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_status&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Active&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;snapset_sources&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; [
&lt;&#x2F;span&gt;&lt;span&gt;                &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;                &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;var&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;        }
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The &lt;code&gt;create&lt;&#x2F;code&gt; and &lt;code&gt;show&lt;&#x2F;code&gt; commands also support optional JSON output using the &lt;code&gt;--json&lt;&#x2F;code&gt; argument.  In this case the JSON schema maps the normal &lt;code&gt;show&lt;&#x2F;code&gt; output property names to JSON keys:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset show&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --json&lt;&#x2F;span&gt;&lt;span&gt; before-upgrade
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;[
&lt;&#x2F;span&gt;&lt;span&gt;    {
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;SnapsetName&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;before-upgrade&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Sources&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; [
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;var&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;],
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;MountPoints&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; [
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;var&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;],
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Devices&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;[]&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;NrSnapshots&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; 2,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Timestamp&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; 1757353437,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Time&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;2025-09-08 18:43:57&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;UUID&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;6330328b-a9d0-5b41-ac96-53b371449965&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Status&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Active&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Autoactivate&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; true,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Bootable&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span&gt; true,
&lt;&#x2F;span&gt;&lt;span&gt;        &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;BootEntries&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;SnapshotEntry&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;66dc7ad&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;            &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;RevertEntry&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;6832c11&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;        }
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;common-use-cases&quot;&gt;Common Use Cases&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;system-updates-and-rollback&quot;&gt;System Updates and Rollback&lt;&#x2F;h3&gt;
&lt;p&gt;Before performing system updates, create a bootable snapshot:&lt;&#x2F;p&gt;
&lt;p&gt;Create snapshot set before update:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --bootable --revert&lt;&#x2F;span&gt;&lt;span&gt; pre-update &#x2F; &#x2F;var
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Perform system update:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;dnf&lt;&#x2F;span&gt;&lt;span&gt; update
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;If update causes issues, revert:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset revert pre-update
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Or boot into snapshot from boot menu (select: &quot;Snapshot pre-update YYYY-MM-DD HH:MM:SS (version)&quot;):&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;reboot
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Clean up when satisfied with update:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset delete pre-update
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;development-and-testing&quot;&gt;Development and Testing&lt;&#x2F;h3&gt;
&lt;p&gt;Create development checkpoints for experimental work:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Create checkpoint before major changes:&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create dev-checkpoint &#x2F;home &#x2F;var&#x2F;lib&#x2F;myapp
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ul&gt;
&lt;li&gt;Make experimental changes&lt;&#x2F;li&gt;
&lt;li&gt;If changes don&#x27;t work out, revert:&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset revert dev-checkpoint
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;data-protection&quot;&gt;Data Protection&lt;&#x2F;h3&gt;
&lt;p&gt;Regular data snapshots for important directories allow backups to be captured from snapshots, lowering production impact by reducing backup downtime.&lt;&#x2F;p&gt;
&lt;p&gt;Daily backup of user data:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create daily-backup &#x2F;home &#x2F;var&#x2F;lib&#x2F;database
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Weekly system snapshots:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create weekly-system &#x2F; &#x2F;var&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --size-policy&lt;&#x2F;span&gt;&lt;span&gt; 50%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SIZE
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;automated-scheduling&quot;&gt;Automated Scheduling&lt;&#x2F;h3&gt;
&lt;p&gt;Set up automated snapshot schedules:&lt;&#x2F;p&gt;
&lt;p&gt;Hourly snapshots, keep 24:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule create&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --autoindex &lt;&#x2F;span&gt;&lt;span&gt;\
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;    --policy-type&lt;&#x2F;span&gt;&lt;span&gt; count \
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;    --keep-count&lt;&#x2F;span&gt;&lt;span&gt; 24 \
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;    --calendarspec&lt;&#x2F;span&gt;&lt;span&gt; hourly \
&lt;&#x2F;span&gt;&lt;span&gt;    hourly &#x2F; &#x2F;home
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Daily snapshots, keep 7 days:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule create&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --autoindex &lt;&#x2F;span&gt;&lt;span&gt;\
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;    --policy-type&lt;&#x2F;span&gt;&lt;span&gt; age \
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;    --keep-days&lt;&#x2F;span&gt;&lt;span&gt; 7 \
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;    --calendarspec&lt;&#x2F;span&gt;&lt;span&gt; daily \
&lt;&#x2F;span&gt;&lt;span&gt;    daily &#x2F; &#x2F;home &#x2F;var
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Monthly bootable snapshots, keep 12:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule create&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --autoindex &lt;&#x2F;span&gt;&lt;span&gt;\
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;    --bootable --revert &lt;&#x2F;span&gt;&lt;span&gt;\
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;    --policy-type&lt;&#x2F;span&gt;&lt;span&gt; timeline \
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;    --keep-monthly&lt;&#x2F;span&gt;&lt;span&gt; 12 \
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;    --calendarspec&lt;&#x2F;span&gt;&lt;span&gt; monthly \
&lt;&#x2F;span&gt;&lt;span&gt;    monthly &#x2F; &#x2F;var
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;configuration-management&quot;&gt;Configuration Management&lt;&#x2F;h3&gt;
&lt;p&gt;Snapshot configuration changes:&lt;&#x2F;p&gt;
&lt;p&gt;Before modifying system configuration:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create config-backup &#x2F;etc &#x2F;var&#x2F;lib&#x2F;config
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Make configuration changes:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;vim&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;etc&#x2F;myapp&#x2F;config.conf
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Test changes...&lt;&#x2F;p&gt;
&lt;p&gt;If configuration breaks system, revert:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset revert config-backup
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;best-practices&quot;&gt;Best Practices&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;naming-conventions&quot;&gt;Naming Conventions&lt;&#x2F;h3&gt;
&lt;p&gt;Use consistent, descriptive naming:&lt;&#x2F;p&gt;
&lt;p&gt;Good examples:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;pre-kernel-update-6.5.0-snap&lt;&#x2F;li&gt;
&lt;li&gt;before-database-migration&lt;&#x2F;li&gt;
&lt;li&gt;dev-checkpoint-feature-x&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Avoid generic names:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;backup&lt;&#x2F;li&gt;
&lt;li&gt;test&lt;&#x2F;li&gt;
&lt;li&gt;snapshot1&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;size-policy-guidelines&quot;&gt;Size Policy Guidelines&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;For system volumes (&lt;code&gt;&#x2F;&lt;&#x2F;code&gt;, &lt;code&gt;&#x2F;var&lt;&#x2F;code&gt;): Use &lt;code&gt;100%SIZE&lt;&#x2F;code&gt; for critical systems, &lt;code&gt;200%USED&lt;&#x2F;code&gt; for normal use&lt;&#x2F;li&gt;
&lt;li&gt;For data volumes (&lt;code&gt;&#x2F;home&lt;&#x2F;code&gt;): Use &lt;code&gt;100%USED&lt;&#x2F;code&gt; or &lt;code&gt;50%SIZE&lt;&#x2F;code&gt; depending on change frequency&lt;&#x2F;li&gt;
&lt;li&gt;For database volumes: Use &lt;code&gt;300%USED&lt;&#x2F;code&gt; or &lt;code&gt;100%SIZE&lt;&#x2F;code&gt; for heavy write workloads&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;retention-policies&quot;&gt;Retention Policies&lt;&#x2F;h3&gt;
&lt;p&gt;Plan retention based on your needs:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hourly&lt;&#x2F;strong&gt;: Keep 6-12 snapshots for short-term recovery&lt;&#x2F;li&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Daily&lt;&#x2F;strong&gt;: Keep 3-7 snapshots for medium-term recovery&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Weekly&lt;&#x2F;strong&gt;: Keep 2-4 snapshots for long-term recovery&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Monthly&lt;&#x2F;strong&gt;: Keep 3-6 snapshots for archival purposes&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;monitoring-and-maintenance&quot;&gt;Monitoring and Maintenance&lt;&#x2F;h3&gt;
&lt;p&gt;Regular maintenance tasks:&lt;&#x2F;p&gt;
&lt;p&gt;Check snapshot space usage:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapshot list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -o&lt;&#x2F;span&gt;&lt;span&gt; name,size,free
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Clean up old snapshots:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset delete old-snapshot-name
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Review scheduled snapshots:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule list
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;access-control&quot;&gt;Access Control&lt;&#x2F;h3&gt;
&lt;p&gt;Snapm requires root privileges for most operations. Consider:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Using sudo with specific command restrictions&lt;&#x2F;li&gt;
&lt;li&gt;Creating wrapper scripts for common operations&lt;&#x2F;li&gt;
&lt;li&gt;Implementing audit logging for snapshot operations&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;data-sensitivity&quot;&gt;Data Sensitivity&lt;&#x2F;h3&gt;
&lt;p&gt;Remember that snapshots contain complete copies of data:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Consider encryption for sensitive data&lt;&#x2F;li&gt;
&lt;li&gt;Implement proper cleanup procedures for temporary snapshots&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;boot-security&quot;&gt;Boot Security&lt;&#x2F;h3&gt;
&lt;p&gt;Bootable snapshots can bypass some security measures:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Bootable snapshot sets use the kernel present at the time of snapshot creation: older kernels may contain security vulnerabilities patched in newer builds.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Consider password protecting GRUB and enforcing physical access controls.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Integration Examples&lt;&#x2F;p&gt;
&lt;h3 id=&quot;with-systemd-services&quot;&gt;With Systemd Services&lt;&#x2F;h3&gt;
&lt;p&gt;Create consistent snapshots by ensuring services are in a stable state:&lt;&#x2F;p&gt;
&lt;p&gt;Stop service before snapshot:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;systemctl&lt;&#x2F;span&gt;&lt;span&gt; stop myapp
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create myapp-maintenance &#x2F;var&#x2F;lib&#x2F;myapp
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;systemctl&lt;&#x2F;span&gt;&lt;span&gt; start myapp
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Alternatively isolate to rescue mode for system-wide consistency:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;systemctl&lt;&#x2F;span&gt;&lt;span&gt; isolate rescue.target
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create system-maintenance &#x2F; &#x2F;var
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;systemctl&lt;&#x2F;span&gt;&lt;span&gt; isolate multi-user.target
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;with-backup-systems&quot;&gt;With Backup Systems&lt;&#x2F;h3&gt;
&lt;p&gt;Integrate with existing backup workflows:&lt;&#x2F;p&gt;
&lt;p&gt;Create consistent snapshot for backup:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create backup &#x2F;home &#x2F;var&#x2F;lib&#x2F;data
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Mount individual snapshots for backup tools:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;mkdir -p&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;mnt&#x2F;snapshot-backup&#x2F;home
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;mount&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;dev&#x2F;fedora&#x2F;home-snapset_backup_1757533502_-home &#x2F;mnt&#x2F;snapshot-backup&#x2F;home
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;...
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Run backup tools against mounted snapshot:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;rsync -av&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;mnt&#x2F;snapshot-backup&#x2F;home backup-server:&#x2F;backups&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;...
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Clean up:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;umount&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;mnt&#x2F;snapshot-backup&#x2F;home
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset delete backup
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;with-configuration-management&quot;&gt;With Configuration Management&lt;&#x2F;h3&gt;
&lt;p&gt;Use with Ansible, Puppet, etc.:&lt;&#x2F;p&gt;
&lt;p&gt;Pre-deployment snapshot:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create pre-deploy-$(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;date&lt;&#x2F;span&gt;&lt;span&gt; +%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Y&lt;&#x2F;span&gt;&lt;span&gt;%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;m&lt;&#x2F;span&gt;&lt;span&gt;%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;d&lt;&#x2F;span&gt;&lt;span&gt;) &#x2F;etc &#x2F;var&#x2F;www
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Run deployment:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;ansible-playbook&lt;&#x2F;span&gt;&lt;span&gt; deploy.yml
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Verify deployment:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;curl -f&lt;&#x2F;span&gt;&lt;span&gt; http:&#x2F;&#x2F;localhost&#x2F;health ||
&lt;&#x2F;span&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;echo &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Deployment failed, reverting...&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset revert pre-deploy-$(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;date&lt;&#x2F;span&gt;&lt;span&gt; +%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Y&lt;&#x2F;span&gt;&lt;span&gt;%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;m&lt;&#x2F;span&gt;&lt;span&gt;%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;d&lt;&#x2F;span&gt;&lt;span&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;troubleshooting&quot;&gt;Troubleshooting&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;common-issues&quot;&gt;Common Issues&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Snapshot creation fails with &quot;No space left&quot;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Check available space and adjust size policies:&lt;&#x2F;p&gt;
&lt;p&gt;Check current usage:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;vgs
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;stratis&lt;&#x2F;span&gt;&lt;span&gt; pool list
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Use smaller size policy:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create backup&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --size-policy&lt;&#x2F;span&gt;&lt;span&gt; 50%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;USED&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Boot entries not appearing&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Ensure boom is properly installed and configured:&lt;&#x2F;p&gt;
&lt;p&gt;Check boom installation:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;rpm -q&lt;&#x2F;span&gt;&lt;span&gt; boom-boot
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;boom&lt;&#x2F;span&gt;&lt;span&gt; list
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Verify boom configuration:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;boom&lt;&#x2F;span&gt;&lt;span&gt; profile list
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Snapshot activation fails&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Check snapshot status and storage health:&lt;&#x2F;p&gt;
&lt;p&gt;Check snapshot status:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapshot list
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Check LVM and Stratis status:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;lvs
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;vgs
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;stratis&lt;&#x2F;span&gt;&lt;span&gt; pool list
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Check for storage errors:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;journalctl --priority&lt;&#x2F;span&gt;&lt;span&gt; err
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;dmesg &lt;&#x2F;span&gt;&lt;span&gt;| &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;grep -i&lt;&#x2F;span&gt;&lt;span&gt; err
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Snapshot space exhaustion&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;When snapshots are close to running out of space:&lt;&#x2F;p&gt;
&lt;p&gt;Check snapshot usage:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapshot list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -o&lt;&#x2F;span&gt;&lt;span&gt; name,size,free
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Resize snapshot if possible:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset resize my-snapset &#x2F;var:500%&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;USED
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;If necessary resize the LVM2 volume group, thin pool, or Stratis pool to create more space for snapshot storage.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Permission denied errors&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Ensure snapm is run as the root user:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create before-upgrade &#x2F; &#x2F;var
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;$&lt;&#x2F;span&gt;&lt;span&gt; sudo snapm snapset create before-upgrade &#x2F; &#x2F;var
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;LVM thin pool issues&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;For thin provisioning problems:&lt;&#x2F;p&gt;
&lt;p&gt;Check thin pool status:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span&gt; lvs&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -a -o&lt;&#x2F;span&gt;&lt;span&gt; +data_percent,metadata_percent
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Extend thin pool if needed:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span&gt; lvextend&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -L&lt;&#x2F;span&gt;&lt;span&gt;+1G &#x2F;dev&#x2F;vg&#x2F;thin_pool
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Check thin pool metadata:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span&gt; thin_check &#x2F;dev&#x2F;vg&#x2F;thin_pool_tmeta
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Stratis backend issues&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;For Stratis-related problems:&lt;&#x2F;p&gt;
&lt;p&gt;Check Stratis daemon status:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;systemctl&lt;&#x2F;span&gt;&lt;span&gt; status stratisd
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;List Stratis pools and filesystems:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;stratis&lt;&#x2F;span&gt;&lt;span&gt; pool list
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;stratis&lt;&#x2F;span&gt;&lt;span&gt; filesystem list
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Check Stratis logs:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;journalctl -u&lt;&#x2F;span&gt;&lt;span&gt; stratisd
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;performance-considerations&quot;&gt;Performance Considerations&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Snapshot Size Planning&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;100%SIZE&lt;&#x2F;code&gt; for complete protection but higher space usage&lt;&#x2F;li&gt;
&lt;li&gt;Use &lt;code&gt;200%USED&lt;&#x2F;code&gt; for balance between protection and space efficiency&lt;&#x2F;li&gt;
&lt;li&gt;Use &lt;code&gt;50%USED&lt;&#x2F;code&gt; or &lt;code&gt;25%SIZE&lt;&#x2F;code&gt; for space-constrained environments&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Storage Performance&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;LVM2 thin provisioning generally offers better performance than copy-on-write&lt;&#x2F;li&gt;
&lt;li&gt;Consider separate storage for snapshot backstores in high-I&#x2F;O environments&lt;&#x2F;li&gt;
&lt;li&gt;Monitor snapshot space usage to prevent exhaustion&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;debugging&quot;&gt;Debugging&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;debug-mode&quot;&gt;Debug Mode&lt;&#x2F;h3&gt;
&lt;p&gt;Enable debug mode with very verbose output:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm -d&lt;&#x2F;span&gt;&lt;span&gt; all&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -vv&lt;&#x2F;span&gt;&lt;span&gt; snapset create debug-test &#x2F;home
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Enable specific debug categories with very verbose output:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm -vv -d&lt;&#x2F;span&gt;&lt;span&gt; command,plugin snapset list
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Basic verbose output:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm -v&lt;&#x2F;span&gt;&lt;span&gt; snapset show my-snapset
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;log-analysis&quot;&gt;Log Analysis&lt;&#x2F;h3&gt;
&lt;p&gt;Check system logs for snapm timer unit activity:&lt;&#x2F;p&gt;
&lt;p&gt;Check snapm logs:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;journalctl --boot&lt;&#x2F;span&gt;&lt;span&gt; 0 | &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;grep&lt;&#x2F;span&gt;&lt;span&gt; -- snapm-
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Check for storage-related messages:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;journalctl --boot&lt;&#x2F;span&gt;&lt;span&gt; 0 | &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;grep -i&lt;&#x2F;span&gt;&lt;span&gt; lvm
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;dmesg &lt;&#x2F;span&gt;&lt;span&gt;| &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;grep &lt;&#x2F;span&gt;&lt;span&gt;&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Buffer I\&#x2F;O error&lt;&#x2F;span&gt;&lt;span&gt;&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Check for filesystem errors:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;journalctl --boot&lt;&#x2F;span&gt;&lt;span&gt; 0 | &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;grep -i&lt;&#x2F;span&gt;&lt;span&gt; ext4
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;journalctl --boot&lt;&#x2F;span&gt;&lt;span&gt; 0 | &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;grep -i&lt;&#x2F;span&gt;&lt;span&gt; xfs
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;storage-backend-debugging&quot;&gt;Storage Backend Debugging&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Debugging Provider&#x2F;Plugin Problems&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;When snapshot operations fail, check provider-specific status:&lt;&#x2F;p&gt;
&lt;p&gt;Check available plugins:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; plugin list
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;For LVM2 issues, check LVM status:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;lvs -a
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;vgs
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;pvs
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;For Stratis issues, check daemon and pools:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;systemctl&lt;&#x2F;span&gt;&lt;span&gt; status stratisd
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;stratis&lt;&#x2F;span&gt;&lt;span&gt; pool list
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;stratis&lt;&#x2F;span&gt;&lt;span&gt; filesystem list
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;configuration-validation&quot;&gt;Configuration Validation&lt;&#x2F;h3&gt;
&lt;p&gt;Verify snapm configuration:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm -vv --debug&lt;&#x2F;span&gt;&lt;span&gt;=all plugin list
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Validate boom integration:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;boom&lt;&#x2F;span&gt;&lt;span&gt; list
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;boom&lt;&#x2F;span&gt;&lt;span&gt; profile list
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;getting-help&quot;&gt;Getting Help&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;command-line-help&quot;&gt;Command Line Help&lt;&#x2F;h3&gt;
&lt;p&gt;Help is available for the &lt;code&gt;snapm&lt;&#x2F;code&gt; command and each subcommand:&lt;&#x2F;p&gt;
&lt;p&gt;General help:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm --help
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Command type help:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --help
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapshot&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --help
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --help
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; plugin&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --help
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Specific command help:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset create&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --help
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; --help
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;manual-pages&quot;&gt;Manual Pages&lt;&#x2F;h3&gt;
&lt;p&gt;Full command, option, argument, and configuration documentation is available in the manual pages:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;man&lt;&#x2F;span&gt;&lt;span&gt; 8 snapm
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;man&lt;&#x2F;span&gt;&lt;span&gt; 5 snapm.conf
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;man&lt;&#x2F;span&gt;&lt;span&gt; 5 snapm-plugins.d
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;man&lt;&#x2F;span&gt;&lt;span&gt; 5 snapm-schedule.d
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;field-reference&quot;&gt;Field Reference&lt;&#x2F;h3&gt;
&lt;p&gt;Get available fields for reports:&lt;&#x2F;p&gt;
&lt;p&gt;Snapset fields:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapset list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -ohelp
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Snapshot fields:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; snapshot list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -ohelp
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Schedule fields:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; schedule list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -ohelp
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Plugin fields:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; plugin list&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -ohelp
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;version-information&quot;&gt;Version Information&lt;&#x2F;h3&gt;
&lt;p&gt;Check snapm version and component information:&lt;&#x2F;p&gt;
&lt;p&gt;Show version:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm --version
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Show plugin versions:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;snapm&lt;&#x2F;span&gt;&lt;span&gt; plugin list
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;online-resources&quot;&gt;Online Resources&lt;&#x2F;h3&gt;
&lt;p&gt;Additional help and documentation:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Project Homepage&lt;&#x2F;strong&gt;: &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Documentation&lt;&#x2F;strong&gt;: &lt;a href=&quot;https:&#x2F;&#x2F;snapm.readthedocs.io&#x2F;&quot;&gt;https:&#x2F;&#x2F;snapm.readthedocs.io&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Issue Tracker&lt;&#x2F;strong&gt;: &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;issues&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;issues&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Wiki&lt;&#x2F;strong&gt;: &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;wiki&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;wiki&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Mailing List&lt;&#x2F;strong&gt;: snapm-users@lists.fedoraproject.org&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;community-support&quot;&gt;Community Support&lt;&#x2F;h3&gt;
&lt;p&gt;Get help from the community:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Issues&lt;&#x2F;strong&gt;: &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;issues&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;snapm&#x2F;issues&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Filing Bug Reports&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;When reporting issues, include:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Snapm version (&lt;code&gt;snapm --version&lt;&#x2F;code&gt;)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Operating system and version&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Storage backend information&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Complete error messages&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Debug output (&lt;code&gt;snapm -vv --debug=all &amp;lt;command&amp;gt;&lt;&#x2F;code&gt;)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Steps to reproduce the issue&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Example bug report template&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;text&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-text &quot;&gt;&lt;code class=&quot;language-text&quot; data-lang=&quot;text&quot;&gt;&lt;span&gt;**Snapm Version**: 0.4.3
&lt;&#x2F;span&gt;&lt;span&gt;**OS**: Fedora 42 x86_64
&lt;&#x2F;span&gt;&lt;span&gt;**Storage**: LVM2 with thin provisioning
&lt;&#x2F;span&gt;&lt;span&gt;**Error**: Snapshot creation fails with permission denied
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;**Steps to reproduce**:
&lt;&#x2F;span&gt;&lt;span&gt;1. sudo snapm snapset create test &#x2F;home
&lt;&#x2F;span&gt;&lt;span&gt;2. Error appears immediately
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;**Debug output**:
&lt;&#x2F;span&gt;&lt;span&gt;snapm -vv -d all snapset create test &#x2F;home
&lt;&#x2F;span&gt;&lt;span&gt;[debug output here]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;**Additional context**:
&lt;&#x2F;span&gt;&lt;span&gt;- Works with root user
&lt;&#x2F;span&gt;&lt;span&gt;- Sudo configuration appears correct
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;appendix&quot;&gt;Appendix&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;storage-backend-details&quot;&gt;Storage Backend Details&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;LVM2 Copy-on-Write&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Requires fixed size allocation&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Good for infrequent snapshots&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Lower performance impact during normal operation&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Higher space requirements&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;LVM2 Thin Provisioning&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Dynamic space allocation&lt;&#x2F;li&gt;
&lt;li&gt;Better space efficiency&lt;&#x2F;li&gt;
&lt;li&gt;Good performance characteristics&lt;&#x2F;li&gt;
&lt;li&gt;Requires thin pool configuration&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Stratis&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Modern storage management&lt;&#x2F;li&gt;
&lt;li&gt;Automatic thin provisioning&lt;&#x2F;li&gt;
&lt;li&gt;Integrated with systemd&lt;&#x2F;li&gt;
&lt;li&gt;Requires Stratis daemon&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;exit-codes&quot;&gt;Exit Codes&lt;&#x2F;h3&gt;
&lt;p&gt;Snapm commands return standard exit codes:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;0&lt;&#x2F;strong&gt;: Success&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;1&lt;&#x2F;strong&gt;: Runtime error&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;2&lt;&#x2F;strong&gt;: Invalid arguments &#x2F; parse error&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Welcome!</title>
        <published>2025-12-21T00:00:00+00:00</published>
        <updated>2025-12-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://snapshotmanager.github.io/blog/welcome/"/>
        <id>https://snapshotmanager.github.io/blog/welcome/</id>
        
        <content type="html" xml:base="https://snapshotmanager.github.io/blog/welcome/">&lt;h1 id=&quot;welcome&quot;&gt;Welcome!&lt;&#x2F;h1&gt;
&lt;p&gt;Welcome to the &lt;em&gt;Snapshot Manager&lt;&#x2F;em&gt; blog! We&#x27;ll be sharing news, release
announcements, future plans and updates, technical tips and more.&lt;&#x2F;p&gt;
&lt;p&gt;Come back soon or subscribe to our feed to be notified of updates.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Stratis Clients and Supported Operating Systems</title>
        <published>2021-12-23T00:00:00+00:00</published>
        <updated>2021-12-23T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://snapshotmanager.github.io/users/"/>
        <id>https://snapshotmanager.github.io/users/</id>
        
        <content type="html" xml:base="https://snapshotmanager.github.io/users/">&lt;p&gt;Stratis is supported on a number of operating systems and by a number of client
frameworks, itemized below. Please file a GitHub &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;stratis-storage&#x2F;stratis-docs&#x2F;issues&quot;&gt;issue&lt;&#x2F;a&gt; or &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;stratis-storage&#x2F;stratis-docs&#x2F;pulls&quot;&gt;pull request&lt;&#x2F;a&gt; if
you would like any others to be added to the list.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;supported-operating-systems&quot;&gt;Supported Operating Systems&lt;&#x2F;h1&gt;
&lt;ul&gt;
&lt;li&gt;Arch Linux: &lt;a href=&quot;https:&#x2F;&#x2F;archlinux.org&#x2F;packages&#x2F;extra&#x2F;x86_64&#x2F;stratisd&#x2F;&quot;&gt;https:&#x2F;&#x2F;archlinux.org&#x2F;packages&#x2F;extra&#x2F;x86_64&#x2F;stratisd&#x2F;&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;archlinux.org&#x2F;packages&#x2F;extra&#x2F;any&#x2F;stratis-cli&#x2F;&quot;&gt;https:&#x2F;&#x2F;archlinux.org&#x2F;packages&#x2F;extra&#x2F;any&#x2F;stratis-cli&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Fedora: &lt;a href=&quot;https:&#x2F;&#x2F;src.fedoraproject.org&#x2F;rpms&#x2F;stratisd&#x2F;&quot;&gt;https:&#x2F;&#x2F;src.fedoraproject.org&#x2F;rpms&#x2F;stratisd&#x2F;&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;src.fedoraproject.org&#x2F;rpms&#x2F;stratis-cli&quot;&gt;https:&#x2F;&#x2F;src.fedoraproject.org&#x2F;rpms&#x2F;stratis-cli&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h1 id=&quot;clients&quot;&gt;Clients&lt;&#x2F;h1&gt;
&lt;ul&gt;
&lt;li&gt;Cockpit: &lt;a href=&quot;https:&#x2F;&#x2F;cockpit-project.org&#x2F;blog&#x2F;cockpit-256.html&quot;&gt;https:&#x2F;&#x2F;cockpit-project.org&#x2F;blog&#x2F;cockpit-256.html&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Blivet: &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;storaged-project&#x2F;blivet&#x2F;pull&#x2F;952&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;storaged-project&#x2F;blivet&#x2F;pull&#x2F;952&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;storaged-project&#x2F;blivet-gui&#x2F;pull&#x2F;277&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;storaged-project&#x2F;blivet-gui&#x2F;pull&#x2F;277&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;BOOM: &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;boom&#x2F;blob&#x2F;8d377444b1f3a3efb636270cc0963f420ee1fdb9&#x2F;boom&#x2F;stratis.py&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;snapshotmanager&#x2F;boom&#x2F;blob&#x2F;8d377444b1f3a3efb636270cc0963f420ee1fdb9&#x2F;boom&#x2F;stratis.py&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Munin: &lt;a href=&quot;https:&#x2F;&#x2F;gallery.munin-monitoring.org&#x2F;plugins&#x2F;munin-contrib&#x2F;stratis&#x2F;&quot;&gt;https:&#x2F;&#x2F;gallery.munin-monitoring.org&#x2F;plugins&#x2F;munin-contrib&#x2F;stratis&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
</feed>
