BTRFS: Allow BTRFS snapshots to be marked for deletion

BTRFS: Use option --commit-after when deleting subvolumes
Updated the messages displayed on last page of Setup Wizard and Restore Window
This commit is contained in:
Tony George 2017-01-15 13:06:56 +05:30
parent 57c08568d6
commit 7eb91ee834
12 changed files with 214 additions and 229 deletions

View File

@ -1369,6 +1369,7 @@ public class Main : GLib.Object{
public void delete_begin(){
log_debug("Main: delete_begin()");
progress_text = _("Preparing...");
try {
thread_delete_running = true;

View File

@ -396,6 +396,8 @@ public class Snapshot : GLib.Object{
public bool remove_rsync(bool wait){
log_msg(string.nfill(78, '-'));
var message = _("Removing") + " '%s'...".printf(name);
log_msg(message);
@ -423,6 +425,7 @@ public class Snapshot : GLib.Object{
message = "%s '%s'".printf(_("Removed"), name);
log_msg(message);
log_msg(string.nfill(78, '-'));
}
return true;
@ -430,7 +433,9 @@ public class Snapshot : GLib.Object{
public bool remove_btrfs(){
var message = _("Removing") + " '%s'...".printf(name);
log_msg(string.nfill(78, '-'));
var message = _("Removing snapshot") + ": %s".printf(name);
log_msg(message);
// delete subvolumes
@ -451,7 +456,9 @@ public class Snapshot : GLib.Object{
}
}
log_msg(_("Deleted snapshot") + ": '%s'".printf(name));
log_msg(_("Removed snapshot") + ": %s".printf(name));
log_msg(string.nfill(78, '-'));
return true;
}

View File

@ -86,9 +86,10 @@ public class Subvolume : GLib.Object{
return true; // ok, item does not exist
}
log_debug(_("Deleting subvolume")+ ": %s".printf(name));
App.progress_text = _("Deleting subvolume")+ ": %s".printf(name);
log_debug(App.progress_text);
cmd = "btrfs subvolume delete '%s'".printf(path);
cmd = "btrfs subvolume delete --commit-after '%s'".printf(path);
log_debug(cmd);
ret_val = exec_sync(cmd, out std_out, out std_err);
if (ret_val != 0){
@ -96,7 +97,7 @@ public class Subvolume : GLib.Object{
return false;
}
log_msg(_("Deleted subvolume") + " (id %ld): %s".printf(id, path));
log_msg(_("Deleted subvolume") + ": %s (id %ld)".printf(name, id));
if ((id > 0) && (repo != null)){

View File

@ -95,6 +95,7 @@ class DeleteBox : Gtk.Box{
if (App.btrfs_mode){
while (App.thread_delete_running){
lbl_msg.label = App.progress_text;
gtk_do_events();
sleep(200);
}

View File

@ -67,44 +67,33 @@ class FinishBox : Gtk.Box{
public void refresh(){
var msg = "";
string bullet = "";
if (!show_notes){
if (App.scheduled){
msg += bullet + _("Scheduled snapshots are enabled. Snapshots will be created automatically at selected intervals.") + "\n\n";
/*msg += bullet + _("BTRFS snapshots are atomic. They are created instantly and does not require files to be copied. Only file system metadata is changed.\n\n");
msg += bullet + _("BTRFS snapshots do not occupy any space on disk when first created. All data blocks are shared with system files. As files on the system gradually change with time, new files will point to new data blocks and snapshot files will point to older data blocks. Snapshots will gradually take up disk space as more and more files change on the system.\n\n");*/
msg += bullet + _("Scheduled snapshots are enabled. Snapshots will be created automatically for selected levels.") + "\n\n";
}
else{
msg += bullet + _("Scheduled snapshots are disabled. It's recommended to enable it.") + "\n\n";
}
}
msg += bullet + _("You can rollback your system to a previous date by restoring a snapshot.") + "\n\n";
msg += bullet + _("System can be rolled-back to a previous date by restoring a snapshot.") + "\n\n";
if (App.btrfs_mode){
msg += bullet + _("Restoring a snapshot will replace system subvolumes. The current system will be preserved as a new snapshot after restore. You can undo the restore by restoring the new snapshot that was created.") + "\n\n";
msg += bullet + _("Restoring a snapshot will replace system subvolumes, and system subvolumes currently in use will be preserved as a new snapshot. If required, this snapshot can be restored later to 'undo' the restore.") + "\n\n";
}
else{
msg += bullet + _("Restoring a snapshot only replaces system files and settings. Documents and other files in your home directory will not be touched. You can change this by adding a filter to include these files. Any files that you include will be backed up when a snapshot is created, and replaced when the snapshot is restored.") + "\n\n";
msg += bullet + _("Restoring snapshots only replaces system files and settings. Non-hidden files and directories in user home directories will not be touched. This behaviour can be changed by adding a filter to include these files. Included files will be backed up when snapshot is created, and replaced when snapshot is restored.") + "\n\n";
}
msg += bullet + _("If the system is unable to boot after restore, you can try restoring another snapshot by installing and running Timeshift on the Ubuntu Live CD/USB.") + "\n\n";
if (App.btrfs_mode){
msg += bullet + _("In BTRFS mode, snapshots are saved on the same disk from which it is created. If your system disk fails, then you will not be able to rescue your system. Use RSYNC mode and save snapshots to another disk if you wish to guard against disk failures.") + "\n\n";
msg += bullet + _("BTRFS snapshots are saved on the same disk from which it is created. If the system disk fails, snapshots will be lost along with the system. Save snapshots to an external non-system disk in RSYNC mode to guard against disk failures.") + "\n\n";
}
else{
msg += bullet + _("To guard against hard disk failures, select an external disk for the snapshot location instead of the system disk.") + "\n\n";
msg += bullet + _("Save snapshots to an external disk instead of the system disk to guard against drive failures.") + "\n\n";
msg += bullet + _("Avoid storing snapshots on your system disk. Using another non-system disk will allow you to format and re-install the OS on your system disk without losing the snapshots stored on it. You can even install another Linux distribution and later roll-back the previous distribution by restoring the snapshot.") + "\n\n";
msg += bullet + _("The first snapshot creates a copy of all files on your system. Subsequent snapshots only store files which have changed. You can reduce the size of snapshots by adding filters to exclude files which are not required. For example, you can exclude your web browser cache as these files change constantly and are not critical.") + "\n\n";
msg += bullet + _("Common files are hard-linked between snapshots. Copying the files manually to another location will duplicate the files and break hard-links between them. Snapshots must be moved carefully by running 'rsync' from a terminal. The file system at destination path must support hard-links.") + "\n\n";
msg += bullet + _("Saving snapshots to a non-system disk allows you to format and re-install the OS on the system disk without losing snapshots stored on it. You can even install another Linux distribution and later roll-back the previous distribution by restoring a snapshot.") + "\n\n";
}
lbl_message.label = msg;

View File

@ -305,7 +305,7 @@ class MainWindow : Gtk.Window{
vbox.pack_start(label, true, true, 0);
lbl_snap_count = label;
label = new Label(_("Snaps"));
label = new Label(_("Snapshots"));
label.justify = Gtk.Justification.CENTER;
vbox.pack_start(label, false, false, 0);

View File

@ -74,11 +74,16 @@ class RestoreFinishBox : Gtk.Box{
lbl_header.label = format_text(txt, true, false, true);
var msg = "";
string bullet = "";
if (App.btrfs_mode && App.restore_current_system){
msg += _("Snapshot was restored successfully and will become active after system is restarted.") + "\n";
msg += bullet + _("Snapshot was restored successfully and will become active after system is restarted.") + "\n";
msg += "\n";
msg += _("You can continue working on the current system. After restart, the running system will be visible as a new snapshot. You can restore the new snapshot to 'undo' the restore.") + "\n";
msg += bullet + _("You can continue working on the current system. After restart, the current system will be visible as a new snapshot. This snapshot can be restored later (if required) to 'undo' the restore.") + "\n";
}
if (!App.btrfs_mode){
msg += bullet + _("If system is unable to boot after restart, then boot from the Ubuntu Live CD/USB, install Timeshift on the live system and try restoring another snapshot.") + "\n\n";
}
msg += "\n";

View File

@ -48,7 +48,7 @@ class ScheduleBox : Gtk.Box{
parent_window = _parent_window;
margin = 12;
add_label_header(this, _("Select Snapshot Intervals"), true);
add_label_header(this, _("Select Snapshot Levels"), true);
Gtk.CheckButton chk_m, chk_w, chk_d, chk_h, chk_b;
Gtk.SpinButton spin_m, spin_w, spin_d, spin_h, spin_b;
@ -145,7 +145,7 @@ class ScheduleBox : Gtk.Box{
// crontab
var chk_cron = add_checkbox(this, "Stop cron daemon from sending emails for scheduled jobs");
var chk_cron = add_checkbox(this, "Stop cron service from sending emails for scheduled jobs");
chk_cron.set_tooltip_text(_("The cron service sends the output of scheduled tasks as an email to the current user. Select this option to suppress the emails for cron tasks created by Timeshift."));
//chk_cron.margin_bottom = 12;

View File

@ -164,24 +164,24 @@ class SnapshotBackendBox : Gtk.Box{
txt += bullet + _("Snapshots are restored by replacing system subvolumes. Since files are never copied, deleted or overwritten, there is no risk of data loss. The existing system is preserved as a new snapshot after restore.") + "\n\n";
txt += bullet + _("Snapshots are perfect, byte-for-byte copies of the system. Excluding files is not supported.") + "\n\n";
txt += bullet + _("Snapshots are perfect, byte-for-byte copies of the system. Nothing is excluded.") + "\n\n";
txt += bullet + _("Snapshots are saved on the same disk from which they are created (system disk). Storage on other disks is not supported. If your system disk fails then the snapshots stored on it will be lost along with the system.") + "\n\n";
txt += bullet + _("Snapshots are saved on the same disk from which they are created (system disk). Storage on other disks is not supported. If system disk fails then snapshots stored on it will be lost along with the system.") + "\n\n";
txt += bullet + _("Size of BTRFS snapshots are initially zero. As system files gradually change with time, data gets written to new blocks which take up disk space (copy-on-write). The files in the snapshot continue to point to the original data blocks.") + "\n\n";
txt += bullet + _("Size of BTRFS snapshots are initially zero. As system files gradually change with time, data gets written to new data blocks which take up disk space (copy-on-write). Files in the snapshot continue to point to original data blocks.") + "\n\n";
txt += bullet + _("OS must be installed on a BTRFS partition with Ubuntu-type subvolume layout (@ and @home subvolumes). Other file systems and subvolume layouts are not supported.") + "\n\n";
txt += bullet + _("OS must be installed on a BTRFS partition with Ubuntu-type subvolume layout (@ and @home subvolumes). Other layouts are not supported.") + "\n\n";
lbl_description.label = txt;
}
else{
string txt = "<b>RSYNC Snapshots</b>\n\n";
txt += bullet + _("Snapshots are created by creating copies of system files using rsync, and hard-linking unchanged files from the previous snapshot.") + "\n\n";
txt += bullet + _("Snapshots are created by creating copies of system files using rsync, and hard-linking unchanged files from previous snapshot.") + "\n\n";
txt += bullet + _("Files are copied when the first snapshot is created. Subsequent snapshots are incremental. Unchanged files are hard-linked from the previous snapshot.") + "\n\n";
txt += bullet + _("All files are copied when first snapshot is created. Subsequent snapshots are incremental. Unchanged files will be hard-linked from the previous snapshot if available.") + "\n\n";
txt += bullet + _("Snapshots can be saved to any disk formatted with a Linux file system. Saving snapshots to a non-system/portable disk allows the system to be restored even if the system disk is damaged or re-formatted.") + "\n\n";
txt += bullet + _("Snapshots can be saved to any disk formatted with a Linux file system. Saving snapshots to non-system or external disk allows the system to be restored even if system disk is damaged or re-formatted.") + "\n\n";
txt += bullet + _("Files and directories can be excluded to save disk space.") + "\n\n";

View File

@ -98,14 +98,14 @@ class SnapshotListBox : Gtk.Box{
col_date.spacing = 1;
col_date.min_width = 200;
CellRendererPixbuf cell_backup_icon = new CellRendererPixbuf ();
var cell_backup_icon = new CellRendererPixbuf ();
cell_backup_icon.pixbuf = get_shared_icon_pixbuf("clock","clock.png",16);
//cell_backup_icon.xpad = 1;
cell_backup_icon.xpad = 4;
cell_backup_icon.ypad = 6;
col_date.pack_start (cell_backup_icon, false);
CellRendererText cell_date = new CellRendererText ();
var cell_date = new CellRendererText ();
col_date.pack_start (cell_date, false);
col_date.set_cell_data_func (cell_date, cell_date_render);
@ -129,7 +129,7 @@ class SnapshotListBox : Gtk.Box{
col_system.clickable = true;
col_system.min_width = 200;
CellRendererText cell_system = new CellRendererText ();
var cell_system = new CellRendererText ();
cell_system.ellipsize = Pango.EllipsizeMode.END;
col_system.pack_start (cell_system, false);
col_system.set_cell_data_func (cell_system, cell_system_render);
@ -152,7 +152,7 @@ class SnapshotListBox : Gtk.Box{
col_tags.resizable = true;
//col_tags.min_width = 80;
col_tags.clickable = true;
CellRendererText cell_tags = new CellRendererText ();
var cell_tags = new CellRendererText ();
cell_tags.ellipsize = Pango.EllipsizeMode.END;
col_tags.pack_start (cell_tags, false);
col_tags.set_cell_data_func (cell_tags, cell_tags_render);
@ -225,7 +225,7 @@ class SnapshotListBox : Gtk.Box{
col_desc.resizable = true;
col_desc.clickable = true;
col_desc.expand = true;
CellRendererText cell_desc = new CellRendererText ();
var cell_desc = new CellRendererText ();
cell_desc.ellipsize = Pango.EllipsizeMode.END;
col_desc.pack_start (cell_desc, false);
col_desc.set_cell_data_func (cell_desc, cell_desc_render);
@ -478,7 +478,7 @@ class SnapshotListBox : Gtk.Box{
TreeSelection selection = treeview.get_selection();
int count = selection.count_selected_rows();
mi_remove.sensitive = (count > 0);
mi_mark.sensitive = (count > 0) && !App.btrfs_mode;
mi_mark.sensitive = (count > 0);
mi_view_log_create.sensitive = !App.btrfs_mode;
mi_view_log_restore.sensitive = !App.btrfs_mode;

View File

@ -17,7 +17,7 @@ long_line_behaviour=1
long_line_column=80
[files]
current_page=59
current_page=15
FILE_NAME_0=932;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FUtility%2FArchiveFile.vala;0;4
FILE_NAME_1=3523;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FUtility%2FAsyncTask.vala;0;4
FILE_NAME_2=37;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FUtility%2FBash.vala;0;4
@ -33,7 +33,7 @@ FILE_NAME_11=45;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimesh
FILE_NAME_12=1748;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FUtility%2FTeeJee.Process.vala;0;4
FILE_NAME_13=10931;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FUtility%2FTeeJee.System.vala;0;4
FILE_NAME_14=4855;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FGtk%2FExcludeMessageWindow.vala;0;4
FILE_NAME_15=1952;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FGtk%2FMainWindow.vala;0;4
FILE_NAME_15=9124;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FGtk%2FMainWindow.vala;0;4
FILE_NAME_16=9173;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FGtk%2FRestoreWindow.vala;0;4
FILE_NAME_17=2600;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FGtk%2FSettingsWindow.vala;0;4
FILE_NAME_18=4177;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FUtility%2FRsyncTask.vala;0;4

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: timeshift 1.6\n"
"Report-Msgid-Bugs-To: teejeetech@gmail.com\n"
"POT-Creation-Date: 2017-01-15 00:33+0530\n"
"POT-Creation-Date: 2017-01-15 13:04+0530\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -54,19 +54,19 @@ msgstr ""
msgid "** Uninstalled Timeshift BTRFS **"
msgstr ""
#: Core/Main.vala:3074
#: Core/Main.vala:3075
msgid "/ is mapped to device"
msgstr ""
#: Core/Main.vala:3096
#: Core/Main.vala:3097
msgid "/boot is mapped to device"
msgstr ""
#: Core/Main.vala:3107
#: Core/Main.vala:3108
msgid "/boot/efi is mapped to device"
msgstr ""
#: Core/Main.vala:3085
#: Core/Main.vala:3086
msgid "/home is mapped to device"
msgstr ""
@ -149,6 +149,13 @@ msgstr ""
msgid "Admin access is required to backup and restore system files."
msgstr ""
#: Gtk/SnapshotBackendBox.vala:182
msgid ""
"All files are copied when first snapshot is created. Subsequent snapshots "
"are incremental. Unchanged files will be hard-linked from the previous "
"snapshot if available."
msgstr ""
#: Gtk/ExcludeMessageWindow.vala:137
msgid "All other files and folders are excluded."
msgstr ""
@ -179,11 +186,11 @@ msgstr ""
msgid "Answer YES to all confirmation prompts"
msgstr ""
#: Core/Main.vala:2932
#: Core/Main.vala:2933
msgid "App config loaded"
msgstr ""
#: Core/Main.vala:2834
#: Core/Main.vala:2835
msgid "App config saved"
msgstr ""
@ -191,7 +198,7 @@ msgstr ""
msgid "Application needs admin access."
msgstr ""
#: Core/Main.vala:3249
#: Core/Main.vala:3250
msgid "Application will exit"
msgstr ""
@ -213,15 +220,6 @@ msgstr ""
msgid "Available"
msgstr ""
#: Gtk/FinishBox.vala:103
msgid ""
"Avoid storing snapshots on your system disk. Using another non-system disk "
"will allow you to format and re-install the OS on your system disk without "
"losing the snapshots stored on it. You can even install another Linux "
"distribution and later roll-back the previous distribution by restoring the "
"snapshot."
msgstr ""
#: Gtk/SnapshotBackendBox.vala:95
msgid "BTRFS"
msgstr ""
@ -230,10 +228,18 @@ msgstr ""
msgid "BTRFS Tools Not Found"
msgstr ""
#: Core/Main.vala:1817 Core/Main.vala:1821
#: Core/Main.vala:1818 Core/Main.vala:1822
msgid "BTRFS device is not mounted"
msgstr ""
#: Gtk/FinishBox.vala:91
msgid ""
"BTRFS snapshots are saved on the same disk from which it is created. If the "
"system disk fails, snapshots will be lost along with the system. Save "
"snapshots to an external non-system disk in RSYNC mode to guard against disk "
"failures."
msgstr ""
#: Utility/Gtk/AboutWindow.vala:295
msgid "Back"
msgstr ""
@ -246,11 +252,11 @@ msgstr ""
msgid "Backup"
msgstr ""
#: Core/Main.vala:1793
#: Core/Main.vala:1794
msgid "Backup Device"
msgstr ""
#: Core/Main.vala:1788
#: Core/Main.vala:1789
msgid "Backup device not specified!"
msgstr ""
@ -294,7 +300,7 @@ msgstr ""
msgid "Browse selected snapshot"
msgstr ""
#: Core/Main.vala:2256
#: Core/Main.vala:2257
msgid "Building file list..."
msgstr ""
@ -328,7 +334,7 @@ msgstr ""
msgid "Changed items:"
msgstr ""
#: Core/Main.vala:2477
#: Core/Main.vala:2478
msgid "Checking file systems for errors..."
msgstr ""
@ -336,7 +342,7 @@ msgstr ""
msgid "Checksum"
msgstr ""
#: Core/Main.vala:2145
#: Core/Main.vala:2146
msgid "Cleaning up..."
msgstr ""
@ -366,7 +372,7 @@ msgstr ""
msgid "Cloning System..."
msgstr ""
#: Core/Main.vala:2522
#: Core/Main.vala:2523
msgid "Cloning system..."
msgstr ""
@ -378,7 +384,7 @@ msgid "Close"
msgstr ""
#: Gtk/DeleteFinishBox.vala:70 Gtk/BackupFinishBox.vala:70
#: Gtk/RestoreFinishBox.vala:85
#: Gtk/RestoreFinishBox.vala:90
msgid "Close window to exit"
msgstr ""
@ -390,14 +396,6 @@ msgstr ""
msgid "Comments"
msgstr ""
#: Gtk/FinishBox.vala:107
msgid ""
"Common files are hard-linked between snapshots. Copying the files manually "
"to another location will duplicate the files and break hard-links between "
"them. Snapshots must be moved carefully by running 'rsync' from a terminal. "
"The file system at destination path must support hard-links."
msgstr ""
#: Gtk/DeleteFinishBox.vala:50 Gtk/BackupFinishBox.vala:50
#: Gtk/RestoreFinishBox.vala:50 Gtk/RestoreFinishBox.vala:68
msgid "Completed"
@ -430,11 +428,11 @@ msgstr ""
msgid "Could not find snapshot"
msgstr ""
#: Core/Main.vala:2708
#: Core/Main.vala:2709
msgid "Could not find system subvolume"
msgstr ""
#: Core/Main.vala:2736
#: Core/Main.vala:2737
msgid "Could not find system subvolumes for creating pre-restore snapshot"
msgstr ""
@ -504,7 +502,7 @@ msgstr ""
msgid "Created directory"
msgstr ""
#: Core/Main.vala:2758
#: Core/Main.vala:2759
msgid "Created pre-restore snapshot"
msgstr ""
@ -524,7 +522,7 @@ msgstr ""
msgid "Creating new snapshot..."
msgstr ""
#: Core/Main.vala:2691
#: Core/Main.vala:2692
msgid "Creating pre-restore snapshot from system subvolumes..."
msgstr ""
@ -532,7 +530,7 @@ msgstr ""
msgid "Credits"
msgstr ""
#: Core/Main.vala:3248
#: Core/Main.vala:3249
msgid "Critical Error"
msgstr ""
@ -560,7 +558,7 @@ msgstr ""
msgid "Daily snapshots are enabled"
msgstr ""
#: Core/Main.vala:1885
#: Core/Main.vala:1886
msgid "Data will be modified on following devices:"
msgstr ""
@ -593,15 +591,11 @@ msgstr ""
msgid "Deleted directory"
msgstr ""
#: Core/Snapshot.vala:454
msgid "Deleted snapshot"
msgstr ""
#: Core/Subvolume.vala:99
#: Core/Subvolume.vala:100
msgid "Deleted subvolume"
msgstr ""
#: Core/Main.vala:2675
#: Core/Main.vala:2676
msgid "Deleted system subvolumes: @, @home"
msgstr ""
@ -621,16 +615,16 @@ msgstr ""
msgid "Description"
msgstr ""
#: Core/Subvolume.vala:113
#: Core/Subvolume.vala:114
msgid "Destroyed qgroup"
msgstr ""
#: Core/Subvolume.vala:103
#: Core/Subvolume.vala:104
msgid "Destroying qgroup"
msgstr ""
#: Console/AppConsole.vala:445 Console/AppConsole.vala:484
#: Console/AppConsole.vala:532 Core/Main.vala:1888 Core/Main.vala:1916
#: Console/AppConsole.vala:532 Core/Main.vala:1889 Core/Main.vala:1917
#: Core/SnapshotRepo.vala:49 Core/SnapshotRepo.vala:637
#: Core/SnapshotRepo.vala:640 Utility/Device.vala:1742 Utility/Device.vala:1752
#: Gtk/RestoreDeviceBox.vala:98
@ -646,7 +640,7 @@ msgstr ""
msgid "Device name is empty!"
msgstr ""
#: Core/Main.vala:2966 Core/SnapshotRepo.vala:515
#: Core/Main.vala:2967 Core/SnapshotRepo.vala:515
msgid "Device not found"
msgstr ""
@ -683,7 +677,7 @@ msgstr ""
msgid "Directory not found"
msgstr ""
#: Core/Main.vala:1973 Gtk/RestoreSummaryBox.vala:64
#: Core/Main.vala:1974 Gtk/RestoreSummaryBox.vala:64
msgid "Disclaimer"
msgstr ""
@ -729,7 +723,7 @@ msgstr ""
msgid "Enable scheduled snapshots to protect your system"
msgstr ""
#: Core/Main.vala:3719 Core/Main.vala:3752
#: Core/Main.vala:3720 Core/Main.vala:3753
msgid "Enabled subvolume quota support"
msgstr ""
@ -845,7 +839,7 @@ msgstr ""
msgid "Failed to delete file"
msgstr ""
#: Core/Subvolume.vala:95
#: Core/Subvolume.vala:96
msgid "Failed to delete snapshot subvolume"
msgstr ""
@ -853,15 +847,15 @@ msgstr ""
msgid "Failed to delete symlinks"
msgstr ""
#: Core/Subvolume.vala:109
#: Core/Subvolume.vala:110
msgid "Failed to destroy qgroup"
msgstr ""
#: Core/Main.vala:3739
#: Core/Main.vala:3740
msgid "Failed to enable subvolume quota"
msgstr ""
#: Core/Main.vala:3463 Core/Main.vala:3469
#: Core/Main.vala:3464 Core/Main.vala:3470
msgid "Failed to estimate system size"
msgstr ""
@ -879,7 +873,7 @@ msgstr ""
msgid "Failed to get partition list"
msgstr ""
#: Core/Main.vala:3049
#: Core/Main.vala:3050
msgid "Failed to get partition list."
msgstr ""
@ -895,15 +889,15 @@ msgstr ""
msgid "Failed to move file"
msgstr ""
#: Core/Main.vala:2723
#: Core/Main.vala:2724
msgid "Failed to move system subvolume to snapshot directory"
msgstr ""
#: Core/Main.vala:3580
#: Core/Main.vala:3581
msgid "Failed to query subvolume list"
msgstr ""
#: Core/Main.vala:3645
#: Core/Main.vala:3646
msgid "Failed to query subvolume quota"
msgstr ""
@ -923,11 +917,11 @@ msgstr ""
msgid "Failed to remove cron job"
msgstr ""
#: Core/Main.vala:3772
#: Core/Main.vala:3773
msgid "Failed to rescan subvolume quota"
msgstr ""
#: Core/Main.vala:2613
#: Core/Main.vala:2614
msgid "Failed to restore system subvolume"
msgstr ""
@ -944,7 +938,7 @@ msgstr ""
msgid "Failed to unmount"
msgstr ""
#: Core/Main.vala:3249
#: Core/Main.vala:3250
msgid "Failed to unmount device!"
msgstr ""
@ -983,12 +977,6 @@ msgstr ""
msgid "Files and directory counts:"
msgstr ""
#: Gtk/SnapshotBackendBox.vala:182
msgid ""
"Files are copied when the first snapshot is created. Subsequent snapshots "
"are incremental. Unchanged files are hard-linked from the previous snapshot."
msgstr ""
#: Gtk/ExcludeMessageWindow.vala:83
msgid "Files matching the following patterns will be excluded"
msgstr ""
@ -1019,7 +1007,7 @@ msgstr ""
msgid "First snapshot requires:"
msgstr ""
#: Core/Main.vala:2666
#: Core/Main.vala:2667
msgid "Found existing pre-restore snapshot"
msgstr ""
@ -1043,7 +1031,7 @@ msgstr ""
msgid "GRUB will NOT be reinstalled"
msgstr ""
#: Core/Main.vala:2105
#: Core/Main.vala:2106
msgid "Generating initramfs..."
msgstr ""
@ -1089,26 +1077,18 @@ msgstr ""
msgid "Hourly snapshots are enabled"
msgstr ""
#: Gtk/FinishBox.vala:95
#: Gtk/RestoreFinishBox.vala:86
msgid ""
"If the system is unable to boot after restore, you can try restoring another "
"snapshot by installing and running Timeshift on the Ubuntu Live CD/USB."
"If system is unable to boot after restart, then boot from the Ubuntu Live CD/"
"USB, install Timeshift on the live system and try restoring another snapshot."
msgstr ""
#: Core/Main.vala:1979
#: Core/Main.vala:1980
msgid ""
"If these terms are not acceptable to you, please do not proceed beyond this "
"point!"
msgstr ""
#: Gtk/FinishBox.vala:98
msgid ""
"In BTRFS mode, snapshots are saved on the same disk from which it is "
"created. If your system disk fails, then you will not be able to rescue your "
"system. Use RSYNC mode and save snapshots to another disk if you wish to "
"guard against disk failures."
msgstr ""
#: Gtk/ExcludeBox.vala:52
msgid "Include / Exclude Patterns"
msgstr ""
@ -1117,7 +1097,7 @@ msgstr ""
msgid "Info"
msgstr ""
#: Core/Main.vala:1802
#: Core/Main.vala:1803
msgid "Invalid Snapshot"
msgstr ""
@ -1319,11 +1299,11 @@ msgstr ""
msgid "Monthly snapshot failed!"
msgstr ""
#: Core/Main.vala:1887 Core/Main.vala:1916
#: Core/Main.vala:1888 Core/Main.vala:1917
msgid "Mount"
msgstr ""
#: Core/Main.vala:2730
#: Core/Main.vala:2731
msgid "Moved system subvolume to snapshot directory"
msgstr ""
@ -1416,11 +1396,10 @@ msgstr ""
#: Gtk/SnapshotBackendBox.vala:173
msgid ""
"OS must be installed on a BTRFS partition with Ubuntu-type subvolume layout "
"(@ and @home subvolumes). Other file systems and subvolume layouts are not "
"supported."
"(@ and @home subvolumes). Other layouts are not supported."
msgstr ""
#: Core/Main.vala:3859
#: Core/Main.vala:3860
msgid "Older log files removed"
msgstr ""
@ -1428,7 +1407,7 @@ msgstr ""
msgid "Oldest snapshot"
msgstr ""
#: Core/Main.vala:345 Core/Main.vala:3164 Gtk/RestoreDeviceBox.vala:525
#: Core/Main.vala:345 Core/Main.vala:3165 Gtk/RestoreDeviceBox.vala:525
msgid ""
"Only ubuntu-type layouts with @ and @home subvolumes are currently supported."
msgstr ""
@ -1437,7 +1416,7 @@ msgstr ""
msgid "Open Menu"
msgstr ""
#: Core/Main.vala:2948
#: Core/Main.vala:2949
msgid ""
"Option --snapshot-device should not be specified for creating snapshots in "
"BTRFS mode"
@ -1460,7 +1439,7 @@ msgstr ""
msgid "Parent Device"
msgstr ""
#: Core/Main.vala:1234 Core/Main.vala:2226 Core/Main.vala:2305
#: Core/Main.vala:1234 Core/Main.vala:2227 Core/Main.vala:2306
#: Gtk/RsyncLogWindow.vala:121
msgid "Parsing log file..."
msgstr ""
@ -1486,7 +1465,7 @@ msgstr ""
msgid "Please check if you have multiple windows open."
msgstr ""
#: Core/Main.vala:2011
#: Core/Main.vala:2012
msgid "Please do not interrupt the restore process!"
msgstr ""
@ -1502,7 +1481,7 @@ msgstr ""
msgid "Please run the application as admin (using 'sudo' or 'su')"
msgstr ""
#: Core/Main.vala:1961
#: Core/Main.vala:1962
msgid "Please save your work and close all applications."
msgstr ""
@ -1526,8 +1505,8 @@ msgstr ""
msgid "Populating list..."
msgstr ""
#: Gtk/RsyncLogWindow.vala:131 Gtk/BackupBox.vala:107 Gtk/RestoreBox.vala:82
#: Gtk/DeleteBox.vala:65
#: Core/Main.vala:1372 Gtk/RsyncLogWindow.vala:131 Gtk/BackupBox.vala:107
#: Gtk/RestoreBox.vala:82 Gtk/DeleteBox.vala:65
msgid "Preparing..."
msgstr ""
@ -1540,11 +1519,11 @@ msgstr ""
msgid "Print debug information"
msgstr ""
#: Core/Main.vala:3518
#: Core/Main.vala:3519
msgid "Query completed"
msgstr ""
#: Core/Main.vala:3501
#: Core/Main.vala:3502
msgid "Querying subvolume info..."
msgstr ""
@ -1563,7 +1542,7 @@ msgstr ""
msgid "Re-install GRUB2 bootloader?"
msgstr ""
#: Core/Main.vala:2063
#: Core/Main.vala:2064
msgid "Re-installing GRUB2 bootloader..."
msgstr ""
@ -1576,7 +1555,7 @@ msgstr ""
msgid "Read %'d of %'d lines..."
msgstr ""
#: Core/Main.vala:2157
#: Core/Main.vala:2158
msgid "Rebooting system..."
msgstr ""
@ -1597,7 +1576,7 @@ msgstr ""
msgid "Remove"
msgstr ""
#: Core/Main.vala:1409 Core/Main.vala:1420 Core/Snapshot.vala:424
#: Core/Main.vala:1410 Core/Main.vala:1421 Core/Snapshot.vala:426
#: Core/SnapshotRepo.vala:929
#, c-format
msgid "Removed"
@ -1607,15 +1586,23 @@ msgstr ""
msgid "Removed cron task"
msgstr ""
#: Core/Main.vala:3312
#: Core/Main.vala:3313
#, c-format
msgid "Removed mount directory: '%s'"
msgstr ""
#: Core/Snapshot.vala:399 Core/Snapshot.vala:433
#: Core/Snapshot.vala:459
msgid "Removed snapshot"
msgstr ""
#: Core/Snapshot.vala:401
msgid "Removing"
msgstr ""
#: Core/Snapshot.vala:438
msgid "Removing snapshot"
msgstr ""
#: Core/SnapshotRepo.vala:785 Core/SnapshotRepo.vala:804
#: Core/SnapshotRepo.vala:822 Core/SnapshotRepo.vala:836
#, c-format
@ -1639,7 +1626,7 @@ msgstr ""
msgid "Restore Snapshot"
msgstr ""
#: Core/Main.vala:2547 Core/Main.vala:2625
#: Core/Main.vala:2548 Core/Main.vala:2626
msgid "Restore completed"
msgstr ""
@ -1651,7 +1638,7 @@ msgstr ""
msgid "Restore snapshot"
msgstr ""
#: Core/Main.vala:2620
#: Core/Main.vala:2621
msgid "Restored system subvolume"
msgstr ""
@ -1659,26 +1646,26 @@ msgstr ""
msgid "Restoring Snapshot..."
msgstr ""
#: Gtk/FinishBox.vala:92
#: Gtk/FinishBox.vala:84
msgid ""
"Restoring a snapshot only replaces system files and settings. Documents and "
"other files in your home directory will not be touched. You can change this "
"by adding a filter to include these files. Any files that you include will "
"be backed up when a snapshot is created, and replaced when the snapshot is "
"restored."
"Restoring a snapshot will replace system subvolumes, and system subvolumes "
"currently in use will be preserved as a new snapshot. If required, this "
"snapshot can be restored later to 'undo' the restore."
msgstr ""
#: Gtk/FinishBox.vala:89
msgid ""
"Restoring a snapshot will replace system subvolumes. The current system will "
"be preserved as a new snapshot after restore. You can undo the restore by "
"restoring the new snapshot that was created."
msgstr ""
#: Core/Main.vala:2519
#: Core/Main.vala:2520
msgid "Restoring snapshot..."
msgstr ""
#: Gtk/FinishBox.vala:87
msgid ""
"Restoring snapshots only replaces system files and settings. Non-hidden "
"files and directories in user home directories will not be touched. This "
"behaviour can be changed by adding a filter to include these files. Included "
"files will be backed up when snapshot is created, and replaced when snapshot "
"is restored."
msgstr ""
#: Utility/Device.vala:1746
#, c-format
msgid "Revision"
@ -1697,6 +1684,20 @@ msgstr ""
msgid "Running"
msgstr ""
#: Gtk/FinishBox.vala:94
msgid ""
"Save snapshots to an external disk instead of the system disk to guard "
"against drive failures."
msgstr ""
#: Gtk/FinishBox.vala:96
msgid ""
"Saving snapshots to a non-system disk allows you to format and re-install "
"the OS on the system disk without losing snapshots stored on it. You can "
"even install another Linux distribution and later roll-back the previous "
"distribution by restoring a snapshot."
msgstr ""
#: Core/Main.vala:1101 Core/Main.vala:1253 Core/Main.vala:1255
msgid "Saving to device"
msgstr ""
@ -1713,7 +1714,7 @@ msgstr ""
msgid "Scheduled snapshots are disabled"
msgstr ""
#: Gtk/FinishBox.vala:82
#: Gtk/FinishBox.vala:77
msgid "Scheduled snapshots are disabled. It's recommended to enable it."
msgstr ""
@ -1721,10 +1722,10 @@ msgstr ""
msgid "Scheduled snapshots are enabled"
msgstr ""
#: Gtk/FinishBox.vala:75
#: Gtk/FinishBox.vala:74
msgid ""
"Scheduled snapshots are enabled. Snapshots will be created automatically at "
"selected intervals."
"Scheduled snapshots are enabled. Snapshots will be created automatically for "
"selected levels."
msgstr ""
#: Console/AppConsole.vala:843
@ -1749,7 +1750,7 @@ msgid "Select Snapshot"
msgstr ""
#: Gtk/ScheduleBox.vala:51
msgid "Select Snapshot Intervals"
msgid "Select Snapshot Levels"
msgstr ""
#: Gtk/BackupDeviceBox.vala:56
@ -1853,11 +1854,11 @@ msgstr ""
msgid "Select the target devices where system will be cloned."
msgstr ""
#: Core/Main.vala:2976
#: Core/Main.vala:2977
msgid "Selected default snapshot device"
msgstr ""
#: Core/Main.vala:2853 Core/Main.vala:2857
#: Core/Main.vala:2854 Core/Main.vala:2858
msgid "Selected default snapshot type"
msgstr ""
@ -1877,7 +1878,7 @@ msgstr ""
msgid "Selected snapshot device is not a system disk"
msgstr ""
#: Core/Main.vala:1803
#: Core/Main.vala:1804
msgid "Selected snapshot is marked for deletion"
msgstr ""
@ -1949,8 +1950,8 @@ msgstr ""
#: Gtk/SnapshotBackendBox.vala:171
msgid ""
"Size of BTRFS snapshots are initially zero. As system files gradually change "
"with time, data gets written to new blocks which take up disk space (copy-on-"
"write). The files in the snapshot continue to point to the original data "
"with time, data gets written to new data blocks which take up disk space "
"(copy-on-write). Files in the snapshot continue to point to original data "
"blocks."
msgstr ""
@ -1958,11 +1959,7 @@ msgstr ""
msgid "Skip GRUB2 reinstall"
msgstr ""
#: Gtk/MainWindow.vala:308
msgid "Snaps"
msgstr ""
#: Core/Main.vala:1808 Core/SnapshotRepo.vala:668 Core/SnapshotRepo.vala:706
#: Core/Main.vala:1809 Core/SnapshotRepo.vala:668 Core/SnapshotRepo.vala:706
#: Gtk/SnapshotListBox.vala:95
#, c-format
msgid "Snapshot"
@ -2005,17 +2002,17 @@ msgstr ""
msgid "Snapshot saved successfully"
msgstr ""
#: Core/Main.vala:1798
#: Core/Main.vala:1799
msgid "Snapshot to restore not specified!"
msgstr ""
#: Gtk/RestoreFinishBox.vala:79
#: Gtk/RestoreFinishBox.vala:80
msgid ""
"Snapshot was restored successfully and will become active after system is "
"restarted."
msgstr ""
#: Core/Main.vala:2629
#: Core/Main.vala:2630
msgid "Snapshot will become active after system is rebooted."
msgstr ""
@ -2023,7 +2020,7 @@ msgstr ""
msgid "Snapshot(s) Deleted"
msgstr ""
#: Gtk/DeleteWindow.vala:86
#: Gtk/DeleteWindow.vala:86 Gtk/MainWindow.vala:308
msgid "Snapshots"
msgstr ""
@ -2036,7 +2033,7 @@ msgstr ""
#: Gtk/SnapshotBackendBox.vala:180
msgid ""
"Snapshots are created by creating copies of system files using rsync, and "
"hard-linking unchanged files from the previous snapshot."
"hard-linking unchanged files from previous snapshot."
msgstr ""
#: Gtk/SnapshotBackendBox.vala:161
@ -2046,8 +2043,8 @@ msgstr ""
#: Gtk/SnapshotBackendBox.vala:167
msgid ""
"Snapshots are perfect, byte-for-byte copies of the system. Excluding files "
"is not supported."
"Snapshots are perfect, byte-for-byte copies of the system. Nothing is "
"excluded."
msgstr ""
#: Gtk/SnapshotBackendBox.vala:165
@ -2060,8 +2057,8 @@ msgstr ""
#: Gtk/SnapshotBackendBox.vala:169
msgid ""
"Snapshots are saved on the same disk from which they are created (system "
"disk). Storage on other disks is not supported. If your system disk fails "
"then the snapshots stored on it will be lost along with the system."
"disk). Storage on other disks is not supported. If system disk fails then "
"snapshots stored on it will be lost along with the system."
msgstr ""
#: Gtk/MainWindow.vala:1045
@ -2071,8 +2068,8 @@ msgstr ""
#: Gtk/SnapshotBackendBox.vala:184
msgid ""
"Snapshots can be saved to any disk formatted with a Linux file system. "
"Saving snapshots to a non-system/portable disk allows the system to be "
"restored even if the system disk is damaged or re-formatted."
"Saving snapshots to non-system or external disk allows the system to be "
"restored even if system disk is damaged or re-formatted."
msgstr ""
#: Console/AppConsole.vala:275
@ -2135,11 +2132,11 @@ msgstr ""
msgid "Symlinks updated"
msgstr ""
#: Core/Main.vala:2139
#: Core/Main.vala:2140
msgid "Synching file systems..."
msgstr ""
#: Core/Main.vala:1177 Core/Main.vala:2294 Core/Main.vala:2525
#: Core/Main.vala:1177 Core/Main.vala:2295 Core/Main.vala:2526
msgid "Synching files with rsync..."
msgstr ""
@ -2156,11 +2153,15 @@ msgstr ""
msgid "System Restore Utility for Linux"
msgstr ""
#: Core/Main.vala:2012
#: Gtk/FinishBox.vala:81
msgid "System can be rolled-back to a previous date by restoring a snapshot."
msgstr ""
#: Core/Main.vala:2013
msgid "System will reboot after files are restored"
msgstr ""
#: Core/Main.vala:1962
#: Core/Main.vala:1963
msgid "System will reboot after files are restored."
msgstr ""
@ -2172,7 +2173,7 @@ msgstr ""
msgid "Tags"
msgstr ""
#: Core/Main.vala:1833
#: Core/Main.vala:1834
msgid "Target device is not mounted"
msgstr ""
@ -2180,7 +2181,7 @@ msgstr ""
msgid "Target device is same as system device"
msgstr ""
#: Core/Main.vala:1827
#: Core/Main.vala:1828
msgid "Target device not specified!"
msgstr ""
@ -2197,20 +2198,11 @@ msgid ""
"created by Timeshift."
msgstr ""
#: Gtk/FinishBox.vala:105
msgid ""
"The first snapshot creates a copy of all files on your system. Subsequent "
"snapshots only store files which have changed. You can reduce the size of "
"snapshots by adding filters to exclude files which are not required. For "
"example, you can exclude your web browser cache as these files change "
"constantly and are not critical."
msgstr ""
#: Core/Main.vala:344
msgid "The system partition has an unsupported subvolume layout."
msgstr ""
#: Core/Main.vala:3163
#: Core/Main.vala:3164
msgid "The target partition has an unsupported subvolume layout."
msgstr ""
@ -2228,7 +2220,7 @@ msgstr ""
msgid "This device is not encrypted"
msgstr ""
#: Core/Main.vala:1978
#: Core/Main.vala:1979
msgid ""
"This software comes without absolutely NO warranty and the author takes no "
"responsibility for any damage arising from the use of this program."
@ -2242,12 +2234,6 @@ msgstr ""
msgid "Timestamp"
msgstr ""
#: Gtk/FinishBox.vala:101
msgid ""
"To guard against hard disk failures, select an external disk for the "
"snapshot location instead of the system disk."
msgstr ""
#: Console/AppConsole.vala:602
#, c-format
msgid "To restore with default options, press the ENTER key for all prompts!"
@ -2299,7 +2285,7 @@ msgstr ""
msgid "Unshared"
msgstr ""
#: Core/Main.vala:3167 Gtk/RestoreDeviceBox.vala:522
#: Core/Main.vala:3168 Gtk/RestoreDeviceBox.vala:522
msgid "Unsupported Subvolume Layout"
msgstr ""
@ -2311,11 +2297,11 @@ msgstr ""
msgid "Update initramfs"
msgstr ""
#: Core/Main.vala:2469
#: Core/Main.vala:2470
msgid "Updated /etc/crypttab on target device"
msgstr ""
#: Core/Main.vala:2389
#: Core/Main.vala:2390
msgid "Updated /etc/fstab on target device"
msgstr ""
@ -2325,11 +2311,11 @@ msgid ""
"be left selected."
msgstr ""
#: Core/Main.vala:2122
#: Core/Main.vala:2123
msgid "Updating GRUB menu..."
msgstr ""
#: Core/Main.vala:2313
#: Core/Main.vala:2314
msgid "Updating bootloader configuration..."
msgstr ""
@ -2375,7 +2361,7 @@ msgstr ""
msgid "W"
msgstr ""
#: Core/Main.vala:1880 Gtk/RestoreSummaryBox.vala:53
#: Core/Main.vala:1881 Gtk/RestoreSummaryBox.vala:53
msgid "Warning"
msgstr ""
@ -2407,16 +2393,11 @@ msgstr ""
msgid "Wrong password"
msgstr ""
#: Gtk/RestoreFinishBox.vala:81
#: Gtk/RestoreFinishBox.vala:82
msgid ""
"You can continue working on the current system. After restart, the running "
"system will be visible as a new snapshot. You can restore the new snapshot "
"to 'undo' the restore."
msgstr ""
#: Gtk/FinishBox.vala:86
msgid ""
"You can rollback your system to a previous date by restoring a snapshot."
"You can continue working on the current system. After restart, the current "
"system will be visible as a new snapshot. This snapshot can be restored "
"later (if required) to 'undo' the restore."
msgstr ""
#: Gtk/RestoreDeviceBox.vala:412
@ -2443,12 +2424,12 @@ msgstr ""
msgid "all"
msgstr ""
#: Core/Main.vala:1287 Core/Main.vala:2612 Core/Main.vala:3579
#: Core/Main.vala:3644 Core/Main.vala:3738 Core/Main.vala:3771
#: Core/Main.vala:1287 Core/Main.vala:2613 Core/Main.vala:3580
#: Core/Main.vala:3645 Core/Main.vala:3739 Core/Main.vala:3772
msgid "btrfs returned an error"
msgstr ""
#: Core/Main.vala:1209 Core/Snapshot.vala:415
#: Core/Main.vala:1209 Core/Snapshot.vala:417
msgid "complete"
msgstr ""
@ -2472,7 +2453,7 @@ msgstr ""
msgid "mounted at path"
msgstr ""
#: Core/Main.vala:1209 Core/Snapshot.vala:416
#: Core/Main.vala:1209 Core/Snapshot.vala:418
msgid "remaining"
msgstr ""