ループファイルシステムとは何ですか?
Gnu / Linux(および大多数のUNIXシステム)には、ファイル(以前はフォーマット済み)をハードディスクであるかのように、通常はパーティションテーブルなしでマウントできるメカニズムがあります。 このくだらない図(私が作成したもの)は、このメカニズムがどのように機能するかを説明しています。
ループファイルの使用
1-Mount.isoファイル
CDおよびDVDの標準的な卓越性である.isoファイルは、ファイルシステムが可能であるループファイルにすぎません。 ISO 9960 (CDでより一般的)または UDF (DVDで最も一般的)。 マウントするには、mountコマンドを使用します。
mkdir iso#ディレクトリを作成しますchmod -R 666 iso#すべてのユーザーに読み取り権限を付与しますmount image.iso iso /#isoイメージをマウントします(rootが必要です)
明らかな理由で、両方のファイルシステムが読み取り専用であるという制限があります。
2-読み取り専用のsquashfs
撮影された年に応じて整理された画像やビデオのフォルダがあるとします。 明らかに、前の年のフォルダに含まれているデータを変更する可能性はほとんどありません。 そこでSquashfsが登場します。 Squashfsは読み取り専用の圧縮ファイルシステムであるため、イメージが作成されると、 内のデータを変更することはできません。
したがって、 膨大なスペースを節約します、しかし、奇妙な効果もあります ファイルの読み取りが速くなります、最近ではファイルの解凍はほとんどのCPUにとって最小限の労力であるため、小さいファイルを読み取る必要があります。
プリアンブルを残して、squashfsイメージを作成するには、構文が単純なmksquashfsコマンドを使用する必要があります。
mksquashfs directorio 1 [directorio 2 directorio 3...] imagen.sqsfs -comp [algoritmo de compresión] -b [tamaño del bloque ]
そしてここに実際的な例があります:
mksquashfs fotos-2009 fotos-2010 fotos-2011 fotos-2012 fotos-2013 fotos_2009-2013.sqsfs -comp xz -bs 1M
さて、選択されたアルゴリズムはxzです。 より高い圧縮率 選択したブロックサイズが最大である間、(利用可能なものの)オファー。 何 より良い圧縮結果を可能にします (デフォルトでは64KiBです)。
これで、簡単にマウントできるようになります。
mount fotos_2009-2013.sqsfs fotos_2009-2013/
すべてが正しいことを確認した後、元のファイルを削除するか、ファイルをバックアップとして残すことができます。
OSの起動時にマウントする場合は、このスタイルの行を/ etc / fstabに追加する必要があります。
/dir/loop.sqsh /dir/mountdir squashfs ro,defaults 0 0
では、ファイルを追加または削除したり、単にこれらのスナップショットを抽出したりするとどうなりますか? さて、私たちはコマンドを持っています スカッシュフ.
unsquashfs [opciones] snapshot.sqfs [Directorios o archivos que extraer]
デフォルトでは、抽出ディレクトリとして「squashfs-root」を使用します。 -dオプションで変更できます
- Livecd
- 組み込みシステム
- サーバー
- 一般に、読み取り専用システム
3-«緊急スワップ»
何らかの理由(休止状態、大規模なコンパイルなど)で、追加のスワップが必要であると想像してください。 ここでループファイルが機能します。最初のステップは、特定のサイズ、特定のブロックサイズの空のファイルを作成することです。これは、次のコマンドで行います。 dd:
dd if=/dev/zero of=loop bs=1M count=512
この場合、ブロックは512 MiBで、ファイルサイズはXNUMXMiBです。 このようにする必要はありません。
このコマンドでスワップを作成してアクティブ化します
mkswap loop && swapon loop
ループファイルのパフォーマンスは、実際の物理ファイルのパフォーマンスよりも常にいくらか低いことに注意してください。
4-やりたいことをする
これらは最も特徴的な例のほんの一部です。chroot、暗号化システム、ネストされたループを自由に試してみてください…あなたの可能性は無限です。 ただし、実行するコマンドには注意してください。 Enterキーを押す前によく考えてください.
グッドポストチェ!! 私はそこにいくつかの巨大なバックアップを持っています、そしてそれらを圧縮することは私には決して起こりませんでした。 これを使用します。ちなみに、外部のものを暗号化して入力すると、暗号化することを思い出しました🙁
スカッシュフのことを試すのは面白い
良いチュートリアルです。ddを使用してimgファイルを作成してマウントする方法を読みましたが、Squashfsの使用とその圧縮については知りませんでした。 コンテンツの変更は許可されていませんが、コメントするような状況で使用すると便利です。 共有してくれてありがとう、挨拶。
ヒントをありがとう、知っておくと非常に良いです。
あなたはいつも何か新しいことを学びます。 優秀な!
おかしいです。squashfsとその目的はわかっていましたが、画像を圧縮することは一度もありませんでした。 ヒントをありがとう。
印象的です、何が起きているか見てみましょう、非常に良いヒント
素晴らしいツト!!! =)…とても良いヒント!!!
こんにちはローダー。 非常に興味深い記事、共有してくれてありがとう。
Gentooでは、コンパイルする前にカーネルでSquashFSサポートを有効にする必要があります。テストして、どのように機能するかを確認します。 ありがとうございました。
Gentooでテストされ、カーネルをコンパイルして優れています。
小さなタイプミス、roaderを修正するだけです。
例では:
mksquashfs写真-2009写真-2010写真-2011写真-2012写真-2013photos_2009-2013.sqsfs -comp xz -bs 1M
「-bs」(ブロックサイズを決定する)のsをスペアすると、次のようになります。
mksquashfs写真-2009写真-2010写真-2011写真-2012写真-2013photos_2009-2013.sqsfs -comp xz -b 1M