「SquashFS によるフルシステムバックアップ」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(ページの作成:「Category:バックアップ en:Full system backup with SquashFS {{Related articles start}} {{Related|tar によるフルシステムバックアップ}} {{Related…」)
 
(== Overview ==を追加(英語版より))
5行目: 5行目:
 
{{Related articles end}}
 
{{Related articles end}}
 
[[Wikipedia:ja:SquashFS|SquashFS]] [http://squashfs.sourceforge.net/] は完全なシステムの読み取り専用のバックアップアーカイブを高圧縮で作成します。SquashFS アーカイブは解凍しなくてもマウントして find/grep/cp/tree を実行できるので便利です。tar と比べてバックアップにかかる時間は少なくファイルの取得・検索のオーバーヘッドも減りますが、アーカイブに一度してしまうと後から変更できないという欠点があります。
 
[[Wikipedia:ja:SquashFS|SquashFS]] [http://squashfs.sourceforge.net/] は完全なシステムの読み取り専用のバックアップアーカイブを高圧縮で作成します。SquashFS アーカイブは解凍しなくてもマウントして find/grep/cp/tree を実行できるので便利です。tar と比べてバックアップにかかる時間は少なくファイルの取得・検索のオーバーヘッドも減りますが、アーカイブに一度してしまうと後から変更できないという欠点があります。
  +
  +
== Overview ==
  +
  +
It's possible to make compressed read-only backup archives of whole filesystems in the [[SquashFS]] format. It is convenient since you can mount it and find/grep/cp/tree in it without decompressing the whole archive. Backup and retrieval may take less time compared to tar, but modifying an existing archive is impossible.
  +
   
 
== ライブ CD/DVD/USB の準備 ==
 
== ライブ CD/DVD/USB の準備 ==

2020年8月15日 (土) 22:48時点における版

関連記事

SquashFS [1] は完全なシステムの読み取り専用のバックアップアーカイブを高圧縮で作成します。SquashFS アーカイブは解凍しなくてもマウントして find/grep/cp/tree を実行できるので便利です。tar と比べてバックアップにかかる時間は少なくファイルの取得・検索のオーバーヘッドも減りますが、アーカイブに一度してしまうと後から変更できないという欠点があります。

Overview

It's possible to make compressed read-only backup archives of whole filesystems in the SquashFS format. It is convenient since you can mount it and find/grep/cp/tree in it without decompressing the whole archive. Backup and retrieval may take less time compared to tar, but modifying an existing archive is impossible.


ライブ CD/DVD/USB の準備

SquashFS アーカイブを作成するには squashfs-tools がインストールされているライブ CD/DVD/USB を用意する必要があります。Archiso#ライブメディアの設定を読んで packages.x86_64 を設定して squashfs-tools がインストールされているライブ CD/DVD/USB を作成してください。

ライブ環境でバックアップ

ライブ CD/DVD/USB を起動してバックアップしたいファイルシステムをマウントしてください。

ノート: 以下は 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

スクリプトの中身:

/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

リストア (解凍)

警告: 以下のスクリプトは未確認です。まだ使わないでください。
#!/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
ノート: リストア後にシステムを起動可能にするには:
  1. fstab を修正
  2. arch-chroot
    1. mkinitcpio -p linux
    2. grub-install
    3. grub-mkconfig

リストア (マウントとコピー)

警告: 以下のスクリプトは未確認です。まだ使わないでください。
  1. mount somewhere/backup.sfs /mnt
  2. cp /mnt/somefile /somewhere/damaged-somefile