diff --git a/templates/lxc-debian.in b/templates/lxc-debian.in index c5b1675..5cb624b 100644 --- a/templates/lxc-debian.in +++ b/templates/lxc-debian.in @@ -238,7 +238,14 @@ write_sourceslist() if [ "$mainonly" = 1 ]; then non_main='' else - non_main=' contrib non-free' + case "$release" in + wheezy|jessie|stretch|buster|bullseye) + non_main=' contrib non-free' + ;; + *) + non_main=' contrib non-free non-free-firmware' + ;; + esac fi cat >> "${rootfs}/etc/apt/sources.list" << EOF @@ -684,8 +691,8 @@ Options : -S, --auth-key=KEYFILE SSH public key to inject into the container as the root user. -a, --arch=ARCH The container architecture. Can be one of: i686, x86_64, amd64, armhf, armel, powerpc. Defaults to host arch. - -r, --release=RELEASE Debian release. Can be one of: wheezy, jessie, stretch, buster, sid. - Defaults to current stable. + -r, --release=RELEASE Debian release. Can be one of: wheezy, jessie, stretch, buster, + bullseye, bookworm, trixie, sid. Defaults to current stable. --mirror=MIRROR Debian mirror to use during installation. Overrides the MIRROR environment variable (see below). --keyring=KEYRING GPG keyring to authenticate the repository against. @@ -696,7 +703,7 @@ Options : --packages=PACKAGE_NAME1,PACKAGE_NAME2,... List of additional packages to install. Comma separated, without space. -c, --clean only clean up the cache and terminate - --enable-non-free include also Debian's contrib and non-free repositories. + --enable-non-free include also Debian's contrib, non-free and non-free-firmware repositories. -I|--interpreter-path=INTERPRETER-PATH Path of the binfmt interpreter to copy to the rootfs -F | --flush-cache Flush the debian release cache diff --git a/templates/lxc-kali.in b/templates/lxc-kali.in index 8ba89e8..1a3cb7b 100644 --- a/templates/lxc-kali.in +++ b/templates/lxc-kali.in @@ -224,13 +224,18 @@ write_sourceslist() if [ "$mainonly" = 1 ]; then non_main='' else - non_main=' contrib non-free' + non_main=' contrib non-free non-free-firmware' fi cat >> "${rootfs}/etc/apt/sources.list" << EOF ${prefix} $MIRROR ${release} main${non_main} EOF +} +apt_update_packages(){ + local apt_update_args="update" + chroot "${rootfs}" apt-get $apt_update_args + return $? } install_packages() @@ -238,9 +243,10 @@ install_packages() local rootfs="$1"; shift local packages="$*" - chroot "${rootfs}" apt-get update - if [ -n "${packages}" ]; then - chroot "${rootfs}" apt-get install --force-yes -y --no-install-recommends ${packages} + if [ -n "${packages}" ] && apt_update_packages; then + chroot "${rootfs}" apt-get install -y --no-install-recommends ${packages} + elif [ -n "${packages}" ]; then + echo "Apt update failed, not downloading packages" fi } @@ -638,7 +644,7 @@ Options : --packages=PACKAGE_NAME1,PACKAGE_NAME2,... List of additional packages to install. Comma separated, without space. -c, --clean only clean up the cache and terminate - --enable-non-free include also Kali's contrib and non-free repositories. + --enable-non-free include also Kali's contrib, non-free and non-free-firmware repositories. -I|--interpreter-path=INTERPRETER-PATH Path of the binfmt interpreter to copy to the rootfs -F | --flush-cache Flush the kali release cache