#2457 PR merged: default.conf change ISO_VOLID="RELAXRECOVER" to ISO_VOLID="REAR-ISO"

Labels: enhancement, fixed / solved / done

jsmeix opened issue at 2020-07-15 12:51:

In default.conf change ISO_VOLID="RELAXRECOVER" to

ISO_VOLID="REAR-ISO"

so the first ISO has the label REAR-ISO (8 characters) and subsequent ISOs
get the labels REAR-ISO_01 REAR-ISO_02 ... respectively
that have 11 characters which is the maximum length for FAT volume names
so things work by default when the ISO image is used
to (manually) create a FAT bootable USB stick.

Using ISO_VOLID="REAR-ISO" (e.g. instead of ISO_VOLID="REAR_ISO")
because the REAR-... syntax matches better the ISO file name
syntax rear-HOSTNAME.iso and also it matches better the other
label syntax USB_DEVICE_FILESYSTEM_LABEL='REAR-000'

jsmeix commented at 2020-07-15 12:59:

I did this pull request because I think
https://github.com/rear/rear/issues/1565#issuecomment-342449263

In practice we cannot change such default settings
because probably zillions of ReaR users use the default
for their existing ISOs and if we changed the default
their existing ISOs (that are labelled "RELAXRECOVER")
would no longer match what there is expected/used in ReaR
so that regressions happen for "probably zillions of ReaR users".

could not be an issue in actual real world.

Reasoning (off the top of my head - I did not test anything):

Existing ISOs that were made with ISO_VOLID="RELAXRECOVER"
have that setting "inside the ISO" (i.e. inside the ReaR recovery system)
so "rear recover" still works with those old ISOs (regardless how old they are).

New ISOs that will be made with ISO_VOLID="REAR-ISO"
will have that setting "inside the ISO" (i.e. inside the ReaR recovery system)
so "rear recover" will work with the new default for those new ISOs.

If my reasoning is right we can change that default setting.
If my reasoning is wrong this pull request must be rejected.

@rear/contributors
I look forward to your feedback.

MarcoS80 commented at 2020-07-15 13:34:

If it is possible to restore an old ISO backup with a recent version of ReaR, to change the default value might break the restorin process.

Actually, the solution to the problem might not require any change to be made.
Since the best practice would require the user to create his own configuration file, in my opinion, a simple warning within the main configuration file might be enough, to guide the user to solve/avoid the issue.

jsmeix commented at 2020-07-15 13:48:

@MarcoS80
according to my current understanding it is not possible
"to restore an old ISO backup with a recent version of ReaR"
because - cf. my above reasoning - an old ISO contains the matching
old ReaR recovery system and when additionally the backup is included in the ISO
an old ISO contains the old ReaR recovery system plus the old backup
and a new ISO contains the new ReaR recovery system plus the new backup.
You cannot mix up a new backup into an old ISO or vice versa.
Cf. the ISO_MAX_SIZE explanation in default.conf
https://github.com/rear/rear/blob/master/usr/share/rear/conf/default.conf#L688
that describes what gets stored on one or more ISOs.

jsmeix commented at 2020-07-17 10:56:

I leave it open over the weekend and
if no objections appear until Monday
I would "just merge" it on Monday afternoon.

We are currently in early ReaR 2.7 development phase
so we can try possibly incompatible changes and wait for user feedback
and I could fix things if regressions are reported because of this change.

jsmeix commented at 2020-07-17 11:41:

In addition to ISO_VOLID="REAR-ISO" matches better
the ISO file name rear-HOSTNAME.iso and the other label REAR-000
REAR_ISO could be confused with a variable name
while REAR-ISO cannot be a variable name because
'-' is not an allowed character in bash variables
but '-' is allowed in FAT short filenames and volume names,
cf. https://en.wikipedia.org/wiki/Volume_(computing)
that reads (excerpt)

In the FAT filesystem, the volume label was
traditionally restricted to 11 characters
(reflecting the 8.3 https://en.wikipedia.org/wiki/8.3
restrictions, but not divided into name and extension fields)

and https://en.wikipedia.org/wiki/8.3
that reads (excerpts)

Legal characters for DOS filenames include the following:
    Upper case letters A–Z
    Numbers 0–9
    Space
    ! # $ % & ' ( ) - @ ^ _ ` { } ~

[Export of Github issue for rear/rear.]