This project has been archived by its maintainers, and is no longer receiving any updates.
Debseed
Create ISO images to automate Debian installations, by appending a preseed file to Debian official images.
Prerequisites
This application must be run on Linux and requires python3, xorriso and isolinux. Example on Debian:
sudo apt install python3-pip xorriso isolinux
Installation
Install the application using pip:
pip3 install debseed
Or, if you wish to automatically publish the generated ISO files to a VMWare datastore, install the application with additional dependencies:
pip3 install debseed[vmware]
Usage examples
Download latest Debian ISO file and generate a custom ISO file from it, using the generic edition:
debseed update
Generate a custom ISO file from a specific image and preseed file:
debseed generate debian-11.5.0-amd64-netinst.iso path/to/preseed.cfg
To print full usage instructions, run:
debseed --help
Configuration
Configuration of Debseed is defined in the following files (by decreasing priority):
local.confin current working directory~/.config/debseed/debseed.confin home directoryC:/ProgramData/debseed/debseed.conf(Windows) or/etc/debseed/debseed.conf(Linux)
Configuration section [debseed] contains general-purpose application settings.
Specific sets of generation parameters, called editions, are configured in their own configuration section. For example, section named default is configured using configuration section [debseed:default].
See example.
Development
Create Python virtual environment (example on a Debian workstation):
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip wheel
pip install -r requirements_all.txt
Run commands:
python -m debseed --help
Clean repository:
find . \( -name __pycache__ -o -name build -o -name dist -o -name "*.egg-info" \) -not -path "./.venv/*" -exec rm -rf {} \;
Create Python redistribuable package:
pip wheel --no-deps -w dist .
Prepare Twine for package upload (if necessary):
pip install twine
$env:REQUESTS_CA_BUNDLE="...ca-certificates.crt"
Check package (in particular, verify version in file name):
twine check dist/...
Upload le paquet:
twine upload --repository ... dist/...
Troubleshooting
Display information about an ISO file
Using command isoinfo from Debian package genisoimage:
isoinfo -d -i path.iso
Extract initial ramdisk
cd debseed.tmp/...
mkdir extracted-initrd
cd extracted-initrd
cpio -idm < ../initrd
Update Debian signing GPG key
gpg --keyserver hkp://keyring.debian.org:80 --keyserver-options http-proxy=http://... --recv-keys DF9B9C49EAA9298432589D76DA87E80D6294BE9B
gpg --output debseed/assets/debian-cd-signing.gpg --export DF9B9C49EAA9298432589D76DA87E80D6294BE9B
Create local NAT network 10.0.2.2/24 for Hyper-V VMs
To reproduces VirtualBox default networking, where 10.0.2.2 is the address of the host as seen from the VMs, configure an internal virtual switch in Hyper-V, using the following Powershell commands (with elevated privileges):
New-VMSwitch -Name "10.0.2 Switch" -SwitchType Internal -Notes "For VMs in network 10.0.2.2/24"
New-NetIPAddress -IPAddress 10.0.2.2 -PrefixLength 24 -InterfaceAlias "vEthernet (10.0.2 Switch)"
Get-NetNat | ? Name -Eq "10.0.2 Nat" | Remove-NetNat -Confirm:$False
New-NetNat -Name "10.0.2 Nat" -InternalIPInterfaceAddressPrefix 10.0.2.0/24
Metadata
Release files for debseed 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| debseed-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for debseed-0.1.3-py3-none-any.whl |
Release files / debseed-0.1.3-py3-none-any.whl
| Download URL | debseed-0.1.3-py3-none-any.whl |
|---|---|
| Size | 39.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
598864e80000170d3abad52b60c0265148e038b3877a07cd03fcb31458d8a751
|
|
BLAKE2b-256 checksum How to use checksums |
ed49f2392077cf7f58cf8d16d3fda7f4976013271105f4b73a5de052110dadc7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.0
|
Security for debseed 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.