Ak­tua­li­sie­rung, Re­pa­ra­tur und Be­rei­ni­gung von De­bi­an, Ubun­tu und Mint

Da ich gern mein De­bi­an ba­sie­ren­des Sys­tem selbst ak­tua­li­sie­ren woll­te, hat­te ich mir die­ses Bash-Script ge­schrie­ben. Zu­dem lö­sche ich da­mit alte Ker­nel die ich nicht mehr nut­ze und re­pa­rie­re miss­glück­te Ak­tua­li­sie­run­gen. Also hier mein zwei­tes Script.

In­halts­ver­zeich­nis

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 be­nannt, da die ers­ten drei Kom­man­dos mit der Vor­sil­be “up” be­gin­nen. Und nun auch or­dent­lich mit Da­tei­na­mens­er­wei­te­rung, Ex­ten­si­on, “.sh” für “Shell”, be­zie­hungs­wei­se wie in die­sen Fall “Bash”.

Er­läu­te­run­gen

Dies­mal habe ich nur den Kom­men­tar auf deutsch ge­schrie­ben. Denn ich möch­te ent­spre­chend der GPL, dass die­ses Script alle Men­schen nut­zen kön­nen. Der Auf­ruf des Script muss mit er­wei­ter­ten Rech­ten ge­sche­hen, da­her “su” oder “sudo” nut­zen, je nach­dem was Sie ein­ge­rich­tet ha­ben.

Wer das Script beim Ab­ar­bei­ten der Be­feh­le bes­ser be­ob­ach­ten möch­te, kann die Op­ti­on “-x” von “sh” da­zu­neh­men.

sudo sh -x ~/3up.sh

Bei mög­li­chen Feh­ler­mel­dun­gen, ein­fach das Script noch­mal star­ten, dann sind die Feh­ler beim ers­ten Auf­ruf von den nach­fol­gen­den Be­feh­len be­ho­ben oder wer­den beim zwei­ten Auf­ruf von den vor­he­ri­gen Kom­man­dos im Script kor­ri­giert.

Bei­spiels­wei­se wur­de mir ei­nes Ta­ges beim ers­ten Auf­ruf des Scripts “zu­rück­ge­hal­te­ne Pa­ke­te” ge­mel­det und beim so­for­ti­gen zwei­ten Auf­ruf, kam die­se Feh­ler­mel­dung nicht mehr.

De­tail­liert

Hier die nun die ein­zel­nen Be­feh­le er­klärt. Ei­ni­ges sieht even­tu­ell über­flüs­sig aus, aber die­se Red­un­danz hat mit ge­hol­fen man­chen Feh­ler der Ak­tua­li­sie­rung zu Um­schif­fen, sie­he die bei­den ers­ten und bei­den letz­ten Be­feh­le.

## 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 hof­fe ich auf Feed­back, weil die­ses Script be­stimmt zu ver­bes­sern ist.

Ihr Kom­men­tar | Ihre Spen­de[Pos1] Sei­ten­an­fang