A Bash script to create ISO images from files and directories, with support for ZIP extraction, logging, and custom labels.
- β Free! I made this idea so as not to be limited to the ~870MB that AnyToISO allows to convert for free. (This is not a replacement, just a small alternative).
- β Windows & Linux compatibility (Check the windows-version folder for Windows program).
- β Create ISO images from files and directories
- β Support for custom for the ISO image.
- β ZIP extraction (optional) before adding to the ISO.
- β
Dependency validation (
mkisofs,unzip,zip) - β Disk space check to prevent errors
- β
Activity logging via
iso_creator.log - β Robust error handling with clear messages
- β Automatic cleanup of temporary files
- β
User-friendly command-line options (
-lfor label, etc.)
- β Change to another language to be able to port this to Windows.
- π‘ Support more file types
Make sure you have the required dependencies installed:
sudo apt update && sudo apt install genisoimage zip unzipClone the repository:
git clone https://github.com/UndeffinedDev/iso-creator.git
cd iso-creator
chmod +x iso-creator.sh./iso-creator.sh file1 file2 directory1 output.isoThis will create an ISO named output.iso containing the specified files and directories.
./iso-creator.sh -l "MyCustomLabel" file1 directory1 output.isoThe -l option sets a custom label for the ISO image.
$ ./iso-creator.sh -l PYTHON_EXECUTABLES Pythons.zip
Starting script...
Processing files/directories...
Processing ZIP archive: Pythons.zip
-> Extracted: /tmp/tmp.KZiX6JNLCy/python-2.7.18.amd64.msi
-> Extracted: /tmp/tmp.KZiX6JNLCy/python-3.4.4.amd64.msi
Creating ISO image...
I: -input-charset not specified, using utf-8 (detected in locale settings)
21.81% done, estimate finish Fri Mar 28 22:11:33 2025
43.62% done, estimate finish Fri Mar 28 22:11:33 2025
65.33% done, estimate finish Fri Mar 28 22:11:33 2025
87.14% done, estimate finish Fri Mar 28 22:11:33 2025
Total translation table size: 0
Total rockridge attributes bytes: 358
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
22961 extents written (44 MB)
ISO successfully created: output.iso
Note
In some linux distributions, mkisofs is a genisoimage symbolic link, but the script still checks for either of these two commands
- Linux-based OS (Tested on Linux Mint 22.1 | Xia)
mkisofs(orgenisoimage)unzip,zip
Feel free to submit issues or pull requests to improve the script!
Copyleft (β) 2025 - Free use under the terms of the GNU GPL or similar licenses.