Aktua­li­sie­rung, Repa­ra­tur und Berei­ni­gung von Debi­an, Ubun­tu und Mint

Da ich gern mein Debi­an basie­ren­des Sys­tem selbst aktua­li­sie­ren woll­te, hat­te ich mir die­ses Bash-Script geschrie­ben. Zudem lösche ich damit alte Ker­nel die ich nicht mehr nut­ze und repa­rie­re miss­glück­te Aktua­li­sie­run­gen. Also hier mein zwei­tes Script.

Inhalts­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 benannt, da die ers­ten drei Kom­man­dos mit der Vor­sil­be “up” begin­nen. Und nun auch ordent­lich mit Datei­na­mens­er­wei­te­rung, Exten­si­on, “.sh” für “Shell”, bezie­hungs­wei­se wie in die­sen Fall “Bash”.

Erläu­te­run­gen

Dies­mal habe ich nur den Kom­men­tar auf deutsch geschrie­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 erwei­ter­ten Rech­ten gesche­hen, daher “su” oder “sudo” nut­zen, je nach­dem was Sie ein­ge­rich­tet haben.

Wer das Script beim Abar­bei­ten der Befeh­le bes­ser beob­ach­ten möch­te, kann die Opti­on “-x” von “sh” dazu­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 Befeh­len beho­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 eines Tages beim ers­ten Auf­ruf des Scripts “zurück­ge­hal­te­ne Pake­te” gemel­det und beim sofor­ti­gen zwei­ten Auf­ruf, kam die­se Feh­ler­mel­dung nicht mehr.

Detail­liert

Hier die nun die ein­zel­nen Befeh­le erklärt. Eini­ges sieht even­tu­ell über­flüs­sig aus, aber die­se Red­un­danz hat mit gehol­fen man­chen Feh­ler der Aktua­li­sie­rung zu Umschif­fen, sie­he die bei­den ers­ten und bei­den letz­ten Befeh­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 bestimmt zu ver­bes­sern ist.

Ihr Kom­men­tar⬆ Sei­ten­an­fang