[Gelöst] Probleme mit $PATH

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Rudolph007
Beiträge: 15
Registriert: 07.10.2005 14:18:05

[Gelöst] Probleme mit $PATH

Beitrag von Rudolph007 » 29.03.2006 02:15:36

Hallo Ihr,

seit ich nun endlich meine ATI X700 Pro ans laufen bekommen hab (siehe http://www.debianforum.de/forum/viewtopic.php?t=64836 treten folgende Probs auf:

Kann über modconf keine module einbinden, da er Fehler bei modprobe und depmod ausspuckt.
Also wollte ich mal mit

Code: Alles auswählen

apt-get --reinstall install module-init-tools
das Paket nochmal "drüberinstallieren"
->Fehlermeldung:

Code: Alles auswählen

dpkg: "ldconfig" wurde im PATH nicht gefunden
dpkg: "start-stop-daemon" wurde im PATH nicht gefunden.
Vorweg gesagt, es liegen alle genannten Programme in /sbin!
Denke es liegt an folgendem Fehler:
wenn ich echo $PATH ausgebe bekomme ich folgende Meldung:

Code: Alles auswählen

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/ sbin:/bin:/usr/bin/X11
Bei /sbin steht ein Leerzeichen welches in der Datei /etc/profile nicht steht!!!
Wie bekomme ich dieses weg? Bin nämlich recht sicher, dass es daran liegt denn bei dem Befehl

Code: Alles auswählen

$PATH
bekomme ich genau an der Stelle die entsprechende Meldung:

Code: Alles auswählen

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/ kann Verzeichnis/Datei nicht finden
Hab versucht die /etc/profile mit nano per Hand umzu editieren, bekomme aber das Leerzeichen nicht raus...

Danke schonmal,
Rudolph
Zuletzt geändert von Rudolph007 am 30.03.2006 05:44:19, insgesamt 3-mal geändert.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von rendegast » 29.03.2006 03:45:32

Hallo,

dumme Frage(?): Hast Du /etc/profile als root editiert?

Wichtigere Frage: Wie kommt das Leerzeichen da rein?

Rudolph007
Beiträge: 15
Registriert: 07.10.2005 14:18:05

Beitrag von Rudolph007 » 29.03.2006 14:38:22

Hi,

Also hab mal folgendes probiert:
Hab einfach PATH="/var/...." eingegeben und gut wars.. ABER:

Edit: Hab grad gesehen, dass nach nem reboot die $PATH wieder zurückgesetzt wird..
Mit welchem Befehl kann ich sie DAUERHAFT überschreiben??

Danke schonmal,
Rudolph

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von rendegast » 29.03.2006 15:13:41

Rudolph007 hat geschrieben:Hab einfach PATH="/var/...." eingegeben und gut wars.. ABER:
Edit: Hab grad gesehen, dass nach nem reboot die $PATH wieder zurückgesetzt wird..
naja, eine solche Aenderung betrifft nur den aktuellen Login. Das siehst Du auch bei einem neuen Einloggen.
Mit welchem Befehl kann ich sie DAUERHAFT überschreiben??
Kopiere doch mal die /etc/profile, zBsp nach /etc/profile.tmp. Diese wird korrigiert, dann /etc/profile geloescht und /etc/profile.tmp nach /etc/profile umbenannt.
(Die Idee waere. dass /etc/profile auf einem kaputten Sektor sitzt)
Anderer Workaround: Trage den richtigen Pfad (temporaer) in die /etc/bashrc oder ~/.bashrc ein, moeglichst weit oben.
Kannst Du ueberhaupt etwas in der /etc/profile aendern? Versuche mal einen Kommentar abzuspeichern.

rendegast hat geschrieben:Wichtigere Frage: Wie kommt das Leerzeichen da rein?
Wenn die bash installiert wird, wird ein
'install_from_default /usr/share/base-files/profile /etc/profile'
durchgefuehrt. Ist diese in Ordnung? (Vielleicht war das bash-Paket kaputt?)
Mach doch mal eine Volltextsuche in /etc, und zwar nach "/etc/profile".
(Hier ist die Idee, vielleicht ein Skript zu finden, das auf die /etc/profile schreibend zugreift)

In den Startskripten Punkte zu setzen

Code: Alles auswählen

cat /etc/profile > /etc/tmp/profile.X
(X=1,2,3,4,....)
um herauszubekommen, wann die Aenderung auftaucht, bzw. sie "restauriert" wird.

'lsattr /etc/profile' ?, ACL?
(vielleicht hast Du root von Aenderungen ausgeschlossen ?)
ROOTKIT ???

Rudolph007
Beiträge: 15
Registriert: 07.10.2005 14:18:05

Beitrag von Rudolph007 » 29.03.2006 17:27:45

Hallo Du,
Kopiere doch mal die /etc/profile, zBsp nach /etc/profile.tmp. Diese wird korrigiert, dann /etc/profile geloescht und /etc/profile.tmp nach /etc/profile umbenannt.
(Die Idee waere. dass /etc/profile auf einem kaputten Sektor sitzt)
Nö hat leider nichts gebracht (außerdem ist der Pfad in der /etc/profile ja auch richtig, nur wenn ich ihn mit echo $PATH auslese bekomme ich das Leerzeichen).
Anderer Workaround: Trage den richtigen Pfad (temporaer) in die /etc/bashrc oder ~/.bashrc ein, moeglichst weit oben.
Meinst Du damit ich soll einfach in die /etc/bashrc

Code: Alles auswählen

PATH="/var/local/sbin:/var/local/bin:/var/sbin:/var/bin:/sbin:/bin:..." 
irgendwo oben eintragen, egal wo?
Kannst Du ueberhaupt etwas in der /etc/profile aendern? Versuche mal einen Kommentar abzuspeichern.
Ja ich kann editieren und die Änderungen abspeichern.
Wenn die bash installiert wird, wird ein
'install_from_default /usr/share/base-files/profile /etc/profile'
durchgefuehrt. Ist diese in Ordnung? (Vielleicht war das bash-Paket kaputt?)
Ist ebenfalls OK.
Mach doch mal eine Volltextsuche in /etc, und zwar nach "/etc/profile".
(Hier ist die Idee, vielleicht ein Skript zu finden, das auf die /etc/profile schreibend zugreift)
Denke das ist ist beste Lösung, muss ich noch weiter testen...
ist hier

Code: Alles auswählen

find /etc "/etc/profile"
der richtige Befehl?? (bin noch NOOB :? )
In den Startskripten Punkte zu setzen

Code: Alles auswählen

cat /etc/profile > /etc/tmp/profile.X
(X=1,2,3,4,....)
um herauszubekommen, wann die Aenderung auftaucht, bzw. sie "restauriert" wird.
In welche Startskripte würdest Du den Befehl einbauen? (Sorry für die Unkenntnis)
Hilft es wenn ich Dir sage, dass das Problem aufgetreten ist nachdem ich mit aptconfig meinen fglrx-Treiber und damit xfce ans laufen bekommen hab?
'lsattr /etc/profile' ?
gibt "1 /etc/profile" aus
ACL? (vielleicht hast Du root von Aenderungen ausgeschlossen ?)
Glaub ich nicht, aber ich schau mal nach.
ROOTKIT ???
Wieß nicht was Du damit meinst, aber reicht es wenn ich sagen kann, dass ich noch keine Verbindung zum Internet hatte/habe?

Danke schonmal für Deine Mühen!!!
Gruß,
Rudolph

Benutzeravatar
seep
Beiträge: 544
Registriert: 31.10.2004 14:21:08
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: HSK

Re: Probleme mit $PATH

Beitrag von seep » 29.03.2006 17:43:08

Rudolph007 hat geschrieben:Hab versucht die /etc/profile mit nano per Hand umzu editieren, bekomme aber das Leerzeichen nicht raus...
Ist es denn überhaupt ein Leerzeichen oder handelt es sich vielleicht um ein Zeichen, das im Editor wie ein Blank aussieht aber in Wahrheit etwas anderes ist bzw. ein Zeichen, das nano Dir nicht anzeigt der echo-Befehl aber sehrwohl?

Tipp: Um zu sehen, welche Dateien alle in einem Verzeichnis den PATH exportieren, führe folgendes Kommando aus:

Code: Alles auswählen

grep -l "export.*\ PATH" *
Um auch in "versteckten Dateien" zu suchen, noch ein Leerzeichen und ein ".*" (Punkt-Stern) anfügen.

JPT
Beiträge: 96
Registriert: 09.03.2006 17:46:20
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von JPT » 29.03.2006 17:54:31

Mit

Code: Alles auswählen

export PATH= ...
kannst du den Path auch noch einmal neu setzen.
(Ohne Leerzeichen abtippen)

Rudolph007
Beiträge: 15
Registriert: 07.10.2005 14:18:05

Beitrag von Rudolph007 » 29.03.2006 19:01:18

Hallo an Alle,

@JPT: Die Lösung funktioniert leider nur bis zum nächsten login

wenn ich im Verzeichnis /etc/init.d/ den Befehl

Code: Alles auswählen

grep -l "export.*\ PATH" * .*
ausführe erhalte ich 2 Treffer:
1. in Skript rc:

Code: Alles auswählen

PATH=/sbin:/bin:/usr/sbin:/usr/bin
export PATH
2. in Skript xprint:

Code: Alles auswählen

export PATH=/usr/bin:/bin:/usr/sbin:/sbin
Danke für den Tipp mit dem Befehl!
Leider bringt mich das jetzt noch nicht viel weiter oder?

Hab die Datei /etc/profile jetzt mit nano, vi und nem xfce-Texteditor geöffnet und in allen 3 wird der PATH richtig, also ohne Leerzeichen angezeigt.

Bin weiterhin für jede Hilfe dankbar!!!

Gruß und Dankeschön,
Rudolph

Benutzeravatar
seep
Beiträge: 544
Registriert: 31.10.2004 14:21:08
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: HSK

Beitrag von seep » 29.03.2006 19:47:25

Der Pfad kann noch an allen möglichen Stellen verändert werden, bitte nicht hauen, wenn ich da jetzt teilweise daneben liege: im Home (.bashrc, .bash_profile, .profile), in den rc*_Scripten (/etc/rc2.d), in den X-Startup-Scripts, im User-Environment von KDE, Gnome etc.

Bevor Du nun jede Datei auf Deinem Rechner nach "/ sbin" durchsuchst, vielleicht erst einmal gegengefragt: ist der Pfad generell schon verstellt oder aber erst nach Öffnen einer Login-Shell? Anders gefragt: Äußert sich das Problem erst in geöffneten (virtuellen) Konsolen nach einem Login oder spielen auch schon Hintergrundprozesse verrückt?

Rudolph007
Beiträge: 15
Registriert: 07.10.2005 14:18:05

Beitrag von Rudolph007 » 30.03.2006 05:46:43

So liebe Leute,

mir hats jetzt gereicht und hab einfach rekursiv die /etc nach "/ sbin" durchsucht und den Fehler in

Code: Alles auswählen

/etc/X11/xdm/xdm-config
gefunden.
Ich bedanke mich ganz herzlich bei allen die mir geholfen haben!!! :P

Gruß,
Rudolph

Antworten