siehe: APT (Debian/Ubuntu)
Im folgenden werden backports die gleiche Priorität wie den jeweiligen dazugehörigen Repositories zugewiesen (Priorität 500, ist standardmäßig 100), um relativ sicher neuere Paketversionen zur Verfügung zu haben.
Allerdings ist dies nicht immer erwünscht, da backports nicht im gleichen Maße getestet werden wie die regulären Repositories.
500)-1)-1)# stable Package: * Pin: release n=trixie, o=Debian Pin-Priority: 500 Package: * Pin: release n=trixie-security, o=Debian Pin-Priority: 500 Package: * Pin: release n=trixie-updates, o=Debian Pin-Priority: 500 # stable-backports Package: * Pin: release n=trixie-backports, o=Debian Backports Pin-Priority: 500 # stable-backports: kernel Package: linux-headers-* linux-image-* Pin: release n=trixie-backports, o=Debian Backports Pin-Priority: 100 # testing Package: * Pin: release n=forky, o=Debian Pin-Priority: -1 Package: * Pin: release n=forky-security, o=Debian Pin-Priority: -1 Package: * Pin: release n=forky-updates, o=Debian Pin-Priority: -1 # testing-backports Package: * Pin: release n=forky-backports, o=Debian Backports Pin-Priority: -1 # unstable Package: * Pin: release n=sid, o=Debian Pin-Priority: -1
man deb822), die standard datei für apt quellen ist nun /etc/apt/sources.list.d/debian.sources/etc/apt/sources.list sollte gelöscht werden um konflikte zu vermeidennon-free-firmware, sie wurde von non-free abgespalten und enthält nicht freie firmware paketeComponents: main non-free-firmware (möglichst wenig non-free pakete, aber gleichzeitig kritische firmware pakete)# stable Enabled: yes Types: deb URIs: https://deb.debian.org/debian Suites: trixie trixie-updates trixie-backports Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg Enabled: yes Types: deb URIs: https://deb.debian.org/debian-security Suites: trixie-security Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg # testing Enabled: no Types: deb URIs: https://deb.debian.org/debian Suites: forky forky-updates forky-backports Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg Enabled: no Types: deb URIs: https://deb.debian.org/debian-security Suites: forky-security Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg # unstable Enabled: no Types: deb URIs: https://deb.debian.org/debian Suites: sid Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
falls der debian archiv keyring nicht aktuell oder kaputt ist:
# debian archive keyring installieren apt upgrade debian-archive-keyring # alternative: debian archive keyring neuinstallieren und dabei originale keys wiederherstellen (z.b. falls ausversehen gelöscht/verändert) apt reinstall -o Dpkg::Options::="--force-confmiss,confnew" debian-archive-keyring
tags für suche: apt-get, apt, aptitude, update, upgrade, dist-upgrade, full-upgrade, autoremove
Dieses Skript in den PATH legen (z.B. /usr/local/sbin/upgrade.sh oder /root/.local/bin/upgrade.sh) und dann als root mit upgrade.sh aufrufen
#!/bin/bash #------------------------------------------------------------------------------# # # totsicheres Update # es sollte alle gängigen Probleme, durch mehrmahligen Aufruf, beheben # #------------------------------------------------------------------------------# time ( #apt -y purge plymouth locale-gen ; rm -fr /var/lib/apt/lists/partial/* ; apt-get -y autoclean ; apt-get -y autoremove ; apt -y autoclean ; apt -y autoremove ; dpkg --configure -a ; apt-get -y dist-upgrade ; apt-get -y autoclean ; apt-get -y autoremove ; apt -y autoclean ; apt -y autoremove ; apt install linux-headers-generic linux-image-generic ; apt autoremove apt -y update && apt -y full-upgrade #apt -y install ubuntu-drivers-common alsa-utils #ubuntu-drivers install ) && echo OK dpkg --configure -a #ubuntu-drivers devices #fwupdmgr get-upgrades apt -y purge $(dpkg -l | sed "s/^ic[ ]*//;s/ .*//" | grep -E ^linux-) apt -y purge $(dpkg -l | sed "s/^rc[ ]*//;s/ .*//" | grep -E ^linux-) dpkg -l | awk '/linux-/{print $1,$2}' lsb_release -a uname -a cat /var/run/reboot-required
Dieses Skript in den PATH legen (z.B. ~/.local/bin/up.sh) und dann mit up.sh aufrufen
#!/usr/bin/env bash set -o nounset set -o pipefail has_sudo=false is_root=false sudo="" if test "${EUID}" -eq 0 then is_root=true fi if test "${is_root}" = false && command -v sudo > /dev/null 2>&1 && id -nG "${USER}" | grep -Eqw 'admin|sudo|wheel' then has_sudo=true sudo -v while true do sleep 60 sudo -nv kill -0 "$$" || exit done > /dev/null 2>&1 & fi if test "${has_sudo}" = true then sudo="sudo -H" fi # apt if command -v apt > /dev/null 2>&1 && { test "${has_sudo}" = true || test "${is_root}" = true; } then kernel=(linux-headers-generic linux-image-generic) if apt-cache show raspberrypi-bootloader > /dev/null 2>&1 then kernel=(raspberrypi-bootloader raspberrypi-kernel raspberrypi-kernel-headers) fi time { ${sudo} locale-gen && ${sudo} dpkg --configure -a && ${sudo} apt-get update && ${sudo} apt-get autoclean && ${sudo} apt-get autoremove && ${sudo} apt-get install "${kernel[@]}" && ${sudo} apt-get dist-upgrade && ${sudo} apt-get autoremove && ${sudo} dpkg --configure -a } exit_code="${?}" reboot_required="" if test -e /run/reboot-required || test -e /run/reboot-required.pkgs then reboot_required=" -> REBOOT REQUIRED" fi if test "${exit_code}" -eq 0 then printf "\nAPT SUCCEEDED%s\n\n" "${reboot_required}" else printf "\nAPT FAILED%s\n\n" "${reboot_required}" fi fi # brew if command -v brew > /dev/null 2>&1 && test "${is_root}" = false then brew update && brew upgrade && brew upgrade --cask --greedy printf "\n" fi # dnf if command -v dnf > /dev/null 2>&1 && { test "${has_sudo}" = true || test "${is_root}" = true; } then time { ${sudo} dnf --refresh upgrade && ${sudo} dnf autoremove } exit_code="${?}" reboot_required="" if ! ${sudo} dnf needs-restarting -r > /dev/null 2>&1 then reboot_required=" -> REBOOT REQUIRED" fi if test "${exit_code}" -eq 0 then printf "\nDNF SUCCEEDED%s\n\n" "${reboot_required}" else printf "\nDNF FAILED%s\n\n" "${reboot_required}" fi fi # flatpak if command -v flatpak > /dev/null 2>&1 then flatpak update printf "\n" fi if test "${has_sudo}" = true && ${sudo} bash -c 'command -v flatpak > /dev/null 2>&1' then ${sudo} flatpak update printf "\n" fi # pipx if command -v pipx > /dev/null 2>&1 then pipx upgrade-all printf "\n" fi if test "${has_sudo}" = true && ${sudo} bash -c 'command -v pipx > /dev/null 2>&1' then ${sudo} pipx upgrade-all printf "\n" fi