APT: Immer remove statt purge (Lösung gefunden!)

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
inne
Beiträge: 3293
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

APT: Immer remove statt purge (Lösung gefunden!)

Beitrag von inne » 13.06.2015 12:33:07

Hallo,

ich will mir angewöhnen statt apt-get purge nur noch ein remove zu tun. Kann ich APT konfigurieren das mir ein purge verwehrt wird mit dem hinweis remove bzw. purge --tue-purge-dennoch auszuführen?
Zuletzt geändert von Anonymous am 17.06.2015 10:54:01, insgesamt 3-mal geändert.

Benutzeravatar
Patsche
Beiträge: 3263
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

Re: APT: Immer remove statt purge

Beitrag von Patsche » 13.06.2015 17:11:40

Reine Neugier:
Warum möchtest du dieses Verhalten haben? Was ist an einem "purge" so verkehrt?

inne
Beiträge: 3293
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: APT: Immer remove statt purge

Beitrag von inne » 13.06.2015 17:22:22

Es löscht mir auch die Konfigurationsdateien etc.
Ich habe gerade ein paar Daemons de-installiert mit remove, und da kam mir die Idee das ich hier genre eine Sperre wie oben beschrieben für purge hätte. Manchmal tippe ich Befehle zu schnell auswendig in die Konsole und dann ists passiert...

Benutzeravatar
PatrickX
Beiträge: 21
Registriert: 17.02.2015 18:54:19

Re: APT: Immer remove statt purge

Beitrag von PatrickX » 13.06.2015 17:45:31

Als Admin solltest Du wissen was Du tust. ;-)

DeletedUserReAsG

Re: APT: Immer remove statt purge

Beitrag von DeletedUserReAsG » 13.06.2015 18:39:51

Schreib’ dir doch ein kleines Wrapperscript, speichere das nach z.B. ~/bin/aptitude und setze das Verzeichnis in der PATH vor /usr/bin

Glaube nicht, dass bei Aptitude vorgesehen ist, explizit anzugebende Optionen zu blockieren – das ist nicht ausreichend sinnvoll, um’s einzubauen.

pferdefreund
Beiträge: 3799
Registriert: 26.02.2009 14:35:56

Re: APT: Immer remove statt purge

Beitrag von pferdefreund » 16.06.2015 19:37:39

Außerdem sind die daemonen normalerweise in /etc konfiguriert und davon hat man eh ein Backup oder ne zeitnahe kopie - ist ja nicht viel von der Größe her...

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: APT: Immer remove statt purge

Beitrag von Cae » 17.06.2015 01:39:05

Ich glaube, du versuchst das falsche Problem zu loesen. Der Loesungsansatz hier will verhindern, dass der Paketmanager purgt, aber das eigentliche Problem ist, dass hinterher Konfigurationsdateien weg sind. Das loest man ueber Backups, hier bietet sich der (sogar schick in dpkg integrierte) Debianetckeeper an. Den kann man auch gleich fuer das Durchtesten unterschiedlicher Konfigurationen verwenden.

Ansonsten waere ein Wrapperskript a la

Code: Alles auswählen

#!/bin/sh

purge=
force=

for arg in "$@"; do
	case "$arg" in
	purge)
		purge=1
		;;
	--purge)
		force=1
		;;
	esac
done

if [ -n "$purge" -a -z "$force" ]; then
	echo >&2 "$0: used 'purge' without '--purge'"
	exit 2
fi

exec /usr/bin/apt-get "$@"
moeglich. Hier wird --purge verwendet, um Purgen zu erzwingen. Es ist bereits eine valide apt-get-Option, damit erspare ich mir das Herauspfluecken des Parameters im Nachhinein.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

inne
Beiträge: 3293
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: APT: Immer remove statt purge

Beitrag von inne » 17.06.2015 10:00:03

Ein Backup habe ich (auch wenn das immer ein paar Tage bzw. Aktionen/Installationen hinterher hingt).
Es nervt nur dennoch das Backup rauszusuchen für die Wiederherstellung, da finde ich den Wrapper von Cae eine schöne Sache.

Ich habe mir das Skript von Cae auf meinen Raspberry PI Heimserver installiert und es gefällt mir sehr gut. Einzig eine weitere Notiz lasse ich mir auf STDOUT ausgeben (die lezten zwei Zeilen). Damit ich auch später noch weiss warum ich diesen Wrapper haben wollte:

Code: Alles auswählen

apt-get purge motion
/root/bin/apt-get: Used 'purge' without '--purge'!
Are you sure to purge all configuration files too?
DON'T DO THIS! You have been warned. Use apt-get remove instead!
Kannst du @Cae noch was zum Exit-Code 2 und vielliecht auch zur APT-Konfigurationsvarible APT::Get::Purge sagen. Aber ich denke der Wrapper verhält sich richtig und verlangt den Schalter --purge immer zusätzlich als Ausdruck absoluten Gehorsam ;-)

Danke dafür...
Zuletzt geändert von Anonymous am 17.06.2015 10:31:38, insgesamt 2-mal geändert.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: APT: Immer remove statt purge

Beitrag von Cae » 17.06.2015 10:26:21

inne hat geschrieben:Kannst du @Cae noch was zum Exit-Code 2 [...] sagen.
Warum ich genau 2 als Returncode verwende? Gute Frage, ich habe mir das wohl so angewoehnt. Meine Skripte returnen immer 0, wenn der Lauf erfolgreich ist, zumeist 1, wenn dabei etwas unerwartet schief gegangen ist, und haeufig 2, wenn der Anwender etwas falsch gemacht hat. In diesem Fall sind das ungueltige Parameter-Kombinationen. Ich bin mir nicht sicher, ob das wirklich standardisiert ist, aber die Shell-Builtins verhalten sich genauso:

Code: Alles auswählen

$ [ || echo $?   # ungueltiger Aufruf
sh: 1: [: missing ]
2
$ [ ] || echo $? # Bedingung nicht erfuellt
1
$ 
Teilweise schleife ich auch den letzten Returncode als $ret durch, also etwa

Code: Alles auswählen

#!/bin/sh

do_something
ret="$?"

case "$ret" in
0)
	;;
8)
	echo >&2 "$0: do_something() returned $ret, ignoring..."
	;;
*)
	echo >&2 "$0: do_something() failed with code $ret"
	exit "$ret"
	;;
esac
APT::Get::Purge scheint so etwas wie ein dauerhaftes --purge zu sein (siehe apt-get(8)), welches apt-get remove effektiv zu einem Alias von apt-get purge macht. Die Gegenrichtung scheint nicht zu tun, also ein explizites Abschalten von purge.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Antworten