MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
インストール - TimeShiftのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
インストール - TimeShift
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == Timeshiftは、システムレベルのバックアップに最適なオープンソースのバックアップおよび復元ソフトウェアである。<br> Windowsのシステムの復元やMacOSのTime Machineのような機能を提供する。<br> <br> Rsyncコマンドとハードリンクを使用して、増分アプローチでスナップショットを取得する。<br> Timeshiftを使用することにより、例えば、何かをインストールしてシステムが破損した場合やアップデートに失敗した場合に、迅速かつ安全に以前の状態にロールバックできる。<br> <br> ただし、システムファイルや設定のみをバックアップするように設計されているため、ホームディレクトリに存在するデータをバックアップする場合は、<br> 別途、Deja Dup、Rsnapshot、Restic、Rsyncを使用する。<br> <br> 初期設定では、ドキュメント、ピクチャ、ミュージック等のホームディレクトリにあるファイルはバックアップから除外される。<br> そのため、システムを以前の状態に復元する際に、ユーザデータは変更されないことに注意する。<br> <br> Timeshiftの主な機能は、以下の通りである。<br> * CLIおよびGUIでの動作 * BTRFSファイルシステムのサポート * 複数のバックアップレベル(例. 毎時、毎日、毎週、毎月、ブート時) * Cronによるスケジュールバックアップ * オンラインおよびオフラインでの復元 * クロスディストリビューション・リストアのサポート <br> TimeShiftは、現在、Linux Mintプロジェクトによって管理されている。<br> 課題追跡の未解決の項目で関連性のあるものは、新しいリポジトリに問い合わせること。<br> <br> また、TimeshiftのソースコードはLinux MintのGitHubで入手できる。<br> * https://github.com/linuxmint/timeshift (新) * https://github.com/teejee2008/timeshift (旧) <br> 旧リポジトリにはTimeShiftのオリジナルのソースコードが含まれており、重複を避けるためにアーカイブされている。<br> <br><br> == TimeShiftのインストール == SLEおよびopenSUSEの公式リポジトリにはTimeShiftが存在しないため、有志が作成しているリポジトリを利用する必要がある。<br> または、リポジトリを利用せずに、RPMファイルを展開して任意のディレクトリに配置することでもTimeShiftが使用できる。<br> <br> ==== リポジトリを追加してインストール ==== # [https://software.opensuse.org/download/package?package=timeshift&project=Archiving%3ABackup SUSEのソフトウェアセンター]にアクセスして、<u><span style="color:#C00000;">SLE向け</span></u>を選択して、x86_64のRPMファイルをダウンロードする。 # ダウンロードしたRPMファイルをインストールする。 #: <code>sudo zypper install ./timeshift-*.rpm</code> <br> ==== RPMファイルを展開して任意のディレクトリにインストール ==== # [https://software.opensuse.org/download/package?package=timeshift&project=Archiving%3ABackup SUSEのソフトウェアセンター]にアクセスして、<u><span style="color:#C00000;">SLE向け</span></u>を選択して、x86_64のRPMファイルをダウンロードする。 # ダウンロードしたRPMファイルを展開する。 #: <code>rpm2cpio timeshift-*.rpm | cpio -id</code> # 展開したファイルを、任意のディレクトリに配置する。 #: <code>cp -r timeshift-* <TimeShiftのインストールディレクトリ></code> <br> ==== ソースコードからインストール ==== # ビルドに必要なライブラリをインストールする。 #: <code>sudo zypper install gtk3-devel vala libvala-0_54-0 libvala-0_54-devel libgee-devel vte-devel json-glib-devel</code> # [https://github.com/linuxmint/timeshift TimeShiftのGithub]にアクセスして、ソースコードをダウンロードする。 # ダウンロードしたファイルを解凍する。 #: <code>tar xf timeshift-<バージョン>.tar.gz</code> #: <code>cd timeshift-<バージョン></code> # TimeShiftをビルドおよびインストールする。 #: <code>make app-console app-gtk -j $(nproc)</code> #: <code>make prefix=<TimeShiftのインストールディレクトリ> sysconfdir=<TimeShiftのインストールディレクトリ> install</code> <br> <u>もし、TimeShiftを任意のディレクトリにインストールした場合、設定ファイルおよびPolKitアクションファイルを手動で作成する必要がある。</u><br> <br> まず、TimeShiftの設定ファイルを作成する。<br> sudo mkdir -p /etc/timeshift/default.json sudo vi /etc/timeshift/default.json <br> <syntaxhighlight lang="json-ld"> # /etc/timeshift/default.jsonファイル { "backup_device_uuid" : "", "parent_device_uuid" : "", "do_first_run" : "true", "btrfs_mode" : "false", "include_btrfs_home" : "false", "stop_cron_emails" : "true", "schedule_monthly" : "false", "schedule_weekly" : "false", "schedule_daily" : "false", "schedule_hourly" : "false", "schedule_boot" : "false", "count_monthly" : "2", "count_weekly" : "3", "count_daily" : "5", "count_hourly" : "6", "count_boot" : "5", "snapshot_size" : "0", "snapshot_count" : "0", "exclude" : [ ], "exclude-apps" : [ ] } </syntaxhighlight> <br> 次に、PolKitアクションファイルを作成する。<br> sudo vi /usr/share/polkit-1/actions/in.teejeetech.pkexec.timeshift.policy <br> <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd"> <policyconfig> <vendor>Tony George</vendor> <vendor_url>https://github.com/teejee2008</vendor_url> <action id="in.teejeetech.pkexec.timeshift-gtk"> <message gettext-domain="timeshift">Authentication is required to run Timeshift as Administrator</message> <description>Run Timeshift as Administrator</description> <icon_name>timeshift</icon_name> <defaults> <allow_any>auth_admin</allow_any> <allow_inactive>auth_admin</allow_inactive> <allow_active>auth_admin</allow_active> </defaults> <annotate key="org.freedesktop.policykit.exec.path">/<TimeShiftのインストールディレクトリ>/bin/timeshift-gtk</annotate> <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate> </action> <action id="in.teejeetech.pkexec.timeshift"> <message gettext-domain="timeshift">Authentication is required to run Timeshift as Administrator</message> <description>Run Timeshift as Administrator</description> <icon_name>timeshift</icon_name> <defaults> <allow_any>auth_admin</allow_any> <allow_inactive>auth_admin</allow_inactive> <allow_active>auth_admin</allow_active> </defaults> <annotate key="org.freedesktop.policykit.exec.path">/<TimeShiftのインストールディレクトリ>/bin/timeshift</annotate> <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate> </action> </policyconfig> </syntaxhighlight> <br> TimeShiftのデスクトップエントリファイルを作成する。<br> vi ~/.local/share/applications/timeshift-gtk.desktop <br> # ~/.local/share/applications/timeshift-gtk.desktopファイル [Desktop Entry] Type=Application Name=Timeshift GenericName=System Restore Utility GenericName[ja]=システムの復元ユーティリティ Comment=System Restore Utility Comment[ja]=システムの復元ユーティリティ Exec=/<TimeShiftのインストールディレクトリ>/bin/timeshift-launcher Icon=/<TimeShiftのインストールディレクトリ>/share/icons/hicolor/128x128/apps/timeshift.png Categories=System; MimeType= Terminal=false X-KDE-StartupNotify=false X-GNOME-UsesNotifications=true <br> TimeShiftをアンインストールする場合は、以下に従う。<br> cd <TimeShiftのソースコードがあるディレクトリ> sudo make uninstall <br> 残存する不要なファイルを削除する。<br> rm -r ~/.local/share/applications/timeshift-gtk.desktop sudo rm -r /etc/timeshift sudo rm -r /usr/share/polkit-1/actions/in.teejeetech.pkexec.timeshift.policy <br> ==== TimeShiftの日本語化 ==== # [https://software.opensuse.org/download/package?package=timeshift&project=home%3Azzndb SUSEのソフトウェアセンター]にアクセスして、<u><span style="color:#C00000;">Leap向け</span></u>を選択して、x86_64のRPMファイルをダウンロードする。<br><u>TimeShiftのバージョンが異なる場合でも、ほとんどが日本語化される。</u> # ダウンロードしたRPMファイルを展開する。 #: <code>rpm2cpio timeshift-*.rpm | cpio -id</code> # 展開したファイルにあるusr/share/locale/ja/LC_MESSAGES/timeshift.moファイルを、/usr/share/locale/ja/LC_MESSAGESディレクトリにコピーする。 #: <code>cd timeshift-*/usr/share/locale/ja/LC_MESSAGES</code> #: <code>sudo cp -r timeshift.mo /usr/share/locale/ja/LC_MESSAGES</code> # TimeShiftを起動して、日本語化されているかどうかを確認する。 <br><br> == TimeShiftの使用方法 == バックアップ方式は以下の2通りから選択できる。<br> * BtrFS (B-Tree File System) * Rsync <br> ==== Rsync ==== rsyncコマンドにより、バックアップ先にファイルをコピーする方式である。 事前にコピー先のファイル名やタイムスタンプ等を確認して、更新があるファイルのみコピーするため、2度目以降のバックアップが特に高速である。<br> <br> バックアップの世代管理には、<code>--link-dest</code>オプションを使用している。 --link-destオプションを付加することにより、以下のような動作となる。 * 前回のバックアップから更新の無いファイルは、前回のバックアップファイルからのハードリンクを生成する。 * 前回のバックアップから更新のあるファイルは、バックアップ元からコピーを生成する。 <br> ハードリンクは、ファイルの実体(inode)を共有した複数のファイルを作成するという特性を持つ。 そのため、ハードリンクによる差分バックアップは、以下の強力なメリットがある。 * ハードリンクの作成はディスク容量をほとんど消費しない。 * ハードリンクの作成は非常に高速である。 * 世代間に依存関係がないため、各世代は順不同で高速に削除できる。 * ハードリンクは基本機能であるため、不具合が発生する懸念は少ない。 <br> rsyncコマンドはハードリンクの仕組みを利用していることから、ファイルシステム自体がハードリンクに対応している必要がある。<br> ほとんどの場合は問題無いが、sshfsはハードリンクに対応していないため注意すること。<br> <br> ==== BtrFS ==== BtrFSのスナップショット機能を使ってバックアップを取得する方式である。<br> <br> BtrFSを使用するには、以下の条件が必須となる。<br> * バックアップ元がBtrFSを使用していることが前提である。 * その他、SubVolume構成にも条件がある。 <br><br> == TimeShiftの設定 == Timeshiftは設定内容に応じて、/etc/cron.dディレクトリ下のファイルを編集するため、スーパユーザ権限が必要である。<br> したがって、GUIからの起動時には、sudoコマンドと同様にパスワードを求められる。<br> <br> この制御は、Polkit(/usr/share/polkit-1/actions/in.teejeetech.pkexec.timeshift.policy)で実装されている。<br> Polkitとは、特権が必要な操作を非特権プロセスから実行するための仕組みであり、sudoコマンドと似たような役割を持つ。<br> <br> TimeShiftのメイン画面から、[設定]メニューバーまたは[ウィザード]メニューバーを選択する。<br> なお、Timeshiftの設定が反映されるタイミングは、Timeshiftを終了した時となることに注意すること。<br> <br><br> __FORCETOC__ [[カテゴリ:RHEL]][[カテゴリ:SUSE]]
インストール - TimeShift
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse