Aktualisierung, Reparatur und Bereinigung von Debian, Ubuntu und Mint

Da ich gern mein Debian basieren­des Sys­tem selb­st aktu­al­isieren wollte, hat­te ich mir dieses Bash-Script geschrieben. Zudem lösche ich damit alte Ker­nel die ich nicht mehr nutze und repariere miss­glück­te Aktu­al­isierun­gen. Also hier mein zweites Script.

Inhaltsverzeichnis

Das Script “3up.sh”

#!/bin/bash

# Author:	Frank Rosenberger <https://ro-kom.de>
# License:	GPL3
# Date:		2017-01-31
# Scriptname:	3up.sh
# Version:	0.3
# Description:	complexity update, upgrade and clearing

if apt list --upgradable && apt update && apt upgrade && apt full-upgrade && dpkg --configure -a && apt install -f && apt clean && apt autoremove && apt autoremove --purge
then
	echo $(basename './u' .sh) "successful"
else
	echo $(basename './u' .sh) "error!"
	exit [n]
fi

echo "Script end"

: <<commend

Eingabe im Terminal:
sudo sh ~/3up.sh
Multiple Ausgaben im Terminal.

commend

Das Script habe ich so benan­nt, da die ersten drei Kom­man­dos mit der Vor­silbe “up” begin­nen. Und nun auch ordentlich mit Dateina­menser­weiterung, Exten­sion, “.sh” für “Shell”, beziehungsweise wie in diesen Fall “Bash”.

Erläuterungen

Dies­mal habe ich nur den Kom­men­tar auf deutsch geschrieben. Denn ich möchte entsprechend der GPL, dass dieses Script alle Men­schen nutzen kön­nen. Der Aufruf des Script muss mit erweit­erten Recht­en geschehen, daher “su” oder “sudo” nutzen, je nach­dem was Sie ein­gerichtet haben.

Wer das Script beim Abar­beit­en der Befehle bess­er beobacht­en möchte, kann die Option “-x” von “sh” dazunehmen.

sudo sh -x ~/3up.sh

Bei möglichen Fehler­mel­dun­gen, ein­fach das Script nochmal starten, dann sind die Fehler beim ersten Aufruf von den nach­fol­gen­den Befehlen behoben oder wer­den beim zweit­en Aufruf von den vorheri­gen Kom­man­dos im Script kor­rigiert.

Beispiel­sweise wurde mir eines Tages beim ersten Aufruf des Scripts “zurück­ge­hal­tene Pakete” gemeldet und beim sofor­ti­gen zweit­en Aufruf, kam diese Fehler­mel­dung nicht mehr.

Detailliert

Hier die nun die einzel­nen Befehle erk­lärt. Einiges sieht eventuell über­flüs­sig aus, aber diese Redun­danz hat mit geholfen manchen Fehler der Aktu­al­isierung zu Umschif­f­en, siehe die bei­den ersten und bei­den let­zten Befehle.

## Das "Advanced Packaging Tool", apt,  sucht nach aktuellen Versionen der installierten Pakete.
# apt list --upgradable

## Alle Einträge der sources.list einlesen und die Listen aktualisieren.
# apt update

## Die vom vorherigen Befehl aktualisierten Paketlisten nutzen um neuere Versionen herunterzuladen UND zu installieren UND zu starten, wenn es ohne Neustart des Betriebssystems möglich ist.
# apt upgrade

## Hiermit können auch obsolete Pakete entfernt werden. Vorsicht bei Fremdquellen, diese sind abhängig vom Eigensinn der Entwickler und damit unberechenbar.
# apt full-upgrade

## Mit der Option -a kann der "Debian Package Manager" alle entpackten aber nicht konfigurierten Pakete konfigurieren.
# dpkg --configure -a

## Hiermit werden fehlende Abhängigkeiten aufgelöst.
# apt install -f

## Der Cache fĂĽr Installationsdateien wird geleert. Der Befehl "autoclean" entfernt nur die Installationsdateien, die nicht mehr in den Repositorien zur VerfĂĽgung stehen.
# apt clean

## Ungenützte Abhängigkeiten werden entfernt.
# apt autoremove

## Ungenützte Abhängigkeiten werden entfernt, einschließlich die  damit verbundenen systemweiten Konfigurationen.
# apt autoremove --purge

## Nach den Befehlen erhalten Sie eine Statusmeldung, ob das Script erfolgreich alles abarbeiten konnte oder Fehler auftraten.
# then
	echo $(basename './u' .sh) "successful"
else
	echo $(basename './u' .sh) "error!"
	exit [n]

## Und damit damit Sie sicher sind, dass das Script abgeschlossen wurde, noch eine Meldung.
# echo "Script end"

Nun hoffe ich auf Feed­back, weil dieses Script bes­timmt zu verbessern ist.

Ihr Kom­men­tar⬆ Inhaltsverze­ich­nis