Tails Upgrader fails to install some IUKs
For instance, using tails-upgrade-frontend
to fetch and install the
hand-crafted and tiny (20 KB) 1.2.1_to_1.2.2
IUK results in a bricked
Tails installation because Tails.module
gets corrupted. After
installing the upgrade, but before rebooting, the contents of the
Tails.module
looks normal so it seems like a failure of syncing the
kernel’s disk cache to disk. Furthermore, this does not occur when
calling tails-install-iuk
directly, which indicates that the cause has
something to do with the fancy stuff wrapping around that call in the
frontend, or possibly with perl’s IPC::Run
library.
Tests show that the following use of nocache
(Debian package available
in wheezy-backports) fixes the disk corruption:
--- a/lib/Tails/IUK/Install.pm
+++ b/lib/Tails/IUK/Install.pm
@@ -174,7 +174,7 @@ method upgrade_modules_file {
say $temp_fh $append_str;
close $temp_fh;
- run_as_root('cp', '--force', $temp_file, $self->modules_file);
+ run_as_root('nocache', 'cp', '--force', $temp_file, $self->modules_file);
Feature Branch: bugfix/8449-iuk-install-robustness, iuk:bugfix/8449-iuk-install-robustness
Related issues
- Related to #11839 (closed)
- Related to #14754
Original created by @anonym on 8449 (Redmine)