#1836 Issue closed: Add some extra parameters to mkisofs like utils

Labels: enhancement, cleanup, fixed / solved / done

der-andrew opened issue at 2018-06-19 13:47:

Hi there!

  • ReaR version ("/usr/sbin/rear -V"):
    /usr/sbin/rear -V
    Relax-and-Recover 2.00 / Git

  • OS version ("cat /etc/rear/os.conf" or "lsb_release -a" or "cat /etc/os-release"):
    cat /etc/os-release

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
  • ReaR configuration files ("cat /etc/rear/site.conf" or "cat /etc/rear/local.conf"):
    cat /etc/rear/site.conf
BACKUP=NETFS
ISO_DIR=/tmp
OUTPUT=ISO
OUTPUT_URL=null
BACKUP_URL=iso:///tmp
EXCLUDE_MOUNTPOINTS=( '/storage' '/var/www/zm/html/events' )
#ISO_MKISOFS_BIN=/bin/mkisofs -allow-limited-size -udf -l -J -r -iso-level 3
#OUTPUT_OPTIONS="-allow-limited-size -udf -l -J -r -iso-level 3"
BACKUP_PROG_COMPRESS_OPTIONS=( "${BACKUP_PROG_COMPRESS_OPTIONS[@]}" '--anchored' )
BACKUP_PROG_EXCLUDE=( "${BACKUP_PROG_EXCLUDE[@]}" '/var/log/lastlog' '/home/*' '/media/*' '/mnt/*' '/opt/ltsp/images/preprod/*' '/storage/*' '/usr/local/src/*' '/var/log/freeswitch/*' '/var/crash/*' '/var/lib/mysql/zm/Events.*' '/var/lib/mysql/zm/Frames.*' '/var/lib/mysql/zm/Stats.*' '/var/tmp/*' '/var/www/zm/html/events/*' )
  • System architecture (x86 compatible or POWER and/or what kind of virtual machine):
    uname -imp
    x86_64 x86_64 x86_64

  • Are you using BIOS or UEFI or another way to boot?
    BIOS

  • Brief description of the issue:
    My ISO image is over 2 GB, so I need use UDF.

  • Work-around, if any:
    The only thing helps me is manual edit:
    /usr/share/rear/output/ISO/Linux-i386/820_create_iso_image.sh

 --- 820_create_iso_image-noudf.sh       2017-01-06 14:02:00.000000000 +0300
 +++ 820_create_iso_image.sh     2018-06-09 10:42:09.523186306 +0300
 @@ -22,6 +22,7 @@
  else
      $ISO_MKISOFS_BIN $v -o "$ISO_DIR/$ISO_PREFIX.iso" -b isolinux/isolinux.bin -c isolinux/boot.cat \
          -no-emul-boot -boot-load-size 4 -boot-info-table \
+     -allow-limited-size -udf \
          -R -J -volid "$ISO_VOLID" $EFIBOOT -v -iso-level 3 .  >&8
          ##-R -J -volid "$ISO_VOLID" $EFIBOOT  "${ISO_FILES[@]}"  >&8
  fi
  • Resolve IMHO.
    Add please ability for extra parameters to making iso image. Or, may be autodetect size of backup.tar.gz with appropriate behavour: automatic add parameters)

jsmeix commented at 2018-06-19 14:46:

@der-andrew
ReaR is intentionally written in bash (the admin's native language ;-)
so that the scripts in ReaR can be adapted and enhanced as needed
for this or that special circumstances.
Accordingly your workaround matches how ReaR is meant to be used.

Nevertheless you are right that it would be easier when
the options for the ISO_MKISOFS_BIN program call
could be specified in /etc/rear/local.conf.

der-andrew commented at 2018-06-20 05:27:

I will sign myself under each word) ReaR really cool!!!
One disadvantage: after possible rear's update it may be loos custom (workaround). But I'v got 200+ servers.
Please, consider the possibility of subject :)
Thanks a lot for ReaR!

jsmeix commented at 2018-06-20 07:35:

@der-andrew
it is considered and planned to be done for the next ReaR 2.5 release
but no promises because it depends on how much time I find for it and
perhaps during implementation some unexpectedly hard problems may appear
regardless that right now I cannot imagine that problems will appear
(i.e. currently things look "just straightforward" to me).

Regarding overwriting self-adapted scripts by an update of a rear RPM package:
See how I package our rear RPM for openSUSE at
https://build.opensuse.org/package/show/Archiving/rear
therein the rear.changes file that shows (excerpt)

Tue Jun 30 13:57:05 CEST 2015 - jsmeix@suse.de
...
- Have config(noreplace) also for all files in /usr/share/rear/
  to avoid that RPM package update overwrites user edited files
  because Relax-and-Recover (rear) is meant to be adapted and
  enhanced by the user according to his particular needs
  (see http://en.opensuse.org/SDB:Disaster_Recovery).
- Added rear-rpmlintrc to filter the following false positives
  rpmlint warning messages:
  * non-etc-or-var-file-marked-as-conffile
    because config(noreplace) is intentionally for all files
    in /usr/share/rear/ (see above)

and the rear.spec file how that is implemented (excerpt)

%files
...
%config(noreplace) %{_sysconfdir}/rear/
%config(noreplace) %{_datadir}/rear/

This way self-adapted scripts stay and new scripts get installed as *.rpmnew files.
But this can lead to inconsistencies after a RPM package upgrade when
old self-adapted scripts do no longer work together with the other
newer scripts from the updated ReaR which again proves that:

For each ReaR version upgrade and for each change of a software
that is used by ReaR you must carefully and completely re-validate that
your particular disaster recovery procedure still works for you. 

cf. "Version upgrades with Relax-and-Recover" at
https://en.opensuse.org/SDB:Disaster_Recovery

der-andrew commented at 2018-06-20 12:40:

Yes, I saw it later)
Will be lookting forward.

jsmeix commented at 2018-12-05 12:53:

With https://github.com/rear/rear/pull/1992 merged
this issue should be fixed.


[Export of Github issue for rear/rear.]