Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Linux programme deinstallieren mit gleichen namen
- Ersteller bywizard
- Erstellt am
Madman1209
Fleet Admiral
- Registriert
- Nov. 2010
- Beiträge
- 28.100
Hi,
"*" als Wildcard sollte doch klappen, oder?
VG,
Mad
"*" als Wildcard sollte doch klappen, oder?
VG,
Mad
KurzGedacht
Lt. Commander
- Registriert
- Mai 2013
- Beiträge
- 1.756
Hängt von deiner Linux Distribution bzw. von deinem Paketmanager.
Bspw mit apt remove cusps* unter ubuntu
Bspw mit apt remove cusps* unter ubuntu
Raijin
Fleet Admiral
- Registriert
- Nov. 2007
- Beiträge
- 18.285
Das kommt nicht zuletzt auch auf den Paketmanager an.
Soweit ich das im Kopf habe, matched zumindest apt-get aber auf den Suchstring an JEDER Position des Paketnamens. Das heißt, dass man im worst case eben nicht nur alle "cups......" Pakete entfernt, sondern auch alle Pakete, die was weiß ich "blacupsblub" heißen. Das kann gewollt sein, kann aber auch in die Hose gehen, wenn damit Pakete gematched werden, die nichts mit dem zu tun haben, was man eigentlich deinstallieren wollte.
apt-get remove ^cups
In dieser Form müssten nur die Pakete ausgewählt werden, die mit "cups" beginnen. Den Stern braucht man in dem Falle gar nicht, wenn ich mich nicht täusche.
Soweit ich das im Kopf habe, matched zumindest apt-get aber auf den Suchstring an JEDER Position des Paketnamens. Das heißt, dass man im worst case eben nicht nur alle "cups......" Pakete entfernt, sondern auch alle Pakete, die was weiß ich "blacupsblub" heißen. Das kann gewollt sein, kann aber auch in die Hose gehen, wenn damit Pakete gematched werden, die nichts mit dem zu tun haben, was man eigentlich deinstallieren wollte.
apt-get remove ^cups
In dieser Form müssten nur die Pakete ausgewählt werden, die mit "cups" beginnen. Den Stern braucht man in dem Falle gar nicht, wenn ich mich nicht täusche.
Raijin schrieb:Soweit ich das im Kopf habe, matched zumindest apt-get aber auf den Suchstring an JEDER Position des Paketnamens.
Nein.
Das wäre dann
*suchstring*
Und dann hätte ich schon so oft was deinstalliert.
Ich glaube eher was passiert, und weshalb du das vielleicht meinst, ist dass wohl nicht nur der Name durchsucht wird, sondern auch irgendwelche Tags.
Raijin
Fleet Admiral
- Registriert
- Nov. 2007
- Beiträge
- 18.285
Quelle: apt-get man pageinstall
[..]
If no package matches the given expression and the expression contains one of ".", "?" or "" then it is assumed to be a POSIX regular expression, and it is applied to all package names in the database. Any matches are then installed (or removed). Note that matching is done by substring so "lo.*" matches "how-lo" and "lowest". If this is undesired, anchor the regular expression with a "^" or "$" character, or create a more specific regular expression.
Ich habe gerade nur Zugang zu unserem Firmen-Linux-Server und da will ich jetzt nicht wild Pakete (de)installieren, aber zumindest bei "apt-cache search keyword" verhält es sich genau so. Ob das 1:1 auf apt-get übertragbar ist, kann ich gerade mangels Testsystem nicht sagen. Allerdings muss ich dir dahingehend Recht geben, dass offenbar auch die Beschreibung und etwaige Tags bei apt-cache durchsucht werden - keine Ahnung ob apt-get das auch tut.
Wie auch immer, man sollte das vielleicht im Hinterkopf behalten, dass sich unpräziser regulärer Ausdruck nicht unbedingt so verhält wie man es gerne hätte.
Raijin schrieb:keine Ahnung ob apt-get das auch tut
Ja.
Um ehrlich zu sein beziehe ich mich nur auf apt-get.
apt purge cups* entfernt alle packages die mit cups anfangen
apt purge cups.* wiederrum entfernt auch packages die den suchstring cups irgendwo im dateinamen beinhaltet, z.b. libcups ..
ich würde persönlich jetzt auch nicht mit posix deinstallieren, eher mit dpkg -l | grep cups anzeigen lassen welche packages installiert sind, manuell deinstallieren und vielleicht mit apt autoremove nochmal nicht benötigte packages automatisch deinstallieren lassen.
apt purge cups.* wiederrum entfernt auch packages die den suchstring cups irgendwo im dateinamen beinhaltet, z.b. libcups ..
ich würde persönlich jetzt auch nicht mit posix deinstallieren, eher mit dpkg -l | grep cups anzeigen lassen welche packages installiert sind, manuell deinstallieren und vielleicht mit apt autoremove nochmal nicht benötigte packages automatisch deinstallieren lassen.
Raijin
Fleet Admiral
- Registriert
- Nov. 2007
- Beiträge
- 18.285
In der Tat, cups* wird anders interpretiert als cups.* obwohl es in der man page anders steht - oder ich lese es falsch. Scheinbar wird cups* intern als ^cups.* interpretiert.
Wie dem auch sei, so oder so sollte man Vorsicht walten lassen, wenn man mit wildcards Pakete (de)installiert, weil das unter Umständen eben nicht unbedingt zu dem gewünschten Ergebnis führt.
Wie dem auch sei, so oder so sollte man Vorsicht walten lassen, wenn man mit wildcards Pakete (de)installiert, weil das unter Umständen eben nicht unbedingt zu dem gewünschten Ergebnis führt.
Raijin
Fleet Admiral
- Registriert
- Nov. 2007
- Beiträge
- 18.285
Schon, aber man muss dann eben auch ganz genau hinsehen was (de)installiert oder aktualisiert wird und ich gehe jede Wette ein, das 8 von 10 Otto Normals ohne mit der Wimper zu zucken einfach auf y drückt oder gar direkt nur enter für default-y
mensch183
Captain
- Registriert
- Jan. 2008
- Beiträge
- 3.666
Dass sie unterschiedlich interpretiert werden ist (wenn die man-page stimmt) völlig korrekt. Nur ganz anders als oben beschrieben. In der man-page steht jedenfalls, dass das Muster als Posix RegExp interpretiert wird, sobald u.a. ein * drin ist, was in beiden Beispielen so ist. D.h. insbesondere, dass der Stern NICHT als "keins bis mehrere bliebige Zeichen" interpretiert wird wie beim Globbing in einer Shell (denk an "ls -l *.txt" in der bash).Raijin schrieb:In der Tat, cups* wird anders interpretiert als cups.* obwohl es in der man page anders steht - oder ich lese es falsch.
In Posix RegExps steht der Stern für was ganz anderes, nämlich für "das Zeichen unmittelbar davor 0 bis viele Male". Beachte die 0! x* passt auf einen Nullstring, auf x, auf xx, auf xxx usw. Statt des x* kann man auch x{0,} schreiben. Der Punkt "." in Posix RegExps entspricht dem "?" in Globs, also "ein beliebiges Zeichen".
cups* heißt cup und dahinter null bis viele s-Zeichen.
cups.* heißt cups und dahinter null bis viele Male das eine beliebige Zeichen.
Und das wird dann jeweils als Substring auf die Paketnamen gematcht. Sind also verschiedene Dinge. xxxcupxxx passt aufs erste Muster, nicht aber aufs zweite.
DISCLAIMER: Ich habs nicht probiert, aber so stehts in der man-page.
Bei Angst, sich mit apt-get selbst ins Knie zu schießen, ist die Option -s (für "simulate") nützlich.Raijin schrieb:Schon, aber man muss dann eben auch ganz genau hinsehen was (de)installiert oder aktualisiert wird
Zuletzt bearbeitet:
Ähnliche Themen
- Antworten
- 7
- Aufrufe
- 28.038
- Antworten
- 5
- Aufrufe
- 2.077
C
- Antworten
- 3
- Aufrufe
- 4.073
- Antworten
- 13
- Aufrufe
- 1.955