GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von dirk11 » 22.02.2018 22:32:40

Nabend Leute,

heute habe ich es endlich gewagt und meinen Homeserver von Debian 8 auf Debian 9 upgegradet. Hat so weit erstaunlich gut funktioniert, aber seit der neuen Version - genau genommen schon seit der Upgrade-Routine mit apt-get - bekomme ich auf der Kommandozeile oft die folgende Fehlermeldung, z.B. nach dem Ausführen einer Installation oder Purge mit apt-get oder auch mit aptitude:

Code: Alles auswählen

grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
Jemand eine Idee, woran das liegt und wie ich das abstellen kann?

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von NAB » 23.02.2018 00:19:43

Das ist kein "Fehler" sondern nur eine "Warnung".

Irgendwas setzt die Umgebungsvariable "GREP_OPTIONS". Keine Ahnung, was das ein könnte.

Ist die generell bei dir gesetzt?

Code: Alles auswählen

echo $GREP_OPTIONS
Du könntest im System herumstochern ...

Code: Alles auswählen

grep "GREP_OPTIONS" /etc/*
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

breakthewall
Beiträge: 507
Registriert: 30.12.2016 23:48:51

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von breakthewall » 23.02.2018 00:58:16

Die Meldung deutet ja bereits daraufhin, dass diese Umgebungsvariable nicht länger verwendet wird. Aber sie wird offenbar global gesetzt, sonst würdest diese Meldung nicht bei so vielen Kommandozeilen sehen. Vermutlich ist das noch eine alte Konfiguration aus dem vorherigen Debian 8, wo ich spontan auf die .bashrc unter /home, oder die globale Bash-Konfiguration unter /etc tippen würde. Und wie der Vorposter schon sagte, solltest mal mit grep nach dieser Umgebungsvariable suchen.

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von dirk11 » 23.02.2018 01:07:12

Danke, gefunden: es gab eine Zeile

Code: Alles auswählen

export GREP_OPTIONS='--color=auto'
sowohl in der /etc/bash.bashrc als auch in der /etc/profile
Die ist dann wohl nicht mehr korrekt. Wie kann ich das Verhalten erreichen, ohne das diese Fehlermeldung kommt?

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von NAB » 23.02.2018 01:50:53

dirk11 hat geschrieben: ↑ zum Beitrag ↑
23.02.2018 01:07:12
Wie kann ich das Verhalten erreichen, ohne das diese Fehlermeldung kommt?
Ich würd das tun, was die Fehlermeldung sagt. Ein Script oder ein Alias benutzen:
https://github.com/mathiasbynens/dotfiles/issues/467
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von dirk11 » 23.02.2018 07:13:58

Eine Mischung aus beiden löst es.

Eine ausführbare Datei /usr/local/bin/dgrep erstellt:

Code: Alles auswählen

#!/bin/sh
grep --color -n "$@"
und dann noch zusätzlich in /etc/bash.bashrc und in /etc/profile folgende Zeile hinzugefügt:

Code: Alles auswählen

alias grep='/usr/bin/dgrep'
Ein kurzer Funktionstest zeigt zumindest keine Probleme.

Danke! :THX:

Benutzeravatar
hikaru
Moderator
Beiträge: 13585
Registriert: 09.04.2008 12:48:59

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von hikaru » 23.02.2018 08:16:49

dirk11 hat geschrieben: ↑ zum Beitrag ↑
23.02.2018 07:13:58
Eine Mischung aus beiden löst es.
Warum so kompliziert? Einfach einen alias erstellen und fertig!:

Code: Alles auswählen

alias grep='/bin/grep --color -n'
Allerdings finde ich es konzeptuell unschön, die Standardausgabe eines Standardprogramms strukturell zu verändern.
Jedes Programm (z.B. Script) das nun die Ausgabe von grep parst läuft Gefahr, über die vorangestellte Zeilennummer zu stolpern. Das lässt sich einfach abfangen, indem man im Script nicht grep sondern /bin/grep aufruft, was man genau deshalb sowieso machen sollte, aber sich darauf zu verlassen, dass jedes Script so arbeitet halte ich für unglücklich.
Besser wäre mMn, sich einen alternativen alias-Namen zu überlegen.

Benutzeravatar
MSfree
Beiträge: 10741
Registriert: 25.09.2007 19:59:30

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von MSfree » 23.02.2018 08:23:06

hikaru hat geschrieben: ↑ zum Beitrag ↑
23.02.2018 08:16:49
Jedes Programm (z.B. Script) das nun die Ausgabe von grep parst läuft Gefahr, über die vorangestellte Zeilennummer zu stolpern.
Skripte greifen nicht auf die deklarierten Aliase zu.

Benutzeravatar
hikaru
Moderator
Beiträge: 13585
Registriert: 09.04.2008 12:48:59

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von hikaru » 23.02.2018 10:23:39

MSfree hat geschrieben: ↑ zum Beitrag ↑
23.02.2018 08:23:06
Skripte greifen nicht auf die deklarierten Aliase zu.
Im Normalfall nicht. Aber im Normalfall ruft in Scripts auch keiner Kommandos ohne Pfad auf.
Mein Punkt ist, dass man sich nach Möglichkeit nicht darauf verlassen sollte, dass sich andere Teile einer Verarbeitungskette wie erwartet verhalten. Man selbst sollte aber immer bestrebt sein, eine Umgebung bereitzustellen, die sich wie erwartet verhält.

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von dirk11 » 23.02.2018 11:53:00

Grmpf. Man sollte Dinge nicht vor dem ersten Kaffee ausprobieren. Weder meine "Lösung" (welche keine Zeilennummerierung zeigt!?) noch die von hikaru wirft auf die Zeile

Code: Alles auswählen

~# find /usr/share -name '*.txt' |xargs grep testing
eine farbige Ausgabe aus. :?

Benutzeravatar
hikaru
Moderator
Beiträge: 13585
Registriert: 09.04.2008 12:48:59

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von hikaru » 23.02.2018 12:50:14

Du siehst keine Farbe, weil dein grep-Alias über den nicht-interaktiven xargs-Aufruf nicht greift, genau wie MSfree schrieb.
Deine Lösung sollte aber Farbe ausgeben, wenn du via xargs direkt dein dgrep-Script aufrufst, denn da ist kein kontextsensitiver Alias im Spiel.

Allerdings ist deine Lösung unnötig teuer. Du brauchst hier kein find, das kann grep auch allein:

Code: Alles auswählen

grep -r --color --include="*.txt" testing /usr/share

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von dirk11 » 23.02.2018 15:36:45

Meine Lösung ist keine Lösung, sondern das mit dem find ist nur ein Beispiel. Ich will einfach grundsätzlich farbige Ausgabe, damit sofort ge-highlighted ist, wo ein Suchergebnis steht.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von NAB » 23.02.2018 16:04:49

Du könntest es so lassen, wie es vorher war, mit "GREP_OPTIONS". Das wird solange fuktionieren, bis grep auf GREP_OPTIONS halt nicht mehr reagiert. Das kann noch Jahre dauern.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von dirk11 » 23.02.2018 17:32:22

Ja. Das Problem ist, daß die blöde Meldung, daß das deprecated ist, z.B. nach Fertigstellung einer Installation von auch nur einem Paket mit aptitude bestimmt 30-40x hintereinander auftaucht. Das ist extrem störend.

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von Meillo » 23.02.2018 20:35:47

dirk11 hat geschrieben: ↑ zum Beitrag ↑
23.02.2018 15:36:45
Ich will einfach grundsätzlich farbige Ausgabe, damit sofort ge-highlighted ist, wo ein Suchergebnis steht.
Dann nenne dein Shellscript ebenfalls `grep' und kopiere es in ein Verzeichnis weiter vorne in $PATH, z.B. /usr/local/bin oder ~/bin. Dann ist alles genau so wie du es haben willst.
Use ed once in a while!

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von dirk11 » 24.02.2018 18:50:45

Mhmm. Das war zumindest beim ersten Aufruf sichtbar langsam, und da sind dann tatsächlich diese Zeilennummern drin. Es gibt anscheinend keine befriedigende Lösung für das Problem. Oder gibt es eine Möglichkeit, das ganze andersherum anzugehen und die doofe deprecated-Meldung einfach zu unterdrücken?

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von Meillo » 24.02.2018 19:26:01

dirk11 hat geschrieben: ↑ zum Beitrag ↑
24.02.2018 18:50:45
Mhmm. Das war zumindest beim ersten Aufruf sichtbar langsam,
Bezieht sich diese Aussage auf meinen Post?

Nur beim ersten Aufruf oder bei jedem? Du kannst vor den grep-Aufruf (der dazu in der letzten Zeile stehen muss) ein `exec' davor schreiben, dann laeuft es moeglicherweise etwas schneller. Aber die Performance sollte auch sonst kaum langsamer sein.
Es gibt anscheinend keine befriedigende Lösung für das Problem.
Unbefriedigend scheint zu sein, dass diese Variante spuerbar langsamer sei. Ich kann mir kaum vorstellen, dass dies auf einem modernen System nach ein paar Aufrufen noch der Fall sein soll. Diese Vorgehensweise mit Wrapper-Shellscripten setze ich fuer eine Reihe meiner meistgenutzten Kommandos ein und spuere dabei keine Verlangsamung.
Oder gibt es eine Möglichkeit, das ganze andersherum anzugehen und die doofe deprecated-Meldung einfach zu unterdrücken?
Du koenntest dir eine aeltere grep-Version manuell installieren. ;-)
Use ed once in a while!

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: GREP Fehlermeldung nach upgrade auf Debian 9 Stretch

Beitrag von dirk11 » 24.02.2018 19:32:02

Meillo hat geschrieben: ↑ zum Beitrag ↑
24.02.2018 19:26:01
Bezieht sich diese Aussage auf meinen Post?
Ja.
Nur beim ersten Aufruf oder bei jedem? Du kannst vor den grep-Aufruf (der dazu in der letzten Zeile stehen muss) ein `exec' davor schreiben, dann laeuft es moeglicherweise etwas schneller. Aber die Performance sollte auch sonst kaum langsamer sein.
Sieht jetzt so aus:

Code: Alles auswählen

/usr/local/bin/grep
#!/bin/sh
exec /bin/grep --color -n "$@"
Unbefriedigend scheint zu sein, dass diese Variante spuerbar langsamer sei. Ich kann mir kaum vorstellen, dass dies auf einem modernen System nach ein paar Aufrufen noch der Fall sein soll. Diese Vorgehensweise mit Wrapper-Shellscripten setze ich fuer eine Reihe meiner meistgenutzten Kommandos ein und spuere dabei keine Verlangsamung.
Ja, ich nutze das auch für einige andere Dinge, aber hier war es wirklich erkennbar. Wie dem auch sei, bei wiederholten Versuchen tritt das jetzt nicht mehr auf.
Du koenntest dir eine aeltere grep-Version manuell installieren. ;-)
Die Idee ist gar nicht soo verkehrt. Das grep aus Jessie habe ich ja noch mehrfach hier, könnte die bin einfach drüberbügeln.

Antworten