macOSで採用されているファイルシステム「Apple File System(APFS)」には「ファイルをコピーする際に、データそのものはコピーせずに元ファイルへの参照情報のみを作成する」というクローン機能が搭載されています。「dedup」はこのクローン機能を活用して「ストレージ内の同じ内容のファイルを検索して、1つだけ実体を残して他のファイルはクローンに変換する」という操作を実行するコマンドラインツールで、ファイルを削除することなくMacのストレージ空き容量を確保できます。
GitHub – ttkb-oss/dedup: dedup finds and clones duplicate files
https://github.com/ttkb-oss/dedup
◆dedupを使う準備
まず、GitHubからdedupのソースコードをダウンロードしてビルドします。ターミナルを起動して以下のコマンドを1行ずつ実行すればOK。なお、dedupはAPFSでフォーマットされたストレージでしか機能しません。
git clone https://github.com/ttkb-oss/dedup.git
cd dedup
make && sudo make install
ビルドが完了したら、正しくビルドできているか確認するためにdedupのバージョン確認コマンドを実行します。「V」は大文字です。小文字の「v」だとファイル変換処理が実行されてしまうので注意。
./dedup -V
以下のようにバージョン情報が表示されればOK。
これでdedupのビルドは完了ですが、このままだと使いにくいので「dedup」というコマンドだけで実行できるようにエイリアスを設定しておきます。まず、ホームディレクトリに移動してからzshの設定ファイル「.zshrc」を開きます。
cd
vim .zshrc
「.zshrc」に「alias dedup=’./$HOME/dedup/dedup’」という行を追加して上書き保存します。
これで、どのディレクトリにいる状態でも「dedup」というコマンドでdedupを実行できるようになりました。正しくエイリアスを設定できている確かめるために、任意のディレクトリで以下のコマンドを実行してみます。
dedup -V
こんな感じにバージョンが表示されればOKです。
◆dedupで空き容量を確保する手順
dedupを使う準備が完了したので、実際に使ってみます。今回は例として同じ写真を100枚含むディレクトリを作成しました。この時点でのストレージ全体の空き容量は25.31GBです。
ディレクトリの容量は1.39GB。
まずは、dedupでどれだけの容量を確保できるのか確認するために、処理したいディレクトリに移動してから以下のコマンドを実行します。「-h」は容量を人間に分かりやすい形式で表示するオプションで、「-n」はクローン処理を実行せずに確保できる容量の計算だけを実行するオプションです。
dedup -h -n
コマンドの実行結果はこんな感じ。容量を1GB確保できることが分かります。
どれだけ容量を確保できるか分かったので、以下のコマンドで実際にクローン処理を実行します。
dedup -h
処理完了。
Finderを確認すると、画像ファイルはそのまま残っていますが、ストレージ全体の空き容量が1.38GB増えて26.69GBになっています。つまり、一部のファイルだけ実体が残り、他のファイルはクローンになっているというわけです。
ディレクトリ情報には処理実行前と同じ容量が表示されました。
dedupにはクローンではなくハードリンクやシンボリックリンクを使う機能なども搭載されています。詳細は以下のリンク先で確認できます。
GitHub – ttkb-oss/dedup: dedup finds and clones duplicate files
https://github.com/ttkb-oss/dedup
この記事のタイトルとURLをコピーする
Source link
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。