Arch-update.sh

Da hier so nette Leute sind, wollte ich mal was geben und nicht nur holen :slight_smile: 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
2 Likes

Befindet sich auch das Pendant zu eos-update --yay in deinem Script?

Nein, da ich nur 2 Pakete von AUR nutze, hatte ich das nicht mit eingebaut. Aber es steht Dir ja nichts im Wege, den Teil des Skripts aus dem welcome-Skript zu inkludieren.