Bug#1011343: WISHLIST: Offical ALL-IN-ONE images?
Hi,
although it was not the final solution of this bug report, i beefed up
my merger script for Debian ISOs so that it can combine an arbitrary
number of ISOs (within the limits of /dev/loop* and mount(8)).
Maybe it can serve as answer for the next time this wish comes up.
The script is uploaded as
https://dev.lovelyhq.com/libburnia/libisoburn/raw/branch/master/test/merge_debian_isos
with GPG detached signature
https://dev.lovelyhq.com/libburnia/libisoburn/raw/branch/master/test/merge_debian_isos.sig
for checking by gpg --verify.
After download, the user probably has to give x-permissions to the script.
When run without arguments it gives this help text:
-----------------------------------------------------------------------
usage: merge_debian_isos result_iso mount_template iso1 iso2 [... isoN]
Mounts by sudo the ISO 9660 images iso1 to isoN at directories
mount_template1 to mount_templateN, if not already mounted that way.
Then the Debian pools and package lists get merged and a new
ISO 9660 image result_iso is produced, which must not yet exist.
If iso1 is bootable then the new image will be bootable by the
same means.
At least the parent directory of mount_template must already exist.
All arguments must be single words without using quotation marks.
None of the isoN must be equal to another isoM.
This script creates and finally removes the following temporary tree
and files which must not yet exist in the current working directory:
./merged_dists , ./merged_md5sum.txt , ./merged_REAMDE.txt
./temp_file
Further it creates and finally removes directories mount_template*
if they are needed and do not exist when the script starts.
It depends on the following programs:
awk, basename, bash, cat, chmod, cp, dirname, expr, fgrep, grep,
gunzip, gzip, head, ls, mkdir, mount, mv, rm, rmdir, sha256sum,
sed, sort, stat, sudo, umount, xorriso
Recommended are: md5sum, sha1sum, sha512sum
Exported non-empty variable MERGE_DATE enforces a particular
date string in the text which gets prepended to /README.txt .
Exported non-empty variable MERGE_FOR_DIST enforces the use of a
particular directory in /dists of iso1. Normally only one
such directory is found and thus no need to set MERGE_FOR_DIST.
Exported non-empty variable XORRISO overrides command xorriso.
This may be needed if installed xorriso is older than 1.4.2.
Example using GNU xorriso-1.5.4 instead of /usr/bin/xorriso:
export XORRISO=$HOME/xorriso-1.5.4/xorriso/xorriso
mkdir merge_mount
merge_debian_isos merged.iso merge_mount/iso \
debian-11.2.0-amd64-DVD-[12345].iso
rmdir merge_mount
-----------------------------------------------------------------------
The old script merge_2_debian_isos still exists but will refuse to run,
unless the user removes an exit command near the start of the script.
In its downloaded form it tells the user:
-----------------------------------------------------------------------
THIS SCRIPT IS DEPRECATED ! USE ITS SUCCESSOR: merge_debian_isos
The script merge_2_debian_isos still exists only because it was mentioned
in Debian bug 1011343. The successor can merge more than two ISOs.
So do not edit this script to remove this warning and the 'exit 7' line.
-----------------------------------------------------------------------
I tested the new script by merging the first three ISOs of
debian-11.2.0-amd64-DVD-*.iso
and installing Debian from the result into a qemu-system-x86_64 VM with
4 GB RAM and 128 GB system disk.
After the installation was completed, i successfuly installed packages
which are in DVDs 1, 2, and 3 and were not installed yet:
apt-get install apt-file
apt-get install lame
apt-get install xorriso
To verify that this success does not come from an unwanted network
connection i tried to install packages from DVD 4
apt-get install bash-doc
apt-get install devede
Both attempts failed with the message that the packages are not available.
Have a nice day :)
Thomas
Reply to: