web-dev-qa-db-ja.com

ファイルより大きくないパーティションバックアップイメージを作成するGUIプログラム?

「ディスク」(gnome-disk-utility)と、システムパーティションのバックアップを作成する機能が好きです。

enter image description here

しかし、ある時点で、パーティション全体の大きさではなく、その上のファイルの大きさだけのイメージを作成するプログラムについて、インターネットで読みました。今、私は再びそれを見つけることができません。

そのようなユーティリティはありますか?

8
user47206

単独で2つの条件をすべて満たすプログラムはないようです。

1)「ディスク」のようなGUIを使用します。

2)使用されるスペースと同じ大きさのディスクイメージを作成します。

私はかなり単純な回避策を考えていましたが、Ubuntuでは非常に一般的な2つのGUIプログラムが関係しています:

1つは同じ 'Disks'(gnome-disk-utility)で、特定のパーティションのバックアップイメージを作成するために使用され、2つ目はバックアップイメージを作成する前にパーティションをできる限り縮小し、その後に元のサイズに戻すために、パーティションを分割します。

このような操作に不便はありません。パーティションを最小に縮小するのに数分(10GBの場合は約1分)しかかからず、右側に空きスペースができます。 「ディスク」を使用してディスクのバックアップイメージを作成した後、Gpartedを使用すると、パーティションを初期状態まで空のスペースに右にサイズ変更できます。これには数秒しかかかりません。

Ubuntuがインストールされたパーティションでテスト済み:

4
user47206

次の回答では、TUIではなく、GUI解決策:

ユースケースに応じて(システムバックアップの作成に使用しています)、 CloneZilla Live を使用できます。以下を作成できます。

  • スパース 画像、
  • 圧縮された画像:
    • システム全体、
    • ドライブ全体
    • 単に個々のパーティション。

主な利点は次のとおりです。

  • 起動する場所:
    • 外部メディア
    • 内部 メディア
  • 独自のOS(Ubuntuベース)が付属
  • コールドシステムの正確なバックアップを作成し、簡単に復元できます。

これらすべての利点に加えて、MBRもコピーできます。

コールドシステムのバックアップが探しているものではない場合でも、CloneZillaのベースとなる技術である partclone を使用できます。

9
Fabby

通常、小さなディスクイメージの実現は、イメージ内の初期ファイルシステムからゼロアウトブロックをコピーしない方法で行われます。この概念は、ファイル内のスパーススペースまたはファイル内のpuchingホールと呼ばれ、ホストファイルシステムはそれをサポートする必要があります。少しコマンドラインですが、これを試してください:

Sudo apt-get install virt-manager qemu-utils 

そして、それがインストールされたら、あなたは使用することができます:

qemu-img convert -f raw -O raw  /dev/sdX /home/<user>/Ubuntu.img

これにより、ディスクのスパース(ファイル内のゼロは書き込まれません)イメージが作成されます。ここで、-f = format、-O output format。 sdXディスク(パーティションも使用できます)。このプログラムには、スナップショットやさまざまな出力形式(vdi、vmdkなど)などの高度な機能があります。 場所イメージを保存する場所スパースファイルをサポートする必要がある、またはパーティションのゼロがディスクに書き込まれるため、サイズも同じくらい大きくなります。そして、それを最大限に活用するには、パーティションのaptにあるsfillzerofreeなどのプログラムを実行します。これは、空き領域が常にゼロ領域を意味するわけではないため、ファイルシステム上のゼロスペース。

ボーナス忍者ポイント。 Linuxはディスクを「ファイル」と見なしているため、プレーンcpを使用することもできます。その場合、ファイルを保存する出力パーティションがスパースファイルを認識している必要があります。

Sudo cp --sparse=always /dev/sdX /home/<user>/Ubuntu.img

Cpを使用して生のコピーを作成します。

スパースをサポートするファイルシステムの例:ext4、btrfs、xfs、ntfs(ntfs-3gはスパース書き込みを許可しない場合があります)。

しないファイルシステムの例:fat32.

4
user283885

編集:ファイルシステムから削除されたファイルがまだパーティションに存在する場合、これはうまく機能しないため、最初にターゲットパーティションの空き領域を消去する必要があります。

  1. ターゲットパーティションをマウントする
  2. dd if=/dev/zero of=<path_to_partition_volume>/file.dd && rm <path_to_partition_volume>/file.ddを実行します
  3. ターゲットパーティションをアンマウントします

次に:


ddを使用してブロックごとにパーティション全体を読み取り、gzipなどの圧縮ユーティリティにすべてを出力できます。ほとんどの圧縮ツールは、最速/最低の圧縮設定を使用していても、プロセス中にすべての空き領域を圧縮します。

gzipの場合:

Sudo dd if=/dev/sdX | GZIP=-1 gzip >/path/to/backup.gz

GZIP=-1は、環境変数GZIP-1に一時的に設定して、最速/最低の圧縮を実現します)

バックアップを復元するには:

gzip -d /path/to/backup.gz >/dev/sdX

2
kos

ddrescue-Sオプションとともに使用するのはどうですか?

ddrescue -S /dev/sdXY /<path_to_backup>/backup.img

これにより、各ブロックのクローンが作成されますが、ブロックデバイス/dev/sdXYから/<path_to_backup>/backup.imgにゼロブロックが見つかりました

1
kos

Clonezillaは実際、非常にフレンドリーです。ライブCDでは、コマンドラインを使用する必要はありません。マウスを使用しない場合でもGUIと呼んでも大丈夫です。多くの場合、デフォルトで問題ありません。問題は、あなたが明示的に指摘しなかったものです。それは、任意のLinuxシステムにインストールできるものとして設計されていないようです。 Debian/Ubuntu用に特別にパッケージ化されており、Live CDを実行するのが最も簡単な方法です。


Clonezilla/partcloneはファイルシステム対応のクローンを使用し、独自の圧縮イメージ形式を使用します。

ゼロセクターの検出に依存しない、シンプルな(マウント可能な)スパースファイルを生成する別の非GUIの可能性があります。

virt-sparsify /dev/your-block-device backup.img

/ tmpがramdiskの場合、一時ファイル用により多くのスペースが必要になる可能性があることを警告します。そのため、オプション--tmp /var/tmpを追加する必要がある場合があります。

0
sourcejedi

小さいドライブへのコピーには使用できません。データが10%しか満たされていない64 Gbドライブがある場合。それを6 Gbのイメージファイルにコピーし、そのターンで16 Gbドライブにコピーし、16 Gbに拡張できるようにしたい

私が今知っている唯一の可能性は、GPartedを使用してオリジナルを縮小し、コピーしてから両方のサイズを変更することです。オリジナルを縮小およびサイズ変更する必要があるため、非常に危険な操作です。

0
user522843

rsyncを使用して、パーティション上のファイルのみを別のパーティションにバックアップできます。またはtarを使用して、すべてのファイルを含む圧縮アーカイブを作成します。

おそらく両方に(複数の)GUIがありますが、私はそれらを自分で使用したことはありません。

0
Pelle