コンテンツにスキップ

「システムバックアップ」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
Kgx (トーク | 投稿記録)
Kgx (トーク | 投稿記録)
最初の起動: 翻訳を修正
 
(同じ利用者による、間の7版が非表示)
5行目: 5行目:
[[zh-hans:System backup]]
[[zh-hans:System backup]]
{{Related articles start}}
{{Related articles start}}
{{Related|同期およびバックアッププログラム}}
{{Related|Synchronization and backup programs}}
{{Related|System maintenance#Backup}}
{{Related|システムメンテナンス#バックアップ}}
{{Related|保存データ暗号化#ディスク暗号化シナリオのバックアップ}}
{{Related|Data-at-rest encryption#Backup for disk encryption scenarios}}
{{Related|Disk cloning}}
{{Related|ディスクのクローン}}
{{Related|Migrate installation to new hardware}}
{{Related|新しいハードウェアに移行する}}
{{Related|File recovery}}
{{Related|ファイルリカバリ}}
{{Related articles end}}
{{Related articles end}}
システムバックアップとは、"オペレーティングシステム、ファイル、およびシステム固有の有用/必須データをバックアップするプロセスです。これは主に、システム内のユーザーデータだけでなく、システムの状態や動作条件も確実に保存されることを保証します。これは、選択したすべてのバックアップデータとともにシステムを最後に保存した状態に復元するのに役立ちます" [https://www.techopedia.com/definition/29387/system-backup]

例えば {{ic|/etc}}, {{ic|/home}}, {{ic|/root}}, {{ic|/var}}, サーバーの場合は {{ic|/srv}} に保存されているシステムとユーザーのデータを定期的にバックアップすることが重要です。


== Btrfs のスナップショットを利用する ==
== Btrfs のスナップショットを利用する ==
34行目: 33行目:


See [[SquashFS によるフルシステムバックアップ]]
See [[SquashFS によるフルシステムバックアップ]]

{{Note|SquashFS は [[アクセス制御リスト]] をサポートしていません。}}


== 起動可能なバックアップ ==
== 起動可能なバックアップ ==
41行目: 42行目:
このセクションでは、システムを別のドライブやパーティションにバックアップしたこと、現在のブートローダが問題なく動作していること、そしてバックアップからも起動したいことを前提に説明します。
このセクションでは、システムを別のドライブやパーティションにバックアップしたこと、現在のブートローダが問題なく動作していること、そしてバックアップからも起動したいことを前提に説明します。


=== Update the fstab ===
=== fstab の更新 ===


再起動せずに、バックアップの [[fstab]] を編集し、既存のエントリをコメントアウトまたは削除します。この例のように、バックアップを含むパーティションに1つのエントリを追加します。
Without rebooting, edit the backup's [[fstab]] by commenting out or removing any existing entries. Add one entry for the partition containing the backup like the example here:


/dev/sda''X'' / ''ext4'' defaults 0 1
/dev/sda''X'' / ''ext4'' defaults 0 1


適切なデバイス名とファイルシステムタイプを使用することを忘れないでください。
Remember to use the proper device name and filesystem type.


=== ブートローダの設定ファイルを更新する ===
=== Update the bootloader's configuration file ===


[[Syslinux]] の場合、別のドライブやパーティションを指定する以外は、現在のエントリを複製するだけです。
For [[Syslinux]], all you need to do is duplicate the current entry, except pointing to a different drive or partition.


{{Tip|{{ic|syslinux.cfg}} を編集する代わりに、起動中に一時的にメニューを編集することもできます。メニューが表示されたら {{ic|Tab}} キーを押して、関連するエントリを変更します。パーティションは 1 から、ドライブは 0 から数えます}}
{{Tip|Instead of editing {{ic|syslinux.cfg}}, you can also temporarily edit the menu during boot. When the menu shows up, press the {{ic|Tab}} key and change the relevant entries. Partitions are counted from one, drives are counted from zero.}}


For [[GRUB]], it is recommended that you automatically [[GRUB#Generate_the_main_configuration_file|re-generate the main configuration file]]. If you want to freshly install all GRUB files to somewhere other than {{ic|/boot}}, such as {{ic|/mnt/newroot/boot}}, use the {{ic|--boot-directory}} flag.
[[GRUB]] では、[[GRUB#メイン設定ファイルの生成|メイン設定ファイルの再生成]] を行うことが推奨されます。 全ての GRUB ファイルを {{ic|/boot}} 以外の場所、例えば {{ic|/mnt/newroot/boot}} に新たにインストールしたい場合は、{{ic|--boot-directory}} フラグを使ってください。


また、{{ic|/boot/grub/grub.cfg}}に新しいメニューエントリがあることを確認します。UUID が新しいパーティションと一致していることを確認してください。そうしないと、古いシステムがまだ起動する可能性があります。パーティションの UUID を [[lsblk]] で見つけてください。
Also verify the new menu entry in {{ic|/boot/grub/grub.cfg}}. Make sure the UUID is matching the new partition, otherwise it could still boot the old system. Find the UUID of a partition with [[lsblk]]:


$ lsblk -no NAME,UUID /dev/sd''XY''
$ lsblk -no NAME,UUID /dev/sd''XY''


ここで {{ic|/dev/sd''XY''}} は目的のパーティションです (例:{{ic|/dev/sdb3}}) GRUB がブートできると考えているパーティションの UUID をリストアップするには、''grep'' を使ってください。
where {{ic|/dev/sd''XY''}} is the desired partition (e.g. {{ic|/dev/sdb3}}). To list the UUIDs of partitions GRUB thinks it can boot, use ''grep'':


# grep UUID= /boot/grub/grub.cfg
# grep UUID= /boot/grub/grub.cfg


=== First boot ===
=== 最初の起動 ===


コンピュータを再起動し、ブートローダで正しいエントリを選択します。これで初めてシステムがロードされます。全ての周辺機器が検出され、{{ic|/}} 内の空のフォルダにデータが入るはずです。
Reboot the computer and select the right entry in the bootloader. This will load the system for the first time. All peripherals should be detected and the empty folders in {{ic|/}} will be populated.


これで {{ic|/etc/fstab}} を再編集して、以前削除したパーティションとマウントポイントを追加することができます。
Now you can re-edit {{ic|/etc/fstab}} to add the previously removed partitions and mount points.


== スナップショットと/bootパーティション ==
== Snapshots and /boot partition ==


お使いの [[ファイルシステム]] がスナップショットをサポートしている場合(例えば[[LVM#スナップショット|LVM]] や [[Btrfs#スナップショット|Btrfs]])、ほとんどの場合 {{ic|/boot}} パーティションか [[ESP]] は除外されるでしょう。
If your [[file system]] supports snapshots (e.g., [[LVM#Snapshots|LVM]] or [[Btrfs#Snapshots|Btrfs]]), these will most likely exclude the {{ic|/boot}} partition or [[ESP]].


カーネルアップデートでブートパーティションを自動的にあなたの {{ic|root}} パーティションにコピーするには [[pacman#フック|pacman フック]] を使います(フックファイルのオーナーが root であることを確認してください)
You can copy the boot partition automatically on a kernel update to your {{ic|root}} partition with a [[pacman hook]] (make sure the hook file is owned by root):


{{hc|/etc/pacman.d/hooks/50-bootbackup.hook|2=
{{hc|/etc/pacman.d/hooks/50-bootbackup.hook|2=

2024年12月24日 (火) 00:33時点における最新版

システムバックアップとは、"オペレーティングシステム、ファイル、およびシステム固有の有用/必須データをバックアップするプロセスです。これは主に、システム内のユーザーデータだけでなく、システムの状態や動作条件も確実に保存されることを保証します。これは、選択したすべてのバックアップデータとともにシステムを最後に保存した状態に復元するのに役立ちます" [1]

Btrfs のスナップショットを利用する

こちらを参照 Btrfs#スナップショット, システムバックアップ#スナップショットと/bootパーティション, それと Snapper

LVM のスナップショットを利用する

こちらを参照 LVM#スナップショット, LVM によるルートファイルシステムのスナップショット作成, それと システムバックアップ#スナップショットと/bootパーティション

rsync を利用する

こちらを参照 rsync によるフルシステムバックアップ

tar を利用する

こちらを参照 Tar によるフルシステムバックアップ

SquashFS を利用する

See SquashFS によるフルシステムバックアップ

ノート SquashFS は アクセス制御リスト をサポートしていません。

起動可能なバックアップ

起動可能なバックアップをとっておくと、ファイルシステムが壊れたり、アップデートでシステムが壊れたりしたときに便利です。バックアップは、testing レポを有効にして、アップデートのテストベッドとして使うこともできます。システムを別のパーティションやドライブに移して起動したい場合、バックアップの /etc/fstab とブートローダの設定ファイルを更新するのと同じくらい簡単な手順で行えます。

このセクションでは、システムを別のドライブやパーティションにバックアップしたこと、現在のブートローダが問題なく動作していること、そしてバックアップからも起動したいことを前提に説明します。

fstab の更新

再起動せずに、バックアップの fstab を編集し、既存のエントリをコメントアウトまたは削除します。この例のように、バックアップを含むパーティションに1つのエントリを追加します。

/dev/sdaX    /             ext4      defaults                 0   1

適切なデバイス名とファイルシステムタイプを使用することを忘れないでください。

ブートローダの設定ファイルを更新する

Syslinux の場合、別のドライブやパーティションを指定する以外は、現在のエントリを複製するだけです。

ヒント syslinux.cfg を編集する代わりに、起動中に一時的にメニューを編集することもできます。メニューが表示されたら Tab キーを押して、関連するエントリを変更します。パーティションは 1 から、ドライブは 0 から数えます

GRUB では、メイン設定ファイルの再生成 を行うことが推奨されます。 全ての GRUB ファイルを /boot 以外の場所、例えば /mnt/newroot/boot に新たにインストールしたい場合は、--boot-directory フラグを使ってください。

また、/boot/grub/grub.cfgに新しいメニューエントリがあることを確認します。UUID が新しいパーティションと一致していることを確認してください。そうしないと、古いシステムがまだ起動する可能性があります。パーティションの UUID を lsblk で見つけてください。

$ lsblk -no NAME,UUID /dev/sdXY

ここで /dev/sdXY は目的のパーティションです (例:/dev/sdb3) GRUB がブートできると考えているパーティションの UUID をリストアップするには、grep を使ってください。

# grep UUID= /boot/grub/grub.cfg

最初の起動

コンピュータを再起動し、ブートローダで正しいエントリを選択します。これで初めてシステムがロードされます。全ての周辺機器が検出され、/ 内の空のフォルダにデータが入るはずです。

これで /etc/fstab を再編集して、以前削除したパーティションとマウントポイントを追加することができます。

スナップショットと/bootパーティション

お使いの ファイルシステム がスナップショットをサポートしている場合(例えばLVMBtrfs)、ほとんどの場合 /boot パーティションか ESP は除外されるでしょう。

カーネルアップデートでブートパーティションを自動的にあなたの root パーティションにコピーするには pacman フック を使います(フックファイルのオーナーが root であることを確認してください)

/etc/pacman.d/hooks/50-bootbackup.hook
[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Path
Target = usr/lib/modules/*/vmlinuz

[Action]
Depends = rsync
Description = Backing up /boot...
When = PostTransaction
Exec = /usr/bin/rsync -a --delete /boot /.bootbackup