Da hier so nette Leute sind, wollte ich mal was geben und nicht nur holen Hier mein update-script, das ich mit Alias täglich einmal aufrufe. Eventuell möchte es jemand nutzen oder sieht eklatante Fehler. Bei mir läufts seit 5 Jahren problemlos. Die auskommentierten Möglichkeiten sind auch entfernbar.
#!/bin/sh
# Author: Frank Rosenberger <al.hil.go@gmail.com>
# License: GPL3
# Date: 2019-07-14
# Scriptname: arch-updater
# Version: 0.1
# Description: arch-updater
# Source1: https://wiki.archlinux.de/title/Pacman
# Source2: https://wiki.archlinux.de/title/Paketliste_archivieren
# Ausführung schrittweise nachvollziehen
set -x
# Anzeige der Zeilennummer, row weil´s kurz ist :-)
export PS4='+[Zeile: $LINENO] '
# export PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'
# TITEL
printf "Titel: arch-cleaner \n Diese Bereinigung ist nur von Benutzern mit Kenntnnis des Script-Inhaltes zu nutzen! \n Es wird radikal gereinigt und das System sollte fehlerfrei sein vor dieser Reinigung! \n Dieses Script soll im Notfall Speicherplatz freigeben. \n\n"
## BEREINIGUNG
sudo bleachbit --clean --preset --debug-log=~/Logs/bleachbit-sudo.log
# VERSIONSABFRAGE ALT
# printf "pacman Version: "
# pacman --version
# PAKETLISTEN
# Paketliste erstellen mit aktuellem Datum
sudo pacman -Sy && pacman -Qu
# pacman -Qeq > arch-Paketliste_`date +%Y%m%d`.txt
# pacman -Qdq > arch-Pakete_und_Abhaengigkeiten.txt
# pacman -Qqen > arch-Pakete_ohne_AUR.txt
# Wiederherstellung 1. Version
# pacman -S $(cat Paketliste_xxx.txt)
# Wiederherstellung 2. Version
# pacstrap /mnt $(< Pakete.txt)
# BACKUP DER PAKETLISTEN
# Sichern mit Cronjob
# 1 * * * * /usr/bin/pacman -Qqen > ~/Backup/Installierte_Pakete.info
# 1 * * * * /usr/bin/pacman -Qqem > ~/Backup/Installierte_FremdPakete.info
# 15 * * * * /usr/bin/rsync -e ssh ~/Backup/ backupserver:~/Backup/ -avz
# Bestätigung der Ausgabe anzeigen
printf "paketliste_`date +%Y%m%d`.txt ist erstellt. \n \n"
# Lokale Datenbank komplett neu aufbauen und aktualisieren
sudo pacman -Syy
# Löscht veraltete Pakete aus /var/cache/pacman/pkg sowie ungenutzte Repositorien aus /var/lib/pacman/sync. Vorsicht, behalten werden nur aktuell installierte Versionen – Vorversionen für ein Paket-Downgrade sind dann nicht mehr vorhanden.
sudo pacman -Sc --noconfirm
# Löscht verwaiste Pakete
# sudo pacman -Qdtq
sudo pacman -Rsn $(pacman -Qdtq)
# Installiert die Updates
sudo pacman -Syu --noconfirm
# FENSTER OFFEN LASSEN
# read tmp