「SquashFS によるフルシステムバックアップ」の版間の差分
ナビゲーションに移動
検索に移動
(→ライブ CD/DVD/USB の準備: バックアップドライブを準備するを翻訳して追加) |
(→ライブ環境でバックアップ: ライブメディアの準備を翻訳して追加) |
||
58行目: | 58行目: | ||
#* バックアップドライブが HDD の場合は、 [[badblocks]] を使用します。 |
#* バックアップドライブが HDD の場合は、 [[badblocks]] を使用します。 |
||
− | == ライブ |
+ | == ライブメディアの準備 == |
+ | [[インストールガイド#インストールメディアの準備]] または [[archiso]] を /dev/sdL にインストールします。 |
||
− | ライブ CD/DVD/USB を起動してバックアップしたいファイルシステムをマウントしてください。 |
||
+ | {{Note|SquashFS ファイルシステムを作成するには、[https://archlinux.org/download/ official Arch Linux installation image] に含まれている{{Pkg|squashfs-tools}} が必要です。}} |
||
− | {{Note|以下は sdb1 が EFI パーティションで sdb2 がルートパーティションの EFI-grub による Arch 環境の例です。}} |
||
− | |||
− | # fsck /dev/sdb2 |
||
− | # fsck /dev/sdb1 |
||
− | # mount /dev/sdb2 /mnt |
||
− | # mount /dev/sdb1 /mnt/boot/efi |
||
− | # /somewhere/mksquashfs.sh SOURCE_DIRECTORY BACKUP_ARCHIVE_DIRECTORY |
||
− | |||
− | スクリプトの中身: |
||
− | |||
− | {{hc|/somewhere/mksquashfs.sh| |
||
− | #!/usr/bin/env bash |
||
− | |||
− | # Sanity |
||
− | if [ $# -ne 2 ]; then |
||
− | echo "invoke: mksquashfs.sh SOURCE_DIRECTORY BACKUP_ARCHIVE_DIRECTORY" |
||
− | exit 1 |
||
− | fi |
||
− | echo -ne "\n\nHave you fsck'd? " |
||
− | read |
||
− | |||
− | # Backup |
||
− | mksquashfs \ |
||
− | "$1" "$2/$(date +%Y%m%d_%a).sfs" \ |
||
− | -comp gzip \ |
||
− | -xattrs \ |
||
− | -progress \ |
||
− | -mem 5G \ |
||
− | -wildcards \ |
||
− | -e \ |
||
− | boot/efi \ |
||
− | boot/grub \ |
||
− | boot/initramfs-linux"*".img |
||
− | }} |
||
== リストア (解凍) == |
== リストア (解凍) == |
2022年2月17日 (木) 03:21時点における版
関連記事
ファイルシステム全体の圧縮バックアップアーカイブを SquashFS フォーマットで作成することができます。ランダムアクセスが可能なため、バックアップや取り出しに比較的時間がかかりませんが、追記以外の改変はまだできません。
デバイスファイル | 説明 |
---|---|
/dev/sdB | バッアップドライブ |
/dev/sdL | ライブメディア |
/dev/sdSRC | バックアップするドライブ |
長所と短所
長所:
- パーティションなし、必要なサイズの推測なし。
- SquashFS ほとんどのレスキューディスクでサポートされています。
- ランダムアクセス で、プレーンな
mount
を使用する。 - 重複ファイルはデフォルトで削除されます (
no-duplicates
フラグがオンでない限り。)
短所:
- すべての ACL が失われます。
- Windows 1 からアクセスできません。
- 追加可能ですが、そこから除去することはできません。
- 他の目的でディスクを使用するには、バックアップ 2 を破棄する必要があります。
バックアップドライブを準備する
- すべてのパーティション
/dev/sdBN
を消去してから、パーティションテーブル/dev/sdB
を wipefs で消去します。 - すべてのライトキャッシュを同期する
#sync
- パーティションテーブルの変更をOSに通知する
#partprobe
- 不正なブロックをチェックする。
- バックアップドライブが SSD の場合は、S.M.A.R.T. を使用します。
- バックアップドライブが HDD の場合は、 badblocks を使用します。
ライブメディアの準備
インストールガイド#インストールメディアの準備 または archiso を /dev/sdL にインストールします。
リストア (解凍)
#!/bin/bash # Path to extract files target=/mnt # Path to backup SquashFS archive file archive=/somewhere/backup.sfs unsquashfs -stat $archive unsquashfs -force -dest $target $archive
リストア (マウントとコピー)
mount somewhere/backup.sfs /mnt
cp /mnt/somefile /somewhere/damaged-somefile