<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>FN OS on KnightLiブログ</title>
        <link>https://knightli.com/ja/tags/fn-os/</link>
        <description>Recent content in FN OS on KnightLiブログ</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Sat, 20 Jun 2026 19:09:03 +0800</lastBuildDate><atom:link href="https://knightli.com/ja/tags/fn-os/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Synology と FN OS NAS で Btrfs &#43; jdupes の CoW 重複排除を使って容量を節約する</title>
        <link>https://knightli.com/ja/2026/06/20/synology-fn-os-btrfs-jdupes-cow-dedup/</link>
        <pubDate>Sat, 20 Jun 2026 19:09:03 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/06/20/synology-fn-os-btrfs-jdupes-cow-dedup/</guid>
        <description>&lt;p&gt;NAS に動画、バックアップアーカイブ、インストールイメージ、写真の書き出しフォルダを保存していると、重複ファイルだけで数百 GB から数 TB を消費していることがあります。従来の方法では重複ファイルを削除するか、ハードリンクに置き換えることが多いですが、どちらも長期運用の NAS にはあまり向きません。&lt;/p&gt;
&lt;p&gt;より安全な方法は、CoW に対応したファイルシステム上で &lt;code&gt;jdupes&lt;/code&gt; を使い、ブロック単位の重複排除を行うことです。&lt;/p&gt;
&lt;p&gt;Synology や FN OS のような NAS でストレージボリュームが Btrfs の場合、&lt;code&gt;jdupes -B&lt;/code&gt; によってファイルシステムの下層機能を呼び出し、重複ファイルに同じ物理データブロックを共有させることができます。ディレクトリ上ではそれぞれ独立したファイルに見えますが、実際の保存領域は 1 つ分だけになります。&lt;/p&gt;
&lt;h2 id=&#34;cow-重複排除とハードリンクの違い&#34;&gt;CoW 重複排除とハードリンクの違い
&lt;/h2&gt;&lt;p&gt;ハードリンクは、複数のパスが同じ inode を指す仕組みです。&lt;/p&gt;
&lt;p&gt;容量は節約できますが、明確な弱点があります。どれか 1 つのファイルをプログラムが変更すると、他のハードリンク先から見える内容も一緒に変わります。メディアライブラリ、同期フォルダ、写真管理、バックアップディレクトリでは、この挙動が問題になりやすいです。&lt;/p&gt;
&lt;p&gt;Btrfs の CoW 重複排除は違います。&lt;/p&gt;
&lt;p&gt;複数の独立したファイルが同じデータブロックを共有し、どれか 1 つが変更されたときだけ、変更された部分が新しいデータブロックに書き出されます。他のファイルには影響しません。&lt;/p&gt;
&lt;p&gt;つまり、CoW 重複排除後は次のようになります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ファイルパスは互いに独立したまま；&lt;/li&gt;
&lt;li&gt;1 つのファイルを削除しても他のファイルは削除されない；&lt;/li&gt;
&lt;li&gt;1 つのファイルを変更しても他のファイルは変わらない；&lt;/li&gt;
&lt;li&gt;重複部分はディスク上で 1 つ分の容量だけを使う。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これが、NAS ではハードリンクより &lt;code&gt;jdupes -B&lt;/code&gt; のほうが使いやすい理由です。&lt;/p&gt;
&lt;h2 id=&#34;向いている用途&#34;&gt;向いている用途
&lt;/h2&gt;&lt;p&gt;CoW 重複排除に向いているディレクトリは次のようなものです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;メディアライブラリ内で重複しているドラマや映画；&lt;/li&gt;
&lt;li&gt;複数の場所にあるインストーラ、ISO、圧縮ファイル；&lt;/li&gt;
&lt;li&gt;何度も書き出した写真や動画素材；&lt;/li&gt;
&lt;li&gt;バックアップソフトが生成した大きな重複ファイル；&lt;/li&gt;
&lt;li&gt;手作業の整理中にコピーした一時ディレクトリ。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最初からシステムボリューム全体に実行するのはおすすめしません。まずはユーザーデータの一部から試すほうが安全です。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/video/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/photo/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/data1/aaa/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;小さい範囲でコマンド、除外ルール、節約効果を確認してから、対象を広げるのがよいです。&lt;/p&gt;
&lt;h2 id=&#34;基本コマンド&#34;&gt;基本コマンド
&lt;/h2&gt;&lt;p&gt;Btrfs ディレクトリで &lt;code&gt;jdupes&lt;/code&gt; による CoW 重複排除を行う場合、重要なのは &lt;code&gt;-B&lt;/code&gt; です。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;jdupes -r -B &lt;span class=&#34;s2&#34;&gt;&amp;#34;/volume1/data1/aaa/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;各オプションの意味は次のとおりです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-r&lt;/code&gt;: サブディレクトリを再帰的にスキャンする；&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-B&lt;/code&gt;: 重複ファイルに対して Btrfs/CoW 重複排除を実行し、ハードリンクを作らない；&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;quot;/volume1/data1/aaa/&amp;quot;&lt;/code&gt;: スキャン対象のディレクトリ。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ここで最も重要なのは &lt;code&gt;-B&lt;/code&gt; です。&lt;code&gt;jdupes&lt;/code&gt; がファイルシステムの重複排除機能を使うようになり、通常は reflink、clone、dedupe range などの下層インターフェースが使われます。&lt;/p&gt;
&lt;h2 id=&#34;synology-では-eadir-と-recycle-を除外する&#34;&gt;Synology では @eaDir と #recycle を除外する
&lt;/h2&gt;&lt;p&gt;Synology では、&lt;code&gt;@eaDir&lt;/code&gt; と &lt;code&gt;#recycle&lt;/code&gt; をスキャン対象に含めないほうがよいです。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;@eaDir&lt;/code&gt; は Synology が自動生成する隠しディレクトリで、サムネイル、メディアインデックス、拡張属性、パッケージ関連キャッシュなどが入っています。ファイル数が多く小さいため、スキャンコストが高いわりに節約効果は小さく、Synology のインデックスサービスに影響する可能性もあります。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;#recycle&lt;/code&gt; は共有フォルダのごみ箱です。ここにあるファイルはいずれ削除される前提なので、重複排除する意味はあまりなく、結果の判断も難しくなります。&lt;/p&gt;
&lt;p&gt;そのため、Synology ではこの 2 つを除外するのがおすすめです。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;jdupes&lt;/code&gt; のバージョンによって &lt;code&gt;-X&lt;/code&gt; オプションの書き方は異なります。一部の解説では次のように書かれています。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;jdupes -r -B -X &lt;span class=&#34;s2&#34;&gt;&amp;#34;req:*/@eaDir/*&amp;#34;&lt;/span&gt; -X &lt;span class=&#34;s2&#34;&gt;&amp;#34;req:*/#recycle/*&amp;#34;&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/volume1/data1/aaa/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;しかし、一部の Synology 環境では次のエラーになります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Invalid extfilter filter name was specified
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;もし &lt;code&gt;jdupes -X&lt;/code&gt; のヘルプに &lt;code&gt;nostr:text_string&lt;/code&gt; が表示される場合は、次の書き方のほうが互換性があります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;jdupes -r -B -X nostr:/@eaDir/ -X nostr:/#recycle/ &lt;span class=&#34;s2&#34;&gt;&amp;#34;/volume1/data1/aaa/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;意味は単純です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-X nostr:/@eaDir/&lt;/code&gt;: パスに &lt;code&gt;/@eaDir/&lt;/code&gt; を含むファイルを除外する；&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-X nostr:/#recycle/&lt;/code&gt;: パスに &lt;code&gt;/#recycle/&lt;/code&gt; を含むファイルを除外する。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;対象パスに日本語や空白が含まれる場合は、必ずダブルクォートで囲みます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;jdupes -r -B -X nostr:/@eaDir/ -X nostr:/#recycle/ &lt;span class=&#34;s2&#34;&gt;&amp;#34;/volume1/photo/视频工作/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;fn-os-nas-での考え方&#34;&gt;FN OS NAS での考え方
&lt;/h2&gt;&lt;p&gt;FN OS NAS で Btrfs ストレージプールを使っている場合、考え方は Synology と同じです。対象ディレクトリが Btrfs 上にあることを確認し、&lt;code&gt;jdupes -B&lt;/code&gt; で CoW 重複排除を行います。&lt;/p&gt;
&lt;p&gt;違いは、システムの隠しディレクトリ名が異なる可能性がある点です。Synology では &lt;code&gt;@eaDir&lt;/code&gt; と &lt;code&gt;#recycle&lt;/code&gt; がよく出てきますが、FN OS では実際のディレクトリ構成を見て除外ルールを決める必要があります。&lt;/p&gt;
&lt;p&gt;まずは次のように確認します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;find &lt;span class=&#34;s2&#34;&gt;&amp;#34;/你的目标目录&amp;#34;&lt;/span&gt; -maxdepth &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; -type d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;システムキャッシュ、ごみ箱、インデックスディレクトリ、アプリデータディレクトリがあるかを確認します。重複排除の効果が大きいのは、システムが生成した小さなキャッシュではなく、ユーザーデータ内の大きなファイルです。&lt;/p&gt;
&lt;h2 id=&#34;cow-重複排除の成功を確認する方法&#34;&gt;CoW 重複排除の成功を確認する方法
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;ls -l&lt;/code&gt; だけを見ても判断できません。CoW 重複排除後も論理ファイルサイズは変わらず、ディレクトリ上では複数の完全なファイルに見えます。&lt;/p&gt;
&lt;p&gt;より確実な確認方法は 3 つあります。&lt;/p&gt;
&lt;h3 id=&#34;1-jdupes-の出力を見る&#34;&gt;1. jdupes の出力を見る
&lt;/h3&gt;&lt;p&gt;実行中に次のような出力があれば、重複ファイルが検出され処理された可能性が高いです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[SRC] /volume1/data1/aaa/1/file.mkv
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;====&amp;gt; /volume1/data1/aaa/2/file.mkv
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;====&amp;gt; /volume1/data1/aaa/3/file.mkv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;[SRC]&lt;/code&gt; は基準となるファイルで、&lt;code&gt;====&amp;gt;&lt;/code&gt; の後ろのファイルは同じ下層データブロックにまとめられたことを示します。ファイルは独立して存在しますが、物理容量は圧縮されています。&lt;/p&gt;
&lt;h3 id=&#34;2-btrfs-の容量変化を比較する&#34;&gt;2. Btrfs の容量変化を比較する
&lt;/h3&gt;&lt;p&gt;重複排除の前後で次を実行します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo btrfs filesystem usage /volume1/data1/aaa/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;見るべき項目は次の 3 つです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Used:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Free (estimated):
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Data,single: Used:
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;重複排除が効いていれば、通常は次の変化が出ます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Used&lt;/code&gt; が減る；&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Data,single: Used&lt;/code&gt; が減る；&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Free (estimated)&lt;/code&gt; が増える。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;たとえば重複排除前の &lt;code&gt;Used&lt;/code&gt; が &lt;code&gt;8.44TiB&lt;/code&gt; で、後に &lt;code&gt;8.20TiB&lt;/code&gt; へ下がったなら、数十 GB 程度でも CoW 重複排除によって物理容量が解放されたと判断できます。&lt;/p&gt;
&lt;h3 id=&#34;3-compsize-で実使用量を見る&#34;&gt;3. compsize で実使用量を見る
&lt;/h3&gt;&lt;p&gt;システムに &lt;code&gt;compsize&lt;/code&gt; をインストールできる場合、Btrfs の圧縮や重複排除後の実使用量をより直感的に確認できます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo compsize &lt;span class=&#34;s2&#34;&gt;&amp;#34;/volume1/data1/aaa/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;通常の &lt;code&gt;du&lt;/code&gt; より、Btrfs 上の実際の占有量を把握するのに向いています。&lt;/p&gt;
&lt;h2 id=&#34;安全に実行するための手順&#34;&gt;安全に実行するための手順
&lt;/h2&gt;&lt;p&gt;おすすめの手順は次のとおりです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;対象ディレクトリが Btrfs ボリューム上にあることを確認する；&lt;/li&gt;
&lt;li&gt;最初は小さなディレクトリで試し、いきなり全ボリュームをスキャンしない；&lt;/li&gt;
&lt;li&gt;システムの隠しディレクトリ、ごみ箱、アプリキャッシュを除外する；&lt;/li&gt;
&lt;li&gt;パスに日本語や空白がある場合はダブルクォートで囲む；&lt;/li&gt;
&lt;li&gt;重複排除前に &lt;code&gt;btrfs filesystem usage&lt;/code&gt; を記録する；&lt;/li&gt;
&lt;li&gt;実行後にもう一度記録し、&lt;code&gt;Used&lt;/code&gt; と &lt;code&gt;Free (estimated)&lt;/code&gt; を比較する；&lt;/li&gt;
&lt;li&gt;オプションの意味が不明な場合は、まず &lt;code&gt;jdupes --help&lt;/code&gt; でインストール済みバージョンのフィルターを確認する。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Synology では、まず次のコマンドから試すのがおすすめです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;jdupes -r -B -X nostr:/@eaDir/ -X nostr:/#recycle/ &lt;span class=&#34;s2&#34;&gt;&amp;#34;/volume1/data1/aaa/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;使っている &lt;code&gt;jdupes&lt;/code&gt; が &lt;code&gt;nostr&lt;/code&gt; に対応していない場合は、&lt;code&gt;jdupes -X&lt;/code&gt; または &lt;code&gt;jdupes --help&lt;/code&gt; の出力に合わせてフィルターを調整してください。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Btrfs + &lt;code&gt;jdupes -B&lt;/code&gt; の価値は、ファイルを削除したりハードリンク化したりせずに、重複内容だけを下層の物理領域で共有できることです。&lt;/p&gt;
&lt;p&gt;Synology や FN OS のような NAS では、重複した動画、バックアップファイル、大きな素材ディレクトリの整理に特に向いています。重要なのはスキャン範囲と除外ルールです。ユーザーデータを優先し、システムキャッシュやごみ箱を避け、実行前後で Btrfs の容量変化を確認しましょう。&lt;/p&gt;
&lt;p&gt;安全に容量を節約したいなら、まずこの形を覚えておけば十分です。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;jdupes -r -B -X nostr:/@eaDir/ -X nostr:/#recycle/ &lt;span class=&#34;s2&#34;&gt;&amp;#34;/你的Btrfs数据目录/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        </item>
        
    </channel>
</rss>
