Dies ist eine alte Version des Dokuments!
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.
- automatisch aus stable installieren (Priorität
500) - niemals automatisch aus testing installieren (Priorität
-1) - niemals automatisch aus unstable installieren (Priorität
-1)
- /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
- siehe
- seit debian 13 ist das deb822 format standard (siehe
man deb822), die standard datei für apt quellen ist nun/etc/apt/sources.list.d/debian.sources- die alte datei
/etc/apt/sources.listsollte gelöscht werden um konflikte zu vermeiden
- seit debian 12 gibt es die neue komponente
non-free-firmware, sie wurde vonnon-freeabgespalten und enthält nicht freie firmware pakete- dadurch wird folgende konfiguration erleichtert:
Components: main non-free-firmware(möglichst wenig non-free pakete, aber gleichzeitig kritische firmware pakete)
- /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. ~/.local/bin/up.sh) und dann mit up.sh aufrufen
- supported: apt (debian), brew (linux/macos), dnf (fedora), flatpak (linux) und pipx (linux/macos)
- not supported: doas (sudo alternative)
- ohne sudo aufrufen, weil sudo am anfang des skripts aufgerufen wird (wenn user in der richtigen gruppe ist und nicht root ist)
- bevorzugt als sudoer aufrufen (nicht als root) wegen flatpak usw., funktioniert aber auch als root oder nicht sudoer, code blöcke werden je nachdem dann übersprungen
- up.sh
#!/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
