• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved] Einträge in der $PATH löschen

chris80

Newbie
Hallo zusammen,

ich weiß das es zu diesem Thema etliche beiträge gibt. habe auch schon einige durchforstet. nur leider hilft mir das alles nicht weiter.

Ich möchte gerne einige Pfade löschen. D.h. es sollen einträge aus der $PATH verschwinden? Ich frage mich in welcher Datei diese Pfade gespeichert sind.
Die meisten sagen, /etc/profile aber da steht super viel drin nur nicht exakt das was ich mit echo $PATH ausgegeben bekomme. In der /~/profile steht sehr wenig drin, nur nicht meine Pfade
Code:
# Sample .profile for SuSE Linux
# rewritten by Christian Steinruecken <cstein@suse.de>
#
# This file is read each time a login shell is started.
# All other interactive shells will only read .bashrc; this is particularly
# important for language settings, see below.

test -z "$PROFILEREAD" && . /etc/profile

# Most applications support several languages for their output.
# To make use of this feature, simply uncomment one of the lines below or
# add your own one (see /usr/share/locale/locale.alias for more codes)
#
#export LANG=de_DE.UTF-8        # uncomment this line for German output
#export LANG=fr_FR.UTF-8        # uncomment this line for French output
#export LANG=es_ES.UTF-8        # uncomment this line for Spanish output


# Some people don't like fortune. If you uncomment the following lines,
# you will have a fortune each time you log in ;-)

#if [ -x /usr/bin/fortune ] ; then
#    echo
#    /usr/bin/fortune
#    echo
#fi

In der datei /~/.bashrc stehen nur kommentarzeilen außer eine die lautet:
Code:
test -s ~/.alias && . ~/.alias || true

Die Dateien /~/.bash_profile und /~.bash_login existieren bei mir nicht.

Was kann ich jetzt tun? In welcher datei stehen meine Pfade? Gibts da noch eine in der ich nachschauen könnte?
 
A

Anonymous

Gast
chris80 schrieb:
Die meisten sagen, /etc/profile aber da steht super viel drin nur nicht exakt das was ich mit echo $PATH ausgegeben bekomme.

Ganz so deutlich steht es dort natürlich nicht drin. Bei mir steht zB in der /etc/profile
#
# Make path more comfortable
#
if test -z "$PROFILEREAD" ; then
PATH=/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin
if test "$HOME" != "/" ; then
for dir in $HOME/bin/$CPU $HOME/bin ; do
test -d $dir && PATH=$dir:$PATH
done
fi
test "$UID" = 0 && PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH
for dir in /var/lib/dosemu \
/usr/games \
/opt/bin \
/opt/gnome/bin \
/opt/kde3/bin \
/opt/kde2/bin \
/opt/kde/bin \
/usr/openwin/bin \
/opt/cross/bin
do
test -d $dir && PATH=$PATH:$dir
done
unset dir
export PATH
fi
Das bedeutet ganz kurz ins Verständliche übersetzt.
# sollte es eine Loginshell sein, dann wie folgt
# setzte /usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin
# mache eine Unterscheidung wenn es ein login für Root ist und nimm dort noch einige Verzeichnisse mehr und setze diese davor.
# gehe einige typische Standardverzeichnisse für Binärdateien durch und wenn sie existieren, dann werden sie jeweils hinten dran gehängt.
# und dann die ganze Variable noch exportieren.

robi
 

regexer

Advanced Hacker
chris80 schrieb:
Die meisten sagen, /etc/profile aber da steht super viel drin nur nicht exakt das was ich mit echo $PATH ausgegeben bekomme.
Also in meiner /etc/profile wird ziemlich viel mit PATH hantiert. PATH wird hierbei mehrmals editiert, in etwa in der Form, wie es bereits robi geschrieben hat. Hast du schon mal innerhalb der /etc/profile nach dem unerwünschten Eintrag gesucht? Ansonsten musst du denke ich dieses Script mal durchgehen und dir auch die Verzweigungen in andere Scripte ansehen.

Bei mir steht in Zusammenhang mit PATH z.B. noch ein kleiner Hinweis auf /etc/initscript und /etc/profile.local drin...
 
Setz doch PATH ganz neu, basierend auf deinen Wünschen.
Code:
PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/lib/hxtools/bin:/usr/X11R6/bin:/opt/gnome2/bin:/opt/gnome/bin:/opt/kde3/bin"
reicht. Spiele (in /usr/games/bin) kann man auch ruhig mal mit vollständigen Pfad aufrufen, wenn man es denn von einem xterm aus macht.
 
OP
C

chris80

Newbie
Erstmal danke für eure antworten:

Ich habe immer noch nicht die Stelle gefunden an der der unerwünscht pfad steht, ich habe ja über die suchfunktion die Stelle suchen lassen aber die findet er nicht.

Klar, ich kann den PATH neu setzen aber ich will das ja dann dauerhaft gültig machen und dazu muss das ganze in eine datei schreiben und gerade DIE finde ich ja nicht.

Hat jemand noch ein Tipp für mich?

Was macht man nochmal mit EXPORT?
 

panamajo

Guru
chris80 schrieb:
Ich habe immer noch nicht die Stelle gefunden an der der unerwünscht pfad steht, ich habe ja über die suchfunktion die Stelle suchen lassen aber die findet er nicht.
Evtl. /etc/bash.bashrc oder $HOME/.bashrc oder $HOME/.profile
 
OP
C

chris80

Newbie
Also bei mir steht es wohl in der /etc/.profile aber leider in etwas kryptischer form. außerdem bekomme ich beim ändern der Datei einen fehler wenn ich die Änderung speichern will. ist die schreibgeschüzt? Wenn ja, wiie entferne ich den?
 
A

Anonymous

Gast
chris80 schrieb:
Also bei mir steht es wohl in der /etc/.profile aber leider in etwas kryptischer form. außerdem bekomme ich beim ändern der Datei einen fehler wenn ich die Änderung speichern will. ist die schreibgeschüzt? Wenn ja, wiie entferne ich den?

Deinen Antworten lassen doch vermuten, dass es bei dir hier und da doch noch einige kleinere Wissenslücken in den Grundlagen zu geben scheint, obendrein scheinst du keine "normal konfigurierte" Distibution zu haben.
Ich würde dir wärmstens empfehlen, wenn die globalen Konfigurationsdateien funktionieren, dann lass sie in Ruhe und setze die PATH Variable in den Homeverzeichnissen der User in der ~/.profile am Ende ganz neu, so wie es jengelh vorgeschlagen hat. Dann einmal komplett abmelden und wieder anmelden und das funktioniert dann auch bis in alle Ewigkeit.

robi
 
OP
C

chris80

Newbie
klar, weiß ich noch nicht soviel über die Thematik deswegen frag ich ja, wenn ich alles wissen würde bräuchte ich ja nicht zu fragen :wink:

Aber danke für den Tipp jetzt funktioniert es auch.
 
Oben