From 29330f62cb0f15b06e994e15c4800b430ace7858 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 27 Jul 2025 19:38:27 +0200 Subject: [PATCH] dupe --- sh/apt.extra.sh | 76 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 sh/apt.extra.sh diff --git a/sh/apt.extra.sh b/sh/apt.extra.sh new file mode 100644 index 0000000..88e8b01 --- /dev/null +++ b/sh/apt.extra.sh @@ -0,0 +1,76 @@ +RWX_DEBIAN_CODENAME="$( + grep "VERSION_CODENAME" "/etc/os-release" | + cut --delimiter "=" --fields "2" +)" + +rwx_apt_clean() { + apt-get \ + clean +} + +rwx_apt_conf_write() { + printf "\ +Acquire::AllowInsecureRepositories False; +Acquire::AllowWeakRepositories False; +Acquire::AllowDowngradeToInsecureRepositories False; +Acquire::Check-Valid-Until True; +APT::Install-Recommends False; +APT::Install-Suggests False; +APT::Get::Show-Versions True; +Dir::Etc::SourceParts \"\"; +Dpkg::Progress True; +" >"/etc/apt/apt.conf.d/apt.conf" +} + +rwx_apt_install_backports() { + rwx_apt_install_target "${RWX_DEBIAN_CODENAME}-backports" "${@}" +} + +rwx_apt_install_release() { + rwx_apt_install_target "${RWX_DEBIAN_CODENAME}" "${@}" +} + +rwx_apt_install_target() { + local target="${1}" + shift + local package + for package in "${@}"; do + rwx_log "" \ + "${package} ← ${target}" + apt-get \ + install \ + --assume-yes \ + --target-release "${target}" \ + "${package}" + rwx_apt_clean + done +} + +rwx_apt_sources_write() { + printf "%s" "\ +deb https://deb.debian.org/debian \ +${RWX_DEBIAN_CODENAME} main non-free-firmware contrib non-free +deb https://deb.debian.org/debian \ +${RWX_DEBIAN_CODENAME}-backports main non-free-firmware contrib non-free +deb https://deb.debian.org/debian \ +${RWX_DEBIAN_CODENAME}-updates main non-free-firmware contrib non-free +deb https://deb.debian.org/debian-security \ +${RWX_DEBIAN_CODENAME}-security main non-free-firmware contrib non-free +" >"/etc/apt/sources.list" +} + +rwx_apt_update() { + apt-get \ + update +} + +rwx_apt_upgrade() { + apt-get \ + upgrade \ + --assume-yes + rwx_apt_clean +} + +rwx_debian_frontend_disable() { + export DEBIAN_FRONTEND="noninteractive" +}