DEBIAN_CODENAME="$( grep "VERSION_CODENAME" "/etc/os-release" | cut --delimiter "=" --fields "2" )" apt_clean() { apt-get \ clean } apt_install_backports() { apt_install_target "${DEBIAN_CODENAME}-backports" "${@}" } apt_install_release() { apt_install_target "${DEBIAN_CODENAME}" "${@}" } apt_install_target() { local target="${1}" shift local package for package in "${@}"; do log_info log_info "${package} ← ${target}" apt-get \ install \ --assume-yes \ --target-release "${target}" \ "${package}" apt_clean done } apt_sources_write() { printf "%s" "\ deb https://deb.debian.org/debian \ ${DEBIAN_CODENAME} main non-free-firmware contrib non-free deb https://deb.debian.org/debian \ ${DEBIAN_CODENAME}-backports main non-free-firmware contrib non-free deb https://deb.debian.org/debian \ ${DEBIAN_CODENAME}-updates main non-free-firmware contrib non-free deb https://deb.debian.org/debian-security \ ${DEBIAN_CODENAME}-security main non-free-firmware contrib non-free " >"/etc/apt/sources.list" } apt_update() { apt-get \ update } apt_upgrade() { apt-get \ upgrade \ --assume-yes apt_clean } debian_disable_frontend() { export DEBIAN_FRONTEND="noninteractive" }