Inhaltsverzeichnis

Apt

siehe: APT (Debian/Ubuntu)

APT Einstellungen

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.

/etc/apt/preferences.d/debian.pref
# 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

APT Quellen

/etc/apt/sources.list.d/debian.sources
# 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

Upgrade

tags für suche: apt-get, apt, aptitude, update, upgrade, dist-upgrade, full-upgrade, autoremove

Skript

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

upgrade.sh
#!/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

Alternatives Skript

Dieses Skript in den PATH legen (z.B. /usr/local/bin/upgrade.sh oder ~/.local/bin/upgrade.sh) und dann mit upgrade.sh und/oder sudo upgrade.sh aufrufen

upgrade.sh
#!/usr/bin/env bash
 
set -o errexit
set -o nounset
set -o pipefail
shopt -s inherit_errexit
 
if command -v pipx > /dev/null
then
	pipx upgrade-all
	printf "\n"
fi
 
if test "${EUID}" -ne 0
then
	if command -v flatpak > /dev/null
	then
		flatpak update
		printf "\n"
	fi
fi
 
if test "${EUID}" -eq 0
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 {
		locale-gen &&
		dpkg --configure -a &&
		apt-get update &&
		apt-get autoclean &&
		apt-get autoremove &&
		apt-get install "${kernel[@]}" &&
		apt-get dist-upgrade &&
		apt-get autoremove &&
		dpkg --configure -a
	}
 
	exit_code="${?}"
 
	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 "\nUPDATE SUCCEEDED%s\n" "${reboot_required:-}"
	else
		printf "\nUPDATE FAILED%s\n" "${reboot_required:-}"
	fi
 
	exit "${exit_code}"
fi